Разъясните пожалуйста что в этой функции может быть не так? - страница 3

 
Поставил на графики EURUSD, USDJPY, NZDUSD - все М15. В советнике условие: if((int)mqlDateTime.hour==12)...
 
Karputov Vladimir:
Вы пытаетесь получать данные с ЧУЖОГО символа? Без проверок? (Организация доступа к данным)
С какого чужого символа??? Ведь написано что поставлено ДВЕ копии советника на разных символах.
 

Обсуждение было давно и касалось оно MQL4:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Сервисдеск. Жалобы, предложения.

Alexey Kozitsyn, 2015.10.29 14:27

...

Support Team 2015.10.29 10:41
Для того, чтобы получать актуальные данные с чужого символа-периода необходимо обращаться к этим данным чаще, чем 1 раз в 10 секунд. Либо обратиться к этим данным из эксперта, например при помощи iTime (тогда к данным можно обращаться не реже, чем 1 раз в 3 минуты)
...

Вероятно здесь та же история: советник на графике M15, пытается получить данные с периода H1 и D1. 

 
Karputov Vladimir:

Обсуждение было давно и касалось оно MQL4:


Вероятно здесь та же история: советник на графике M15, пытается получить данные с периода H1 и D1. 

Прочёл я весь пост и ничего похожего в нём не увидел. На мой взгляд там другая проблема, несмотря на похожесть.
 
Alexey Viktorov:

В Вашем коде Вы получаете информацию с чужого периода. Вам нужно обновлять информацию через CopyTime().
 
Karputov Vladimir:
По делу, пожалуйста.

Всё что было написано и есть по делу.

Чем закончился эксперимент с тремя копиями советника на разных валютах?

 
Alexey Viktorov:

Всё что было написано и есть по делу.

Чем закончился эксперимент с тремя копиями советника на разных валютах?

В одном терминале (на периоде М15 стояли советники) на  одном символе не сработало - я на 99% процентов уверен, что проблема в том, что при использовании чужого таймфрейма нужно всё время "поддёргивать" историю. Думаю это лучше делать через CopyTime().
 
Karputov Vladimir:
В Вашем коде Вы получаете информацию с чужого периода. Вам нужно обновлять информацию через CopyTime().

Тоесть SeriesInfoInteger(_Symbol, PERIOD_D1, SERIES_LASTBAR_DATE) может не дать действительной даты? Разве это не ошибка в mql5? Если нет то СД могли сразу об этом заявить и не трепать нервы. А если всё-же ошибка, думаю надо набраться храбрости и сказать что пока не получается её победить и предложить хотя-бы такой вариант обхода проблемы.

В чём я не прав? Ведь согласно документации фкнкция должна вернуть время запрошенного периода. И никаких оговорок в документации.

Почему Вы удаляете посты с оценкой работы СД? Пусть все думают что там все белые и пушистые? Отзывы о Сталине так-же пресекали, но только покруче.

 
Alexey Viktorov:

Тоесть SeriesInfoInteger(_Symbol, PERIOD_D1, SERIES_LASTBAR_DATE) может не дать действительной даты? Разве это не ошибка в mql5? Если нет то СД могли сразу об этом заявить и не трепать нервы. А если всё-же ошибка, думаю надо набраться храбрости и сказать что пока не получается её победить и предложить хотя-бы такой вариант обхода проблемы.

В чём я не прав? Ведь согласно документации фкнкция должна вернуть время запрошенного периода. И никаких оговорок в документации.

...

Это не ошибка. Вы работаете на чужом таймфрейме. В таком случае нужно самостоятельно заботится о том, чтобы данные по чужому таймфрейму были актуальными.

Альтернатив, лично я, не вижу. 

 
Karputov Vladimir:
В одном терминале (на периоде М15 стояли советники) на  одном символе не сработало - я на 99% процентов уверен, что проблема в том, что при использовании чужого таймфрейма нужно всё время "поддёргивать" историю. Думаю это лучше делать через CopyTime().

Владимир, но ведь в тестере проблема не возникает... Откуда такая беда??? Или от того, что в тестере только один советник?

Я и в СД высказал предположение что изменения были только в том, что поставил второй советник на другую пару...

Причина обращения: