Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 691

 
Подскажите, пожалуйста, можно ли советника написанного для МТ5 запускать на последнем МТ4 и соответственно наоборот?
 
borilunad:

Маленько ошиблись: 0=Close, 1=Open, остальное правильно.

Open не нужен. Была главная задача, как поместить в тестер переменные, чтобы делать прогоны советника на основе индикатора, который можно строить по разным типам цены.

Тут надо не забыть, когда будет проводиться оптимизация установить  price от 1 до 6, с шагом один.

 
rambo:
Подскажите, пожалуйста, можно ли советника написанного для МТ5 запускать на последнем МТ4 и соответственно наоборот?
если скомпилируется, то можно запускать, только будет ли работать как задумано, вот вопрос.
 
Forexman77:

Open не нужен. Была главная задача, как поместить в тестер переменные, чтобы делать прогоны советника на основе индикатора, который можно строить по разным типам цены.

Тут надо не забыть, когда будет проводиться оптимизация установить  price от 1 до 6, с шагом один.


Но цена Open ведь имеет значение 1, цена Close - 0. См. Доку!
 
Forexman77:

Если кому нужно придумал, как без сложных конструкций делать отрисовку идикатора по типу цены:

 

input ENUM_APPLIED_PRICE price=0;

price=iMA(NULL, 0, 1, 0, MODE_SMA, price, i);

Может так проще, но если надо добавить еще типы цен - то конечно лучше делать по Вашему, а точнее комбинированный способ
 
evillive:
если скомпилируется, то можно запускать, только будет ли работать как задумано, вот вопрос.

спасибо
 
Vinin:

Может так проще, но если надо добавить еще типы цен - то конечно лучше делать по Вашему, а точнее комбинированный способ

Гениально! Об этом способе, как то не подумал.

 
borilunad:

Но цена Open ведь имеет значение 1, цена Close - 0. См. Доку!

Если использовать перечисления "ENUM_APPLIED_PRICE".

Но, я их не использую, а просто проверяю условным оператором на истину все шесть вариантов и всегда срабатывает только одно условие.

Сработало условие  к примеру, расчитали цену:

if(price==5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//рассчитали весь буффер индикатора 
получаю цену закрытия для расчета. То есть цены подготавливаю сам, а не беру их их перечисления " ENUM_APPLIED_PRICE".
 
Forexman77:

Гениально! Об этом способе, как то не подумал.


Этот способ будет работать только при вызове технических индикаторов, если  надо менять через настройки  тип цены в других вычислениях (скажем, сравнивается какое-то значение с Close[i] и захотелось через оптимизатор передать чтобы сравнение было с (High[i]+Low[i])/2, то есть с PRICE_MEDIAN), то так не получится.
 
evillive:

Этот способ будет работать только при вызове технических индикаторов, если  надо менять через настройки  тип цены в других вычислениях (скажем, сравнивается какое-то значение с Close[i] и захотелось через оптимизатор передать чтобы сравнение было с (High[i]+Low[i])/2, то есть с PRICE_MEDIAN), то так не получится.

 Цены нужны только для расчета индикатора

Сделал так:

extern ENUM_APPLIED_PRICE price=PRICE_CLOSE;

for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=iMA(NULL,0,1,0,MODE_SMA,price,i);

 Сравнил данный вариант и свой все совпадает при изменении.

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