Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Много подписчиков на сигнале? Задумайся о платной подписке!
Dennie
38
Dennie 2015.10.24 12:09 

Столкнулся с проблемой: когда пробую получить в советнике (в тестере стратегий) значение индикатора, к примеру iMA(NULL,0,10,0,MODE_EMA,PRICE_MEDIAN,4000) он возвращает ноль... Я считал, что индикатор рассчитывается для всей истории, по которой проводится тестирование. Но похоже, существует какой-то лимит на величину его буфера, причем существенно меньший, чем располагаемая история. Как мне получить значение скользящей средней, или другого индикатора с большим значением индекса в буфере, например, как выше, 4000 или 10000?

PS В настройках Метатрейдера установлено 2000000 баров в истории и столько же в окне, так что их более чем достаточно для вычислений.

Vasyl Nosal
18199
Vasyl Nosal 2015.10.24 13:36  
ouch:

Столкнулся с проблемой: когда пробую получить в советнике (в тестере стратегий) значение индикатора, к примеру iMA(NULL,0,10,0,MODE_EMA,PRICE_MEDIAN,4000) он возвращает ноль... Я считал, что индикатор рассчитывается для всей истории, по которой проводится тестирование. Но похоже, существует какой-то лимит на величину его буфера, причем существенно меньший, чем располагаемая история. Как мне получить значение скользящей средней, или другого индикатора с большим значением индекса в буфере, например, как выше, 4000 или 10000?

PS В настройках Метатрейдера установлено 2000000 баров в истории и столько же в окне, так что их более чем достаточно для вычислений.

То что в настройках установлено 2млн не значит что они есть.
Dennie
38
Dennie 2015.10.24 13:59  
Есть. В тестере можно прогнать всю эту историю. Но советник не может получить доступ к данным индикаторов с большими индексами, то есть теми, которые находятся где-то далеко "левее" стартовой даты тестирования.
Yurij Kozhevnikov
4357
Yurij Kozhevnikov 2015.10.24 14:23  

Если мне не изменяет память, в тестере доступно изначально 1000 баров текущего таймфрейма.

Плюс по мере прохождения уже пройденные бары.

Если нужно больше 1000 - начинайте тест раньше, а на каждом OnTick проверяйте количество доступных баров. Ничего не делать, пока их меньше, чем нужно.

Dennie
38
Dennie 2015.10.24 14:30  
Y.A.K._:

Если мне не изменяет память, в тестере доступно изначально 1000 баров текущего таймфрейма.

Плюс по мере прохождения уже пройденные бары.

Если нужно больше 1000 - начинайте тест раньше, а на каждом OnTick проверяйте количество доступных баров. Ничего не делать, пока их меньше, чем нужно.

Так и приходится делать, проверяю выход iMA(), что он больше нуля. Вот только пропускать нужно слишком много вначале, если требуется большой интервал.

Проблема еще в том, что глубина индекса является настраиваемым параметром. И может меняться в больших пределах. Вообще, компилятор должен иметь директиву настройки глубины буферов индикаторов.


/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий