Здравствуйте, уважаемые.
Пожалуйста, предложите решение, как имеющемуся советнику ExpertMAPSARSizeOptimized программно разрешать открытие новых ордеров только в определенный период времени суток?
Желательно без значительных изменений в коде.
Голову сломал, как это сделать красиво.
if (ТекущийЧас >= ТребуемогоНачала && ТекущийЧас < ТребуемогоОкончания )
{
// открыть ордер
}
"Как разрешить торговать в определенное время" - очень просто. Запретить отправлять запросы в определённое время. Типа if(date<border1 || border2<=date) return;
небольшое уточнение "<=".
обычно когда говорят "запретить торговлю с 8:00 до 12:00 - подразумевают "с 12:00 разрешить".
Здравствуйте, уважаемые.
Пожалуйста, предложите решение, как имеющемуся советнику ExpertMAPSARSizeOptimized программно разрешать открытие новых ордеров только в определенный период времени суток?
Желательно без значительных изменений в коде.
Голову сломал, как это сделать красиво.
- голосов: 12
- 2012.08.12
- Nikolay Kositsin
- www.mql5.com
Товарищи, я умею открыть ордер в определенное время.
Вопрос был в том, как красиво модифицировать именно этот советник с его конкретным текстом. Там не все так очевидно.
Что касается предложения GODZILLA (кстати, огромное спасибо за Ваши посты), то не будет ли запрещаться в данном случае модификация ордера? Мне нужно только блокировать открытие новых.
st2050:
Вопрос был в том, как красиво модифицировать именно этот советник с его конкретным текстом.
??? ни советника ни текста никто не видел. поэтому это чисто теоретический базар.
Товарищи, я умею открыть ордер в определенное время.
Мой советник основывается на торговле в определенное время
после #include #property(в начале кода) вставляете
MqlDateTime mqldt;
в своей главной функции OnTimer/OnTick после фигурных скобок вставляете этоTimeCurrent(mqldt);
далее весь рабочий код вставляете внутрь этого
OnTimer { if (mqldt.hour>="начало периода"&&mqldt.hour>="конец периода" { //ваш код } }таким образом советник будет работать только в определенное время, из недостатков можно выделить только то, что можно пропустить какое нибудь событие, так что внутрь оператора if удобнее пихать не весь код, а только ту часть которая отвечает за открытие ордера
Мой советник основывается на торговле в определенное время
после #include #property(в начале кода) вставляете
в своей главной функции OnTimer/OnTick после фигурных скобок вставляете этодалее весь рабочий код вставляете внутрь этого
таким образом советник будет работать только в определенное время, из недостатков можно выделить только то, что можно пропустить какое нибудь событие, так что внутрь оператора if удобнее пихать не весь код, а только ту часть которая отвечает за открытие ордераа если конец периода= 2 а начало периода=22
???
тогда Ваш код не верен
to sergeev:
Советник ExpertMAPSARSizeOptimized.mq5 имеется в стандартном комплекте терминала МТ5. Его видно в навигаторе (Советники>Advisors), лежит в папке MQL5\Experts\Advisors.
Если нужно, выложу текст.
Открытие ордера происходит не в самом файле советника, а в модуле Include\Expert\Expert.mqh. При этом код трейлинга находится в модуле Include\Expert\Trailing\TrailingParabolicSAR.mqh. Таким образом, код раскидан по разным файлам.
Поэтому и был вопрос: как модифицировать советника красиво и эффективно.
Открытие ордера происходит не в самом файле советника, а в модуле Include\Expert\Expert.mqh.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте, уважаемые.
Пожалуйста, предложите решение, как имеющемуся советнику ExpertMAPSARSizeOptimized программно разрешать открытие новых ордеров только в определенный период времени суток?
Желательно без значительных изменений в коде.
Голову сломал, как это сделать красиво.