AutoTrade

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);

int IsFutLastDay(LPSTR SymbolName, double DateTime, int DaysBefore);

Параметры функций #

SymbolName – тикер инструмента;

Id_Strategy – имя стратегии;

WorkSpace – имя рабочей области;

ServerIP – адрес сервера в формате “tcp://hostip:port”;

MarketPosition – текущая рыночная позиция;

OldMarketPosition – предыдущая рыночная позиция;

DateTime – время;

FillPrice – цена;

Destination – место назначения (0 – EasyTrade, 1 – AutoTrade);

DaysBefore – количество дней до экспирации (фьючерса).

Применение #

et_sendmp позволяет отправлять сигналы из систем ТА в программу AutoTrade Pro только на локальном рабочем месте.

zmq_sendmp позволяет отправлять сигналы из систем ТА в программу AutoTrade Pro расположенную на локальном или сетевом рабочем месте по средством протокола TCP/IP.

В случае успешного выполнения функции возвращают true, в противном случае false.

IsFutLastDay позволяет определить является ли запрашиваемая дата, датой экспирации фьючерса. Параметр DaysBefore служит для указания количества дней до экспирации (смещение), для вывода результата с учетом указанного смещения (параметр указывается со знаком “-“, т.е. например “-2” означает два дня до экспирации). Функция может возвращать следующие значения: “0” – нет, “1” – да, “-1” – не определен.

Для использования следует подключить в своем проекте требуемую экспортируемую функцию.

Примеры #

Ниже приведены примеры на языке 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;

EXTERNAL: "C:\AutoTrade\ETAPI\ETAPI.dll", int, "IsFutLastDay", LPSTR, double, int;

var: b(0);
if d > d[1] then begin
b = IsFutLastDay(symbolname, datetime, -2);
if b = 1 then print(d, t, " b: ", 1);
end;

Скачать ETAPI.dll

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies  View more
Ок