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

 
FinEngineer : 2012.12.22 11:40:32 Pair_delta_RSI(EURGBP,M1) 'Pair_delta_RSI.mq5'의 범위를 벗어난 배열(92,37)
그러한 오류도 나타납니다 ... 즉. 두 번의 실수...
또한 "계산된 데이터가 충분하지 않음" 및 " 배열 이 범위를 벗어남)"이라는 두 가지 오류에 대해 우려하고 있습니다. 그러나 어떤 이유로 두 번째 오류에 대해 아무 것도 작성하지 않았습니다(줄 번호 92의 코드 예제를 제공하지 않음). 비록 몇 번이고 그 존재에 집중했지만.
 
Yedelkin :

코드를 올바르게 붙여넣습니다 .

네, 여기에서는 "데이터 부족을 담당하는 코드 조각"이 잘 작동했습니다. 그리고 그는 첫 번째 틱이 도착했을 때 RSI에 대한 데이터가 아직 터미널에서 계산되지 않았다고 올바르게 보고했습니다. 오류 메시지가 표시되는 것이 마음에 들지 않으면 위에서 언급한 대로 수행하십시오. 즉, OnCalculate()뿐만 아니라 OnInit()에도 계산된 데이터가 있는지 확인하십시오. 즉, 선택한 기술 지표에 대한 데이터 계산을 위해 OnInit()에서 기다렸다가(최종 루프를 통해 대기), 지표에 대한 데이터가 다음과 같을 때 OnCalculate()에서 눈금 처리를 진행합니다. 계산을 보장합니다.

부록. 결국 인증코드의 일부를 제거한다고 해서 지표 데이터 산출량 증가에 전혀 기여하지 않습니다. :)

이 검사를 OnInit 함수에 삽입했지만 이 함수에서 "rates_total"이 무엇인지 알지 못합니다... 오류가 발생했습니다... 'rates_total' - 선언되지 않은 식별자... 어떻게 해야 합니까?
 
Yedelkin :
또한 "계산된 데이터가 충분하지 않음" 및 "배열이 범위를 벗어남)"이라는 두 가지 오류에 대해 우려하고 있습니다. 그러나 어떤 이유로 두 번째 오류에 대해 아무 것도 작성하지 않았습니다(줄 번호 92의 코드 예제를 제공하지 않음). 비록 몇 번이고 그 존재에 집중했지만.
 int limit;
   if (prev_calculated== 0 )
      limit= 0 ;
   else limit=prev_calculated- 1 ;
//считаем индикатор дельта рси
   for ( int i=limit;i<rates_total; i++)
      DeltaRSI_Buffer[i]=RSI1_Buffer[i]-RSI2_Buffer[i];
   return (rates_total);
이 영역의 어딘가에 92번째 줄 ... 여기에 코드가 있습니다 ... 어딘가에 오류가 있습니다 ... 밝혀졌습니다)
 
FinEngineer : 이 검사를 OnInit 함수에 삽입했지만 이 함수에서 "rates_total"이 무엇인지 알지 못합니다... 오류가 발생했습니다... 'rates_total' - 선언되지 않은 식별자... 어떻게 해야 합니까?
앞에서 조언한 바와 같이 BarsCalculated() 함수에 대한 설명에서 예제를 파악했습니까? rate_total이 없습니다.
 
FinEngineer : 92번 영역 어딘가에...여기에 코드가 있습니다...어딘가에 오류가 있습니다...그것이 밝혀졌습니다)

분명한. 인라인

DeltaRSI_Buffer[i]=RSI1_Buffer[i]-RSI2_Buffer[i];
배열을 넘어 갑니다. 그리고 출력은 RSI1_Buffer[i]에 있습니다. ...대답하기 어렵지만, 배열에서 벗어날 방법이 없어야 합니다.
 
안녕하세요 여러분 ... 누구든지 다음 코드가 mql5에서 어떻게 보이는지 말해 줄 수 있습니까?
for (int i=3; i<막대; i++)
{
Up=iFractals(NULL, 0, MODE_UPPER, i); if (위>0) 중단;
}
 
i999i :
안녕하세요 여러분 ... 누구든지 다음 코드가 mql5에서 어떻게 보이는지 말해 줄 수 있습니까?
for (int i=3; i<막대; i++)
{
Up=iFractals(NULL, 0, MODE_UPPER, i); if (위>0) 중단;
}

기사 가 도움이 됩니다.

쿼드에서 이중 iFractals(문자열 기호, int timeframe, int 모드, int shift)를 다음으로 변경합니다.

 double iFractalsMQL4( string symbol,
                     int tf,
                     int mode,
                     int shift)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   int handle= iFractals (symbol,timeframe);
   if (handle< 0 )
     {
       Print ( "Объект iFractals не создан: Ошибка " , GetLastError ());
       return (- 1 );
     }
   else
       return (CopyBufferMQL4(handle,mode- 1 ,shift));
  }

 
전략 테스터에 대한 질문: 수익성 있는 거래의 최대 비율로 매개변수 세트를 선택해야 합니다. 어떻게 해야 하나요? 최적화 기준 "Balance + min DD"가 다소 적절한 것 같지만 승수로서의 이익은 다른 모든 것을 막습니다..
 
f2011 :
전략 테스터에 대한 질문: 수익성 있는 거래의 최대 비율로 매개변수 세트를 선택해야 합니다. 어떻게 해야 하나요? 최적화 기준 "Balance + min DD"가 다소 적절한 것 같지만 승수로서의 이익은 다른 모든 것을 막습니다..

그리고 잔고와 프립 거래의 비율은 무엇입니까?

google "site:mql5.com 거래 로봇에 대한 최적화 기준을 만드는 방법"이라는 기사가 있습니다.

 
R0MAN :

그리고 잔고와 프립 거래의 비율은 무엇입니까?

google "site:mql5.com 거래 로봇에 대한 최적화 기준을 만드는 방법"이라는 기사가 있습니다.


찾았습니다, 감사합니다

https://www.mql5.com/ru/articles/286

Создание собственных критериев оптимизации параметров эксперта
Создание собственных критериев оптимизации параметров эксперта
  • 2011.06.24
  • Dmitriy Skub
  • www.mql5.com
Терминал МetaTrader 5 дает новые возможности для оптимизации параметров создаваемых экспертов. Кроме уже имеющихся в тестере критериев оптимизации, разработчики получили инструмент для создания собственных критериев. Это открывает поистине безграничные возможности в тестировании и оптимизации экспертов. В статье рассматриваются практические способы построения таких критериев - как простых, так и достаточно сложных.
사유: