Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 455

 

Здравствуйте. Помоготи пожалуйста решить проблему. Хочу в советнике использовать пользовотельский индикатор с помщю функции iCustom.

double Ind_Blue=iCustom(NULL, 0, "_MTF_ADX3",1,0);

double Ind_Red=iCustom(NULL, 0, "_MTF_ADX3",2,0);

Alert(" Ind_Blue= " ,Ind_Blue , " Ind_Red= " ,Ind_Red);

Но при тестировании в Strategy Tester советник получает неправильные данные с индикарора. То есть когда нажимаю на стоп в тестере, и появляется линии индикатора, то значения линии отличаются от значения в Алерте. Но параметры индикатора тоже самые.

Подскажите пожалуйста от чего может быть такая проблема? И как можно решить ее?

Заранее Спасобо. 

 
E_Ghazaryan:

Здравствуйте. Помоготи пожалуйста решить проблему. Хочу в советнике использовать пользовотельский индикатор с помщю функции iCustom.

double Ind_Blue=iCustom(NULL, 0, "_MTF_ADX3",1,0);

double Ind_Red=iCustom(NULL, 0, "_MTF_ADX3",2,0);

Alert(" Ind_Blue= " ,Ind_Blue , " Ind_Red= " ,Ind_Red);

Но при тестировании в Strategy Tester советник получает неправильные данные с индикарора. То есть когда нажимаю на стоп в тестере, и появляется линии индикатора, то значения линии отличаются от значения в Алерте. Но параметры индикатора тоже самые.

Подскажите пожалуйста от чего может быть такая проблема? И как можно решить ее?

Заранее Спасобо. 

MQL4 ? А параметры-то какие у индикатора? Покажите скрин с его настройками.
 
получаем цену закрытия последнего бара под номером 1 на текущем графике
x=CopyClose(0,0,1,1,close_array[0]);

при компиляции пишет ошибку

 

 close_array -array required

 

double close_array[10] объявил в глобальных переменных

 

где ошибка ?

 советник работает на демо счете, в  тестере проверял, работало... 


 
pr0gre5:
получаем цену закрытия последнего бара под номером 1 на текущем графике
x=CopyClose(0,0,1,1,close_array[0]);

при компиляции пишет ошибку

 

 close_array -array required

 

double close_array[10] объявил в глобальных переменных

 

где ошибка ?

 советник работает на демо счете, в  тестере проверял, работало... 


Нужно массив в функции прописывать без квадратных скобок:

x=CopyClose(0,0,1,1,close_array);
 

     Здравствуйте! 2015.10.07_11:05МСК. Не могу понять. Компилятор выдал 0

ошибок и 0 предупреждений, а в тестере стратегий советник не открывает

сделки. Несколько раз проверял и поправлял, но ничего не изменилось.

Советник не открывает сделки. Подскажите что неправильно. Прилагаю файл

фрагмент кода советника и файл журнала из тестера стратегий. 11:10МСК.

Файлы:
Sovetnik.mq5  6 kb
20151007.log  16 kb
 
Artyom Trishkin:
MQL4 ? А параметры-то какие у индикатора? Покажите скрин с его настройками.

Спасибо за откилк.

Вот скриншот стандартных настроек. Но Когда нажимаю на кнопку стоп в тестере, появляется индикатор с стандартнами настройками, и значения линии не совподают с теми что советник показывает с помщю Алерт.

 

От чего может быть такая проблема? 

 
E_Ghazaryan:

Спасибо за откилк.

Вот скриншот стандартных настроек. Но Когда нажимаю на кнопку стоп в тестере, появляется индикатор с стандартнами настройками, и значения линии не совподают с теми что советник показывает с помщю Алерт.

От чего может быть такая проблема? 

Очень подробный, а главное - божественно красивый скриншот :))))
 
Artyom Trishkin:
Очень подробный, а главное - божественно красивый скриншот :))))
Дааа, точно =D ))) Уже прикрепил.)))
 
E_Ghazaryan:
Дааа, точно =D ))) Уже прикрепил.)))

Все эти параметры должны быть перечислены через запятую в iCustom() после названия индикатора, а после них ещё два параметра: номер буфера и номер бара, с которого берутся данные. Т.е.:

iCustom(Symbol(), Period(), "_MTF_ADX3", 0, 500, 6, 8, 14, 6, 6, 2, true, false, номер_буфера, номер_бара).

Все перечисленные значения можно задать внешними переменными советника и вписывать имена этих переменных в iCustom() вместо жестко заданных величин.

 

Не подскажите почему:

double d = 0.07;

   d = NormalizeDouble(d,2);

в обоих случаях d== 0.07000000000000001

как оставить 2 знака после запятой?