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

Описание алгоритма работы функции MoveMICEX_SHR (MoveFORTS, MoveRTS_STANDARD) и модуля MoveOrderADirect3.exe:
         
  При загрузке Метастока установленная библиотека подключается к своему терминалу, к АД2 или к АД3. Если соответствующий терминал Альфа-Директ не запущен, он будет автоматически запускаться при старте Метастока и автоматически выгружаться при завершении работы Метастока. При каждом обновлении данных в Метастоке производится вычисление формул в Советниках для проверки на BuySell-сигнал. При появлении BuySell-сигнала срабатывает MoveMICEX_SHR (MoveFORTS) функция, в которой сначала проверяется истинность Buy- или Sell- условия для бара, c номером отсчитываемым от правого края графика (или номера тайм-фрейма, если график линейный). Если условие срабатывания функции MoveMICEX_SHR в указанном баре ложно, то функция завершается без формирования заявки в АДирект. Если условие в указанном баре истинно, то вызывается модуль MoveOrderADirect3.exe и далее начинается работа по формированию заявки в систему АльфаДирект. Если задать номер бара =0, то функция MoveMICEX_SHR будет вызвана сразу же, как только появится BuySell-сигнал на правом краю графика, при очередном обновлении данных в Метастоке, если задать 1, то функция MoveMICEX_SHR будет вызвана, когда BuySell-сигнал появится на втором баре от правого края графика и т.д. (но, например, для ZigZag'а нулевой бар нельзя использовать). И пока не закончится работа по обработке текущей заявки для заданного рынка, портфеля и бумаги, новые аналогичные заявки не разрешаются. Разрешается одновременное формирование заявок по другим бумагам, для того же портфеля и рынка, или заявки по той же бумаге, но для другого рынка или портфеля
  При появлении сигнала на покупку/продажу сначала проверяются позиции в портфеле по заданной ЦБ. Если позиций по бумаге в портфеле совсем нет, то в очереди заявок 'деактивируются' все неисполненные торговые заявки и стоп-приказы для указанных в заявке рынка, портфеля и бумаги (заявки и стопы других бумаг и портфелей остаются) и формируется новая заявка. Если такая позиция уже есть, то новая заявка не создается. Если имеющаяся позиция в портфеле меньше, заданной в параметре  (-MaxQuantInPortfel) максимальной доли этой бумаги в портфеле, то производится дозакупка (или допродажа для шортов). Если имеющаяся в портфеле позиция больше заданной в параметре MaxQuantInPortfel, то производится подача заявки для уменьшения имеющейся позиции до заданной в параметре (-MaxQuantInPortfel). Если есть противоположные позиции, т.е. шорты при Buy-сигнале, или лонги при Sell-сигнале (Over-ситуация), то в очереди заявок 'деактивируются' все неисполненные торговые заявки и стоп-приказы для выбранного рынка, бумаги и портфеля. Затем формируется новая заявка. При наличии в портфеле противоположных позиций, эти противоположные позиции будут учтены при формировании размера новой заявки так, чтобы помимо открытия новой позиции закрыть имеющиеся противоположные позиции. Получается открытие новых позиций с переворотом из старых (over-ситуация).
  При посылке заявки в АД-терминал включается контроль исполнения заявки. Если заявка исполнена и к заявке в функции MoveMICEX_SHR(MOveFORTS) также задан стоп, то после исполнения заявки производится выставление соответствующего стопа. Если заявка не исполнилась, то она удаляется по окончании времени контроля и соответственно стоп не создается. 
  Имеющиеся в портфеле позиции можно закрыть в любое время, если подать заявку, того же типа, что и имеющаяся в портфеле позиция, указав в параметрах заявки нулевой размер доли в портфеле. При этом из очереди заявок АД-терминала будут удалены и все активные заявки для данного инструмента, портфеля и рынка;
FNull:=IF( FSell,   ExtFml("Borisoff.MoveMICEX_SHR","1234-000",0,1,S,0,Simple,0,FSell,1), False);
  Предельное кол-во бумаг в заявке зависит от заданной максимальной доли этой бумаги в портфеле MaxQuantInPortfel. Но в демо-версии в заявке прописывается один лот (если есть противоположная позиция, то заявка выставляется на два лота), при этом количество ЦБ под управлением библиотеки и модуля автоматизации зависит только от возможностей компьютера трейдера.
                 

Hosted by uCoz