Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1975

 

В MQL4 был массив-таймсерия Time[i]. Чтобы в MQL5 получить то же самое, нужно делать так: iTime(symbol,tf,bar_index)?

Аналога  Time[i] в MQL5 нет?

 
Valeriy Yastremskiy #:
Инпут константные переменные и в 4ке и в 5ке. Экстерн в 4ке не константа, ее можно изменить. В 5ке же они тоже константы. При попытке присвоить другогое значение будет ошибка что нельзя изменить константу.

Спасибо

 
Sergey #:

В MQL4 был массив-таймсерия Time[i]. Чтобы в MQL5 получить то же самое, нужно делать так: iTime(symbol,tf,bar_index)?

Аналога  Time[i] в MQL5 нет?

iTime
 
Sergey #:

В MQL4 был массив-таймсерия Time[i]. Чтобы в MQL5 получить то же самое, нужно делать так: iTime(symbol,tf,bar_index)?

Аналога  Time[i] в MQL5 нет?

Для индикаторов есть всё и даже больше…

int OnCalculate (const int rates_total,      // размер входных таймсерий 
                 const int prev_calculated,  // обработано баров на предыдущем вызове 
                 const datetime& time[],     // Time 
                 const double& open[],       // Open 
                 const double& high[],       // High 
                 const double& low[],        // Low 
                 const double& close[],      // Close 
                 const long& tick_volume[],  // Tick Volume 
                 const long& volume[],       // Real Volume 
                 const int& spread[]         // Spread 
   );
 

Приветствую!

Подскажите пожалуйста, как сделать так чтобы советник работал с моими параметрами индикатора а не с дефолтными. Есть индикатор t27_OsMA%.ex4 (в таком виде  t27_OsMA%.mq4 я его в интернете не нашел) - по дефолту индикатор имеет такие параметры:

ExtWPRPeriod - 14

FastEMA - 12

SlowEMA - 26

SignalSMA - 9


Как сделать так чтобы советник работал с индикатором с такими параметрами?:

ExtWPRPeriod - 7

FastEMA - 6

SlowEMA - 13

SignalSMA - 5


Допустим есть у меня индикатор CCI(6).mq4 - это обычный CCI только с измененным периодом в коде и переименован сам файл:

В этой строке кода индикатора изменен период с 14 на 6 - input int InpCCIPeriod=6; // CCI Period


далее я этот переделанный индикатор прописываю в советнике и все работает как надо:

(iCustom(NULL, 0, "CCI(6)", 0, 0))


Но если индикатор имеет формат .ex4 и править его код нельзя, можно-ли как-то указать в советнике чтобы он работал с индикатором с нужными мне параметрами?

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
ChartIndicatorAdd - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Делайте так:

iCustom(NULL, 0, "CCI(6)", ExtWPRPeriod, FastEMA, SlowEMA, SignalSMA, 0, 0);
 
Aleksei Stepanenko #:

Делайте так:

вы имеете ввиду сделать так?

iCustom(NULL, 0, "CCI(6)", 7, 6, 13, 5, 0, 0);
 
Санек #:

вы имеете ввиду сделать так?

iCustom(NULL, 0, "t27_OsMA%", 7, 6, 13, 5, 0, 0);
 

Ну да, сделайте эти названия переменными в советнике, и можете по ним делать оптимизацию не меняя код каждый раз.

input int ExtWPRPeriod=14;
input int FastEMA=12;
 

Aleksei большое спасибо!

сделал так:

iCustom(NULL, 0, "CCI(6)", 7, 6, 13, 5, 0, 0);

проверил - работает! просто и без заморочек!

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