- MetaTrader 5 для ваших инвесторов
- Где купить торгового робота и индикатор для MetaTrader 5
- Исполнение по запросу - Открытие и закрытие позиций - Торговля - MetaTrader 5 для iPhone
я начинаю познавать язык MQL5 и мне нужна ваша помощь. ни где не могу найти. Мне нужно, чтобы эксперт закрывал позицию каждую минуту, как это написать в метаэдиторе, подскажите пожалуйста. В заранее спасибо
Можно так
if(MathMod(TimeCurrent(),60)==0) { код закрытия позиции }
Можно так
а если тиков не будет в 0 секунду? :-)
лучше так
или через таймер
int timecheck=0;
datetime iTime(string symbol,int tf,int index)
{
if(index < 0) return(-1);
ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
datetime Arr[];
if(CopyTime(symbol, timeframe, index, 1, Arr)>0)
return(Arr[0]);
else return(-1);
}
int start() { if(timecheck!=iTime(Symbol(),PERIOD_M1,0)) { // Закрываем позиции timecheck=iTime(Symbol(),PERIOD_M1,0); } return(0); }
а если тиков не будет в 0 секунду? :-)
лучше так
или через таймер
'iTime' - function not defined эксперт 5.3.6.7.mq5 180 21
а если тиков не будет в 0 секунду? :-)
лучше так
или через таймер
Можно тогда через локальное время, оно вроде не зависит от тиков
if(MathMod(TimeLocal(),60)==0) { код закрытия позиции }
Можно тогда через локальное время, оно вроде не зависит от тиков
empty controlled statement found эксперт 5.3.6.7.mq5 175 33
пустой контролируемый оператор.
int timecheck=0; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ datetime iTime(string symbol,int tf,int index) { if(index < 0) return(-1); ENUM_TIMEFRAMES timeframe=TFMigrate(tf); datetime Arr[]; if(CopyTime(symbol,timeframe,index,1,Arr)>0) return(Arr[0]); else return(-1); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { if(timecheck!=iTime(Symbol(),PERIOD_M1,0)) { // Закрываем позиции timecheck=iTime(Symbol(),PERIOD_M1,0); } return(0); } //+------------------------------------------------------------------+
а если тиков не будет в 0 секунду? :-)
лучше так
или через таймер
//-- Обявить на глобальном уровне datetime timecheck; datetime time[1]; //-------------------------- // это пишем в OnTick() или OnTimer() if(CopyTime(_Symbol,PERIOD_M1,0,1,time)>0) { if(timecheck!=time[0]) { timecheck==time[0]; код закрытия позиции } } //---------------------
да, что такое. все исправил и вылезло 5 предупреждений, которые не относятся к данному роботу, а к каким то индикаторам, но из за них робот работает не корректно, я запустил тест по истории и он вообще сделки закрывает только по тейк и стопу
declaration of 'time' hides global declaration in file '5.3.6.7.mq5' at line 11 Indicators.mqh 310 53
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования