На главную страницу

Описание доп.функций, передающих параметры из АД-терминала в Метасток:
          
В Dll-библиотеке версии v.59  появились новых функции, которые дают возможность передать в Метасток из АД-терминала несколько важных для автоматической торговли параметров. Это следующие функции:
       
ExtFml( "Borisoff.PositionAD( "Portfel", "TradeArea", "Tiker" ); передает в Метасток величину имеющейся позиции в АД-терминале для указанного портфеля, рынка и инструмента, из Таблицы "Позиции".
     
ExtFml( "Borisoff.EquityAD", "Portfel", "TradeArea" ); передает в Метасток имеющийся процент прибыли/убытка (П/У%) в целом для указанного портфеля и рынка, из Таблицы "Баланс по счетам".
   
ExtFml( "Borisoff.OpenINTEREST( "Tiker", "TradeArea" ); передает в Метасток текущую величину открытых позиций по указанному инструменту и рынку (из таблицы "Котировки" АД-терминала). Из-за наличия одинаковых тикеров на разных рынках добавлен уточняющий параметр "TradeArea".
       
ExtFml( "Borisoff.MinuteAD() ); передает в Метасток минуты времени текущей сессии АД-терминала.
     
ExtFml( "Borisoff.HourAD() ); передает в Метасток часы времени текущей сессии АД-терминала.

Т.е. теперь с помощью этих функций можно видеть и использовать значения данных параметров непосредственно в Советнике Метастока, что очень удобно для авто-торговли. Эти функции выдают текущее значение параметров в АД-терминале, т.е. без истории. Соответственно при выводе на график в Метастоке эти функции будут рисовать прямую линию (уровень), значение которой будет равно значению параметра в АД-терминале в данный момент.
Частота запроса данных из АД-терминала составляет раз в секунду, но обновление данных этих функций на графике зависит от частоты обновления данных Метастока при каждой новой СДЕЛКЕ НА БИРЖЕ, а не от времени! Т.е. если частота биржевых сделок большая, то обновление данных на графике (в Советнике) более частое, а если сделок мало, то соответственно частота обновления данных в Советнике меньше! С помощью функций MinuteAD() и HourAD(), сверяя текущее время АД-терминала и время бара, можно сделать управление сигналами Buy и Sell даже внутри бара, например, подавать заявки не сразу с началом нового бара, а спустя какое-то время, или наоборот, за какое-то время перед завершением текущего бара!

Примеры написания параметров функций в Метастоке (нужно обязательно получать значение функции через   LastValue):
      
PAD:=LastValue( ExtFml( "Borisoff.PositionAD", "12345-000", "FORTS", "RTSI-6.11" ) ); видим в Метастоке текущую позицию по RTSI-6.11 на ФОРТС в портфеле 12345-000;
EAD:=LastValue( ExtFml( "Borisoff.EquityAD", "12345-000", "FORTS" ) );
видим в Метастоке текущий %дневного профита/убытка на ФОРТС по портфелю 12345-000 которое показывается в данный момент в АД-терминале в таблице "Баланс по счетам", нужна открытая таблица;
OI:=LastValue( ExtFml( "Borisoff.OpenINTEREST", "RTSI-6.11", "FORTS" ) );
видим в Метастоке кол-во открытых позиций по RTSI-6.11 в котировках (текущий открытый интерес);
HAD:=LastValue( ExtFml( "Borisoff.HourAD" ) ); видим в Метастоке часы текущей сессии в АД-терминале (функция удобна для использования со Stop и Start-заявками);
MAD:=LastValue( ExtFml( "Borisoff.MinuteAD" ) ); видим в Метастоке минуты текущей сессии в АД-терминале (функция удобна для использования со Stop и Start-заявками);

Т.е. не рекомендуется сразу использовать эти функции в формулах, а нужно сначала через LastValue() присвоить значения этих функций переменным, и потом уже использовать в формулах только эти переменные.

Для пользования этими функциями скачайте из Раздела 2 этого сайта текущую версию файла Borisoff.Dll

Hosted by uCoz