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

 
Vladimir Karputov:

Хоть хендлы, хоть объекты класса "Trend.mqh::CiMA" - всё равно создавать их нужно все.

Как в моём случае решить задачу?

Полная задача, получить для 28 символов 3 таймфрейма в теле OnTick.
Это что, нужно хендлов = 28*3 ?
Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2017.09.15
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Vitaly Muzichenko:

Как в моём случае решить задачу?

Полная задача, получить для 28 символов 3 таймфрейма в теле OnTick.
Это что, нужно хендлов = 28*3 ?

Да. Конечно.

 
Vladimir Karputov:

Да. Конечно.

Жесть, конечно(

Владимир, вы писали в сервис-деск, ведь так не должно быть, да и не может быть, мы видимо что-то делаем не так, что нужно под сотню хендлов создавать для простенького эксперта.
 
Vitaly Muzichenko:

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

А в чем проблема? Вы ведь знаете, что такое массив? Структура?

Конечно, если Вы создадите 100 переменных, по одной для каждого хэндла... вот это будет жесть.

 
Alexey Kozitsyn:

А в чем проблема? Вы ведь знаете, что такое массив? Структура?

Конечно, если Вы создадите 100 переменных, по одной для каждого хэндла... вот это будет жесть.

Вот, действительно структура, но что-то быстро не соображу как её составить?

 
Vitaly Muzichenko:

Вот, действительно структура, но что-то быстро не соображу как её составить?

struct SHandle
   {
    string symbol;
    int handleM1;
    int handleM5;
    int handleM15;
   };
//---- или
struct SHandle
   {
    string symbol;
    int timeframes[3];   // Не знаю точно, можно ли так написать, если что, через ArrayResize();
   };
//--- 
SHandle _handles[28];    

Как-то так...

 

Коллеги , у меня какая то проблема вообще с пониманием

Постоянно выбивает за пределы массива array out of range . Сколько я исследований не провожу , сколько кодов не пишу , наступаю на одни и те же грабли . Подскажите пожалуйста , есть ли место (ветка , статья) где разжевано как правильно делать циклы чтобы за пределы массива не выбивало . Теряю кучу времени на нахождение косяка ...порой бывает не понимаю что исправил и почему заработало .

Вот к примеру следующий код , здесь выбивает в строке if (q1[i] > q1[i+1]) q2[i]=1 ;  

на q1[i+1] 

в on unit стоят 

SetIndexBuffer(2,q1,INDICATOR_CALCULATIONS);

ArraySetAsSeries(q1,true);

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
  int sum,i,a ,start ;
  if (prev_calculated ==0) { start =0 ; q1[0]=q1[1];}
  else  start = prev_calculated;
  CopyBuffer(pulse_clear_Handle,0,start,rates_total,q1);
  for (i = start ; i < rates_total;i++)
  {if (q1[i] > q1[i+1]) q2[i]=1 ;
  else
  if (q1[i] < q1[i+1]) q2[i]=-1;
  else continue ;
 
LookingFor:

Коллеги , у меня какая то проблема вообще с пониманием

Постоянно выбивает за пределы массива array out of range . Сколько я исследований не провожу , сколько кодов не пишу , наступаю на одни и те же грабли . Подскажите пожалуйста , есть ли место (ветка , статья) где разжевано как правильно делать циклы чтобы за пределы массива не выбивало . Теряю кучу времени на нахождение косяка ...порой бывает не понимаю что исправил и почему заработало .

Вот к примеру следующий код , здесь выбивает в строке if (q1[i] > q1[i+1]) q2[i]=1 ;  

на q1[i+1] 

в on unit стоят 

SetIndexBuffer(2,q1,INDICATOR_CALCULATIONS);

ArraySetAsSeries(q1,true);

for (i = start ; i < rates_total-1;i++)
 

В очередной раз ,Спасибо  !

 

Коллеги , функция MathSum , описание здесь 

https://www.mql5.com/ru/docs/standardlibrary/mathematics/stat/mathsubfunctions/statmathsum

в билде 1643 не распознается . Нужно все снести и обновить ?

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