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

 
Vikon:

Здраствуйте.

Пытаюсь перейти на пятерку, но пока не врублюсь в логику синтаксиса.

Как из индикатора четверки   double i= iHigh(Symbol(),0,1); перевести в mql5, 

статьям пока ума дать не могу.

Спасибо 

double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);
 
pronych:
double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);

Э нет, так не получится как mql4, значение high выдать на alert

 double i= iHigh(Symbol(),0,1);

 Alert (i);

А вы мне предлагаете как я понимаю масив баров int с максимальными значениями .

Тут то вся загвоздка в моем понимании, как эти две строки которые понятны программисту любого уровня, перевести в mql5

 
Vikon:

Э нет, так не получится как mql4, значение high выдать на alert

 double i= iHigh(Symbol(),0,1);

 Alert (i);

А вы мне предлагаете как я понимаю масив баров int с максимальными значениями .

Тут то вся загвоздка в моем понимании, как эти две строки которые понятны программисту любого уровня, перевести в mql5

Это из справки
int  CopyHigh(
   string           symbol_name,      // имя символа
   ENUM_TIMEFRAMES  timeframe,        // период
   int              start_pos,        // откуда начнем 
   int              count,            // сколько копируем
   double           high_array[]      // массив для копирования максимальных цен
   );

Все правильно вам посоветовали, только если бар на алерте не нулевой нужно 2 буфера копировать (или сколько нужно применять)

double i[];
ArraySetAsSeries(i,true); // массив как таймсерия
CopyHigh(Symbol(),PERIOD_CURRENT,0,2,i);
Alert(i[1]);
 
lewvik:
Это из справки

Все правильно вам посоветовали, только если бар на алерте не нулевой нужно 2 буфера копировать (или сколько нужно применять)

Все норм заработало. Спасибо

 

Здраствуйте!

Вопрос по индикаторам, вот я хочу написать индикатор по MACD, который на любых тайм фреймах будет использовать четыре таймфрейма МАСД для этого я использую хендл индикатора МАСД который находится в  ОнИнит и в Старте функции копирования массива, его упорядочивания.

Так вот у меня вопросы:

Сколько хендлов необходимо объявлять четыре (для каждого тайм фрейма) или один.

Если один какая возможность есть изменить параметры в ходе выполнения кода четырех тайм фреймов.

Может хендл закатать в функцию и вызывать ее в коде под данные тайм фреймов

 
Интересно, существует ли где-нибудь статья типа "самые распространенные причины тормознутости экспертов"? Я тут пытаюсь между делом понять, почему советник в тестере в начале просто летает, но чем дальше, тем сильнее замедляется. Пока он еще не на той стадии разработки, чтобы это было так уж критично (для разработки основных механизмов и инструментов скорости хватает). Но все равно неудобно, что отрезки больше недели брать нет смысла, т.к. после скорость уже стремится к нулю.
 
Lone_Irbis:
Интересно, существует ли где-нибудь статья типа "самые распространенные причины тормознутости экспертов"? Я тут пытаюсь между делом понять, почему советник в тестере в начале просто летает, но чем дальше, тем сильнее замедляется. Пока он еще не на той стадии разработки, чтобы это было так уж критично (для разработки основных механизмов и инструментов скорости хватает). Но все равно неудобно, что отрезки больше недели брать нет смысла, т.к. после скорость уже стремится к нулю.
Скорее всего использует индикаторы с расчетом всей истории, которая к концу теста увеличивается.
 
Lone_Irbis:
Интересно, существует ли где-нибудь статья типа "самые распространенные причины тормознутости экспертов"? Я тут пытаюсь между делом понять, почему советник в тестере в начале просто летает, но чем дальше, тем сильнее замедляется. Пока он еще не на той стадии разработки, чтобы это было так уж критично (для разработки основных механизмов и инструментов скорости хватает). Но все равно неудобно, что отрезки больше недели брать нет смысла, т.к. после скорость уже стремится к нулю.
Как вариант: разделить тестируемый период пополам и отдельно прогнать в тестере. Так можно определить - а может просто на указанном периоде меньше сигналов на вход?
 
zfs:
Скорее всего использует индикаторы с расчетом всей истории, которая к концу теста увеличивается.

Внешних индикаторов вообще не использует пока что. Но производит довольно много вычислений на основе истории, это да. Правда везде вроде есть ограничение на максимальное число анализируемых свечей, и если причина в них, не понятно почему бы ему замедляться постепенно, а не тормозить с самого начала (вроде бы отрезок всегда от настоящего момента берется). 

 
Lone_Irbis:

Внешних индикаторов вообще не использует пока что. Но производит довольно много вычислений на основе истории, это да. Правда везде вроде есть ограничение на максимальное число анализируемых свечей, и если причина в них, не понятно почему бы ему замедляться постепенно, а не тормозить с самого начала (вроде бы отрезок всегда от настоящего момента берется). 

А  "довольно много вычислений на основе истории" складываете в динамический массив?
Причина обращения: