Setup before start

Nhúng (embled) thư viện eCode vào robot của bạn

#property copyright "eCodePro"
#property link      "www.ecode.pro"
#property version   "1.00"

#include ".\\eCodeHeader.mqh"

Hãy chắc chắn bạn đã kết nối thư viện thành công, cú pháp để kết nối thư viện là #include “.\\eCodeHeader.mqh”

Tạo ra các biến input ban đầu

input group "Robot Initital Setup"
input ulong ipMagic             = 0;        //Magic number
input bool   ipShowButtons = false;   //Show buttons?

Tạo ra 2 biến là ipMagic ipShowButtons như đoạn mã trên (ip là chữ viết tắt của input)

Nguyên tắc sử dụng eCode

Luôn sử dụng _Symbol và ipMagic

  • _Symbol – người dùng khai báo _Symbol để hệ thống eCode cấp quyền cho phép robot quản lý các thông tin, quản lý các lệnh, xử lý các lệnh liên quan đến symbol (mã giao dịch) mà robot đang được gán lên chart.
  • ipMagic – người dùng khai báo ipMagic tại phần input để hệ thống phân biệt được số magic mà nó cần quản lý, số magic rất quan trọng, nó giúp robot phân biệt được các lệnh mà người dùng vào bằng tay (manual trade), các lệnh mà robot khác vào, thậm chí các lệnh mà chính robot đó vào nhưng với các chiến thuật khác nhau. Số magic luôn là số nguyên dương, các lệnh vào bằng tay sẽ mặc định là số 0, nếu bạn không muốn robot can thiệp vào các lệnh vào bằng tay của bạn thì hãy để ipMagic là một số > 0

Luôn sử dụng dấu chấm để rẽ nhánh đi đến các hàm chức năng trong eCode

Thư viện lập trình giao dịch tự động eCodePro là một thư viện đóng, nó yêu cầu người dùng phải hiểu và theo tác chính xác tuyệt đối từng cú pháp, từng đối số, từng dấu chấm dấu phẩy, chính xác từng kiểu dữ liệu (int, double, ORDER_TYPE, PRICE_TYPE, …). Vì vậy, khi sử dụng thực hành code robot giao dịch tự động người dùng nên:

  • Sử dụng dấu chấm theo gợi ý để rẽ nhánh đi đến các hàm chức năng chuyên biệt (ví dụ eCode.trade để đi tới các hàm giao dịch mua/bán)
  • Sử dụng phím lên/xuống để tìm đến các nhánh hoặc các hàm chuyên biệt, lựa chọn bằng cách bấm Enter (ví dụ eCode.trade. hệ thống sẽ xổ xuống các lựa chọn như: _, buy, bst, blm, sel, sst, slm, dùng mũi tên xuống để chọn vào sel, lựa chọn sel là hệ thống sẽ tự động mở ra cú pháp eCode.trade.sel(), hàm này cho phép vào lệnh Sell)

Luôn điền đầy đủ các phần yêu cầu của input parameters

Nguyên tắc không bắt buộc phải nhập vào các input parameters

Nguyên


eCode – Essential Functions

eCode._getData

Get trade data at current time

eCode._getTradeData(string symbol, ulong magic);

Trong đó:

  • string symbol: nhập vào _Symbol để báo cho hệ thống biết lấy thông tin trade liên quan đến Symbol tại Chart mà Robot được gán vào.
  • ulong magic: nhập vào ipMagic để báo cho hệ thống biết lấy thông tin liên quan đến số magic được xác định tại phần input.

Chức năng của _getData

Lấy dữ liệu giao dịch (trade data) tại thời điểm nhất định, dữ liệu trả về được cập nhật tại eCode.count eCode.read nằm trong eCode._updateData

Ứng dụng của _getTradeData

