На
главную страницу
Описание
Stop и Start заявок:
Обычно авто-трейдинговая система начинает
работать с началом обновления данных в Метастоке
во время торгов. Но применение 'Stop' и 'Start' заявок
позволяет "выключать" и "включать"
авто-трейдинг для заданного портфеля и рынка
в заданное время в течении дня, причем
таких заявок для одной бумаги может быть
несколько. Выключение делается в заданное время
автоматическим созданием Stop-файла, блокирующего
в дальнейшем работу с отключенным
портфелем и рынком, до тех пор пока этот Stop-файл
не будет удален Start-заявкой (или
вручную). Эта заявка не изменяет позиции в
портфеле и не выводит портфель в кэш, а просто
приостанавливается авто-трейдинг с ним,
поскольку стартующие модули, обнаруживая этот
файл прекращают работу.
Пример названия Stop-файла для рынка ММВБ и
портфеля "1234-000": "StopMICEX_SHR1234-000".
Start-Stop заявки не совершают никаких действий с
портфелем и с очередью активных заявок, а только
создают или удаляют в заданное время
Stop-файл в метастоковском каталоге '\External Function DLLs',
чтобы после этого времени авто-трейдинг
автоматически останавливался, либо
возобновлялся.
Сочетанием Start-Stop заявок можно задать нужные
интервалы для автоматической торговли в течении
дня.
ВНИМАНИЕ: поскольку сигналы
авто-трейдинговой системы создаются ТОЛЬКО при
обновлении данных в Метастоке, то задавать время
заявок, в которое НЕ ПРОИСХОДИТ ОБНОВЛЕНИЯ
ДАННЫХ в Метастоке НЕ РЕКОМЕНДУЕТСЯ, т.к. такие
заявки НЕ БУДУТ срабатывать.
Например, вы поставили Start-заявку на 9-45 мск, но
такая заявка не сработает, т.к данные в Метастоке
начнут ообновляться только с началом торговой
сессии в 10-00, поэтому Start-заявку нужно поставить
на 10-00 мск.
Для Stop-заявки надо в параметрах
функции MoveMICE_SHR (или MoveFORTS) задать параметр
'ВидЗаявки' равным 'Stop' и ввести нужные
значения часов ЧЧ и минут ММ серверного
времени, при наступлении которого будет создан
Stop-файл. Часы задаются целым числом в
параметре Stop%, а минуты - в
параметре Add%Stop. Хотя здесь
используются параметры обычно задаваемые для
стопов, но Stop-заявка не создает никаких
стопов, а указанные параметры используются
только для указания серверного времени
АД-терминала, при достижении которого сработает
процедура создания Stop-файла в
метастоковском каталоге '\External Function DLLs'
(пример Stop-заявки: FNull:=False OR
ExtFml("Borisoff.MoveMICEX_SHR","1234-000",0,0,Stop,15,Simple,25,False,1);
Эта заявка создает Stop-файл в 15:25 для портфеля
'1234-000' для блокировки авто-трейдинга.
^
^
^
|
|
|
портфель
часы минуты
Для Start-заявки надо в параметрах функции
MoveMICE_SHR (или MoveFORTS) задать параметр 'ВидЗаявки'
равным 'Start' и ввести нужные значения
часов ЧЧ и минут ММ серверного
времени. Часы задаются целым числом в
параметре Stop%, а минуты - в
параметре Add%Stop. Хотя здесь
используются параметры обычно задаваемые для
стопов, но Start-заявка не создает никаких
стопов, а указанные параметры используются
только для указания серверного времени
АД-терминала, при достижении которого сработает
процедура удаления Stop-файла в
метастоковском каталоге '\External Function DLLs' для
заданного портфеля.
(пример Start-заявки: FNull:=False OR
ExtFml("Borisoff.MoveMICEX_SHR","1234-000",0,0,Start,12,Simple,45,False,1);
Эта заявка удаляет Stop-файл в 12:45 для портфеля
'1234-000' для начала авто-трейдинга.
^
^ ^
|
|
|
портфель
часы минуты
По умолчанию, время срабатывания Start-Stop
заявок продляется еще на 1 минуту от
заданного времени срабатывания. Т.е. еще минимум
в течении 1 минуты от заданного времени
срабатывания, при каждом обновлении данных в
Метастоке, делается вызов Stop или Start процедуры,
если она по каким-либо причинам сразу не
запустилась в заданное время.
Stop и Start заявки можно прописывать вместе в
одном индикаторе, и таких заявок может быть
несколько, чтобы нужным образом задать интервалы
времени для авто-трейдинга в течении торговой
сессии. Например, можно с началом торгов подать
Stop-заявку для приостановки авто-трейдинга, затем
в 12 часов запустить Start-заявку, заработает
авто-торговля, далее в 14 часов можно снова
выключить авто-трейдинг и включить его уже в 17
часов.
ВНИМАНИЕ: если авто-трейдинг отключен
LOCK-файлом, то авто-трейдинг Start-заявкой
включаться НЕ БУДЕТ. Start-Stop-заявки на LOCK-файл
не влияют.
Пример StopStart - строки
в Советнике:
StopH:=23; {часы ОТКлючения
авто-трейдинга}
StopM:=00; {минуты ОТКлючения авто-трейдинга}
StartH:=10; {часы ВКЛючения авто-трейдинга}
StartM:=29; {минуты ВКЛючения авто-трейдинга}
FLast:=LastValue(Cum(1))=Cum(1);
FNull:=If(FLast, {ОТКлючаем авто-трейдинг в 23-00ч}
ExtFml("Borisoff.MoveMICEX_SHR","12345-000",0,0,Stop,StopH,Simple,StopM,False,0),False);
FNull1:=If(FLast, {ВОЗобновляем авто-трейдинг в 10-29ч}
ExtFml("Borisoff.MoveMICEX_SHR","12345-000",0,0,Start,StartH,Simple,StartM,False,0),False);
False;