AutoTrade Pro API служит для взаимодействия внешних систем технического анализа (ТА) с программой AutoTrade Pro и представляет собой библиотеку (ETAPI.dll) со следующими экспортируемыми функциями:
bool et_sendmp(LPSTR SymbolName, LPSTR Id_Strategy, LPSTR WorkSpace, int MarketPosition, int OldMarketPosition, double DateTime, double FillPrice, int Destination);
bool zmq_sendmp(LPSTR ServerIP, LPSTR SymbolName, LPSTR Id_Strategy, LPSTR WorkSpace, int MarketPosition, int OldMarketPosition, double DateTime, double FillPrice);
Параметры функций #
SymbolName – имя тикера инструмента;
Id_Strategy – имя стратегии;
WorkSpace – имя рабочей области;
ServerIP – адрес сервера в формате “tcp://hostip:port”;
MarketPosition – текущая рыночная позиция;
OldMarketPosition – предыдущая рыночная позиция;
DateTime – текущее время;
FillPrice – цена;
Destination – место назначения (0 – EasyTrade, 1 – AutoTrade).
Применение #
et_sendmp позволяет отправлять сигналы из систем ТА в программу AutoTrade Pro только на локальном рабочем месте.
zmq_sendmp позволяет отправлять сигналы из систем ТА в программу AutoTrade Pro расположенную на локальном или сетевом рабочем месте по средством протокола TCP/IP.
Для использования следует подключить в своем проекте требуемую экспортируемую функцию. В случае успешного выполнения функция возвращает true, в противном случае false.
Пример #
Ниже приведен пример на языке EasyLanguage.
inputs: id_strategy("STR1"), workspace("q"), srvip("tcp://localhost:5555");
var: fillprice(0);
vars: recalcpersist mp(0);
vars: recalcpersist oldmp(0);EXTERNAL: "C:\AutoTrade\ETAPI\ETAPI.dll", bool, "et_sendmp" , LPSTR, LPSTR, LPSTR, int, int, double, double, int;
EXTERNAL: "C:\AutoTrade\ETAPI\ETAPI.dll", bool, "zmq_sendmp", LPSTR, LPSTR, LPSTR, LPSTR, int, int, double, double;
mp = marketposition;
if LastBarOnChart and mp <> oldmp then begin
if mp = 0 then fillprice = exitprice(1) else fillprice = entryprice;
if getappinfo(aiRealTimeCalc) = 1 then
et_sendmp(symbolname, id_strategy, workspace, mp , oldmp, datetime , fillprice, 1);
//zmq_sendmp(srvip, symbolname, id_strategy, workspace, cc, oldcc, datetime, fillprice);
oldmp = mp;
end;