MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 512

 
그러나 그것을 사용하는 방법은 무엇입니까? 둘째 날 동안 나는 헛되이 앉아 있다. 다른 어떤 해결책이 있을 수 있습니까?
 
질문 plz. OnCalculate (...) 핸들러에서 open, high, low, close 버퍼의 상수가 전체 히스토리에 대해 문자별로 오버플로됩니다. 어떻게 해야 할까요? 예를 들어, 한 쌍의 전체 기록에 대해 배열 mas[i]= open[i] /close[i]의 값을 계산하고 이 값을 다른 문자로 평균을 내고 싶습니다. 약간 비슷한 주제의 무리를 삽질했습니다. 어디를 봐야 하는지 알려주세요.
 
Juer :
하지만 어떻게 작업해야 할까요? 두 번째 날 동안 나는 헛되이 앉아 있습니다. 다른 어떤 해결책이 있을 수 있습니까?

재현 가능한 예를 어디에서 보여주었습니까? 코드 스니펫만 제공합니다. 재량에 따라 작업 코드로 구성해야 합니까? 그리고 우리가 추측하지 않고 당신이 그것을 필요로하지 않는다면?

 
Artyom Trishkin :

재현 가능한 예를 어디에서 보여주었습니까? 코드 스니펫만 제공합니다. 재량에 따라 작업 코드로 구성해야 합니까? 그리고 우리가 추측하지 않고 당신이 그것을 필요로하지 않는다면?

글쎄, 구조체 배열이 아니라 CArrayObj 클래스 를 통해 올바르게 수행하는 방법은 무엇입니까? 여기서 개체는 구조체 유형의 개체가 될 것입니다. 어떻게 선언하고 어떻게 추가하는지 잘 모르겠는데 아예 가능한가요?

 
Juer :

글쎄, 구조체 배열이 아니라 CArrayObj 클래스 를 통해 올바르게 수행하는 방법은 무엇입니까? 여기서 개체는 구조체 유형의 개체가 될 것입니다. 어떻게 선언하고 어떻게 추가하는지 잘 모르겠는데, 아예 가능한가요?

작업을 구체적으로 설명하지 않고 일반적으로 설명하십시오. 이 데이터나 저 데이터로 결국 무엇을 얻고자 합니까?

 
mwwm :
질문 plz. OnCalculate(...) 핸들러에서 open, high, low, close 버퍼의 상수가 전체 히스토리에 대해 심볼로 오버플 로되는데 어떻게 해야 하나요? 예를 들어, 한 쌍의 전체 기록에 대해 배열 mas[i]= open[i] /close[i]의 값을 계산하고 이 값을 다른 문자로 평균을 내고 싶습니다. 약간 비슷한 주제의 무리를 삽질했습니다. 어디를 봐야 하는지 알려주세요.
오버플로은 무슨 뜻인가요?
 
Дед пенсионер :
오버플로은 무슨 뜻인가요?

XAUUSD,Daily: OnCalculate 및 CopyOpen '에서 상수를 통해 계산할 때 '!2019.mq4'(243,6)의 배열이 범위를 벗어났습니다. 이 int를 수행하려고 할 때 함수 호출에 과부하를 적용할 수 없습니다. price1=CopyOpen(Symbol(),0,0,Bars(_Symbol,_Period),open); 구조를 통해 데이터에 액세스하는 구성은 매우 혼란스럽습니다. 어느 시점에서 OHLC 인용문이 모두 취해진 다음 새 인용문만 iOpen(,,,)에 고정됩니다.


 
Juer :

따라서 오류는 잘못된 배열 액세스입니다.

구조에 배열과 문자열이 없습니다. bool, integer, double 및 enum만 가능합니다.

양해를 구합니다. 약간 투파눌. 물론 여기에서는 수행하기가 조금 더 어려울 것입니다.

 bool CCandleRule::GetRulesArray(input_rule &rules_array[])
{
   int nArraySize = ArraySize (rules);
   if ( ArraySize (rules_array) != nArraySize)
       if ( ArrayResize (rules_array, nArraySize) != nArraySize)
         return false ;

   for ( int i = 0 ; i < nArraySize; ++i)
      rules_array[i] = rules[i];
      
   return true ;
}

C++에서와 같은 벡터가 아닙니다. 따라서 요소별 복사가 필요합니다. 또한 소스 어레이와 대상 어레이의 크기 사이의 대응을 처리해야 합니다. 따라서 기능은 한 줄에 얻을 수 없습니다. 그리고 항상 성공적이지는 않을 것입니다. 따라서 구현 성공에 대한 확인을 반환해야 합니다.

 
mwwm :

XAUUSD,Daily: OnCalculate 및 CopyOpen '에서 상수를 통해 계산할 때 '!2019.mq4'(243,6)의 배열이 범위를 벗어났습니다. 이 int를 수행하려고 할 때 함수 호출에 과부하를 적용할 수 없습니다. price1=CopyOpen(Symbol(),0,0,Bars(_Symbol,_Period),open); 구조를 통해 데이터에 액세스하는 구성은 매우 혼란스럽습니다. 어느 시점에서 OHLC 인용문이 모두 취해진 다음 새 인용문만 iOpen(,,,)에 고정됩니다.


재정의하지 않으며 존재하지 않는 인덱스에 액세스하고 있습니다.
 
Artyom Trishkin :
재정의하지 않으며 존재하지 않는 인덱스에 액세스하고 있습니다.

그리고 그것을 올바르게하는 방법?