Sử dụng eCode._getTradeData(_Symbol, ipMagic); một lần duy nhất tại dòng đầu tiên trong OnInit nhằm mục đích lấy dữ liệu giao dịch (trade data) tại thời điểm kéo robot vào chart. Tất cả các dữ liệu liên quan đến các vị thế (positions) và các lệnh chờ (pending orders) sẽ được robot nạp vào eCode.counteCode.read và có thể sử dụng ngay sau đó tại chính OnInit hoặc OnTimer hoặc OnTick hoặc bất kỳ các Functions nào.

int OnInit() {
   eCode._getTradeData(_Symbol,ipMagic);
   EventSetTimer(1);
   return(INIT_SUCCEEDED);
}

Để hiểu rõ hơn vui lòng đi tới phần eCode._updateData

eCode._updateData

Update real-time Trade data, Account data, and Symbol data

eCode._updateData(_Symbol, ipMagic);

Hàm này tự động cập nhật theo thời gian thực (update real-time) tất cả các dữ liệu liên quan đến dữ liệu giao dịch (Trade data), thông tin tài khoản (Account), và thông tin Symbol

  • Update real-time Account data – Cập nhật theo thời gian thực tất cả các thông tin liên quan đến tài khoản (balance, equity, margin used, margin level, margin free, margin stop-out, margin call, floating account profit … ). Sử dụng cú pháp eCode.acc. để lấy ra các thông tin liên quan đến Account.
  • Update real-time Symbol data – Cập nhật theo thời gian thực tất cả thông tin liên quan đến Symbol (giá Bid, giá Ask, Spread, volume mix, volume max, volume step, tick size, tick value, point, digit, trade mode, …). Sử dụng cú pháp eCode.sym. để lấy ra các thông tin liên quan đến Symbol.
  • Update real-time Trade data – Cập nhật theo thời gian thực tất cả các thông tin liên quan đến dữ liệu giao dịch
    • Thông tin liên quan số lượng lệnh (đếm lệnh/counting) – Sử dụng cú pháp eCode.count. để lấy ra số lượng lệnh tương ứng, trong đó:
      • eCode.count.buy – Tổng lệnh Buy
      • eCode.count.sel – Tổng lệnh Sell
      • eCode.count.bst – Tổng lệnh chờ Buy Stop
      • eCode.count.sst – Tổng lệnh chờ Sell Stop
      • eCode.count.blm – Tổng lệnh chờ Buy Limit
      • eCode.count.slm – Tổng lệnh chờ Sell Limit
    • Thông tin chi tiết từng lệnh (đọc lệnh/reading) – Sử dụng cú pháp eCode.read. để đọc thông tin chi tiết từng lệnh theo vị trí (index)
      • Đối với các lệnh có vị thế (positions buy, position sell)
        • comment – ghi chú vào lệnh
        • id – mã id vào lệnh
        • magic – số magic của lệnh
        • plPoints – lời/lỗ của lệnh (tính theo points)
        • price – giá vào lệnh
        • profit – lời/lỗ của lệnh (tính theo số tiền)
        • reason – platform người dùng vào lệnh (vào theo MT5 PC, MT5 mobile, MT5 Web)
        • sl – giá SL
        • slPoints – khoảng cách giữa giá SL và giá vào lệnh (tính theo Points)
        • swap – phí swap
        • symbol – mã giao dịch
        • ticket – mã ticket (mã số giao dịch)
        • timeEntry – giờ vào lệnh (yyyy/mm/dd hh:mm:ss)
        • timeMSC – thời gian khớp lệnh, lấy chính xác tới con số 1/1.000.000 giây (một phần triệu giây)
        • tp – giá take profit
        • tpPoints –
      • Đối với các lệnh chờ (pending orders)
eCode.acc

Account data – Auto update real-time from eCode._updateData

eCode.sym

Symbol data – Auto update real-time from eCode._updateData

eCode.count

Counting total positions & total orders – Auto update real-time from eCode._updateData


eCode Candle


eCode Indicator


×

    GET FREE LICENSE
    Apply to use eCodePro library for create your own trading robot