пойдет. Ключевым здесь является то, что переменные статические: они не переинициализируются каждый раз - только при первом запуске эксперта.
Только, что Вы будете делать, если после завершения рабочего времени советника останутся ордера ? Вы их сопровождать не будете ? Стоп подтягивать или проверять не наступило ли условие закрытия ? Если планируете все руками, то ничего не нужно. Но сопровождение ордеров это на порядки более простая задача, чем обоснование точки входа/выхода и вполне логично "поручить" это компьютеру. Я набросал "рыбу" для этого случая.
Я немного уточню ситуацию: идет попытка создать некий эмулятор LimitStop ордера (не путать со StopLimit в МТ5); мне необходимо, что бы советник на следующем или текущем баре, при достижении ценой некого заданного Limit-уровня выставил Stop ордер (уровни limit, stop, TP, SL, sell\buy, expiration) задаются руками или снимаются с других индикаторов через iCustom (что не суть важно)....
Т.о. при задачи выставить SellLimitStop ордер:
staticdatetime expStartTime= 0;
staticdatetime expStopTime = 0;
if(expStartTime==0)
{
if (CurrentBar==true) // если советник может выставить ордер на текущем баре
expStartTime = Time[0];
else
expStartTime = Time[0]+Period()*60; // советник может выставить ордер на следующем баре
expStopTime = expStartTime+Period()*60;
}
datetime curTime = TimeCurrent();
// if(curTime<expStartTime || curTime>expStopTime) return(0); // представляется, что эта строка лишняя ??????????// -------------------------------------------------- Задаем торговые условияif (Sell==true && // Если задано выставление SellLimitStop ордера и ....
High[0]>Limit_s && // ... цена достигла Limit-уровня и ...
(curTime>=expStartTime && curTime<expStopTime)) // ... можно работать на этом баре...
Opn_S=true; // ... мы заявляем о возможности выставления SellStop-ордера ...// ... а далее - по tradingexpert.mq4, который // предназначен для использования в качестве примера в учебнике MQL4
// :)
Отсюда два вопроса, правильно ли: (1) моя мысль, изложенная выше, и (2) советник будет работать все время\при всех барах (сопровождение позиций и все такое...), но выставлять ордера он будет только на заданном баре???
Я немного уточню ситуацию: идет попытка создать некий эмулятор LimitStop ордера (не путать со StopLimit в МТ5); мне необходимо, что бы советник на следующем или текущем баре, при достижении ценой некого заданного Limit-уровня выставил Stop ордер (уровни limit, stop, TP, SL, sell\buy, expiration) задаются руками или снимаются с других индикаторов через iCustom (что не суть важно)....
Т.о. при задачи выставить SellLimitStop ордер:
Отсюда два вопроса, правильно ли: (1) моя мысль, изложенная выше, и (2) советник будет работать все время\при всех барах (сопровождение позиций и все такое...), но выставлять ордера он будет только на заданном баре???
Если в заданное время уровень будет достигнут, то можно сделать выставление ордеров в заданное время, сопровождение - как захотите. Если же уроровень достигнут не будет, то ордера выставляться не будут - соответственно советник будет работать в холостую.
VladislavVG:
Если в заданное время уровень будет достигнут, то можно сделать выставление ордеров в заданное время, сопровождение - как захотите. Если же уроровень достигнут не будет, то ордера выставляться не будут - соответственно советник будет работать в холостую.
Да, это то, к чему я стремлюсь.... Если приведенный выше кусок кода не вызывает у Вас замечаний - я счастлив и крайне Вам признателен за оказанную помощь...
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Немного не понятно это:
Самый простой вариант
пойдет. Ключевым здесь является то, что переменные статические: они не переинициализируются каждый раз - только при первом запуске эксперта.
Только, что Вы будете делать, если после завершения рабочего времени советника останутся ордера ? Вы их сопровождать не будете ? Стоп подтягивать или проверять не наступило ли условие закрытия ? Если планируете все руками, то ничего не нужно. Но сопровождение ордеров это на порядки более простая задача, чем обоснование точки входа/выхода и вполне логично "поручить" это компьютеру. Я набросал "рыбу" для этого случая.
Удачи.
Мысль понятна....
Я немного уточню ситуацию: идет попытка создать некий эмулятор LimitStop ордера (не путать со StopLimit в МТ5); мне необходимо, что бы советник на следующем или текущем баре, при достижении ценой некого заданного Limit-уровня выставил Stop ордер (уровни limit, stop, TP, SL, sell\buy, expiration) задаются руками или снимаются с других индикаторов через iCustom (что не суть важно)....
Т.о. при задачи выставить SellLimitStop ордер:
Отсюда два вопроса, правильно ли: (1) моя мысль, изложенная выше, и (2) советник будет работать все время\при всех барах (сопровождение позиций и все такое...), но выставлять ордера он будет только на заданном баре???Мысль понятна....
Я немного уточню ситуацию: идет попытка создать некий эмулятор LimitStop ордера (не путать со StopLimit в МТ5); мне необходимо, что бы советник на следующем или текущем баре, при достижении ценой некого заданного Limit-уровня выставил Stop ордер (уровни limit, stop, TP, SL, sell\buy, expiration) задаются руками или снимаются с других индикаторов через iCustom (что не суть важно)....
Т.о. при задачи выставить SellLimitStop ордер:
Отсюда два вопроса, правильно ли: (1) моя мысль, изложенная выше, и (2) советник будет работать все время\при всех барах (сопровождение позиций и все такое...), но выставлять ордера он будет только на заданном баре???Если в заданное время уровень будет достигнут, то можно сделать выставление ордеров в заданное время, сопровождение - как захотите. Если же уроровень достигнут не будет, то ордера выставляться не будут - соответственно советник будет работать в холостую.