초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 781

 
Vladimir Karputov :

"Trend.mqh::CiMA" 클래스의 핸들이나 개체는 여전히 모두 생성해야 합니다.

내 경우의 문제를 어떻게 해결할 수 있습니까?

전체 작업은 OnTick 본문의 28개 기호에 대해 3개의 타임프레임을 가져오는 것입니다.
핸들 = 28*3 이 필요한가요?
Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2017.09.15
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Vitaly Muzichenko :

내 경우의 문제를 어떻게 해결할 수 있습니까?

전체 작업은 OnTick 본문의 28개 기호에 대해 3개의 타임프레임을 가져오는 것입니다.
핸들 = 28*3 이 필요한가요?

네. 틀림없이.

 
Vladimir Karputov :

네. 틀림없이.

물론 주석(

Vladimir, 당신은 서비스 데스크에 편지를 썼습니다. 왜냐하면 이런 식으로 되어서는 안 되며, 그럴 수도 없기 때문입니다 . 우리는 분명히 뭔가를 잘못 했습니다. 간단한 Expert Advisor를 위해 100개의 핸들을 생성해야 합니다.
 
Vitaly Muzichenko :

그것은 그렇게 되어서는 안 되며 , 우리가 분명히 뭔가를 잘못하고 있어서 간단한 Expert Advisor에 대한 100개의 핸들을 생성해야 하는 것일 수도 없습니다.

뭐가 문제 야? 배열이 무엇인지 아십니까? 구조?

물론 각 핸들에 대해 하나씩 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 ];    

이 같은...

 

동료 여러분, 저는 일반적으로 이해하는 데 어떤 종류의 문제가 있습니다.

지속적으로 배열 이 범위를 벗어납니다. 내가 아무리 조사를 하고, 얼마나 많은 코드를 작성하지 않아도, 나는 같은 갈퀴를 밟습니다. 어레이를 넘어 녹아웃되지 않도록 사이클을 올바르게하는 방법에 대해 씹는 곳 (가지, 기사)이 있으면 알려주십시오. 나는 잼을 찾는 데 많은 시간을 낭비합니다 ... 때로는 내가 수정 한 것과 작동 한 이유를 이해하지 못합니다.

예를 들어 다음 코드는 if (q1[i] > q1[i+ 1 ]) q2[i]= 1 ;

q1[i+1]에

유닛에 서다

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 :

동료 여러분, 저는 일반적으로 이해하는 데 어떤 종류의 문제가 있습니다.

지속적으로 배열 이 범위를 벗어납니다. 내가 아무리 조사를 하고, 얼마나 많은 코드를 작성하지 않아도, 나는 같은 갈퀴를 밟습니다. 어레이를 넘어 녹아웃되지 않도록 사이클을 올바르게하는 방법에 대해 씹는 곳 (가지, 기사)이 있으면 알려주십시오. 나는 잼을 찾는 데 많은 시간을 낭비합니다 ... 때로는 내가 수정 한 것과 작동 한 이유를 이해하지 못합니다.

예를 들어 다음 코드는 if (q1[i] > q1[i+ 1 ]) q2[i]= 1 ;

q1[i+1]에

유닛에 서다

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
사유: