Нужна помощь. Как заставить советника закрывать все ордера в конце каждого дня.
mvaturf:
Нужна помощь. Как заставить советника закрывать все ордера в конце каждого дня.
Нужна помощь. Как заставить советника закрывать все ордера в конце каждого дня.
нужно встроить одну из функций работы советника по времени,
и добавить условие, если время больше 23 часов, использовать одну из функций Close_All
все через поиск можно найти
вот чей-то вариант сохранял
//+------------------------------------------------------------------+ //| Time control | //+------------------------------------------------------------------+ input group "Time control" input bool InpTimeControl = true; // Use time control input uchar InpStartHour = 10; // Start Hour input uchar InpStartMinute = 01; // Start Minute input uchar InpEndHour = 18; // End Hour input uchar InpEndMinute = 02; // End Minute //--- главная функция************************************************* bool TimeControlHourMinute(void) { if(!InpTimeControl) return(true); MqlDateTime STimeCurrent; datetime time_current=TimeCurrent(); if(time_current==D'1970.01.01 00:00') return(false); TimeToStruct(time_current,STimeCurrent); if((InpStartHour*60*60+InpStartMinute*60)<(InpEndHour*60*60+InpEndMinute*60)) // intraday time interval { /* Example: input uchar InpStartHour = 5; // Start hour input uchar InpEndHour = 10; // End hour 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 _ _ _ _ _ + + + + + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + + + + _ _ _ _ _ _ */ if((STimeCurrent.hour*60*60+STimeCurrent.min*60>=InpStartHour*60*60+InpStartMinute*60) && (STimeCurrent.hour*60*60+STimeCurrent.min*60<InpEndHour*60*60+InpEndMinute*60)) return(true); } else if((InpStartHour*60*60+InpStartMinute*60)>(InpEndHour*60*60+InpEndMinute*60)) // time interval with the transition in a day { /* Example: input uchar InpStartHour = 10; // Start hour input uchar InpEndHour = 5; // End hour 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 _ _ _ _ _ _ _ _ _ _ + + + + + + + + + + + + + + + + + + + _ _ _ _ _ + + + + + + */ if(STimeCurrent.hour*60*60+STimeCurrent.min*60>=InpStartHour*60*60+InpStartMinute*60 || STimeCurrent.hour*60*60+STimeCurrent.min*60<InpEndHour*60*60+InpEndMinute*60) return(true); } else return(false); //--- return(false); }
тут варианты закрытия
https://www.mql5.com/ru/forum/146423/page2#comment_47863135
в обоих случаях в шапке кода должно быть подключения класса
#include <Trade\Trade.mqh>
CTrade m_trade;
Как закрыть все ордера в конце дня
- 2013.08.20
- www.mql5.com
Здравствуйте! Поделитесь пожалуйста кодом) Нужно чтобы в конце каждого торгового дня закрывались все открытые ордера. Спасибо...
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь