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

 
multiplicator :

INIT_PARAMETERS_INCORRECT

이는 프로그래머가 잘못된 입력 매개변수 세트를 나타내기 위한 것이며 , 일반 최적화 테이블에서 이러한 리턴 코드가 있는 결과 라인은 빨간색으로 강조 표시됩니다.

이 전문가 매개변수 집합에 대한 테스트는 수행되지 않습니다.



뭔가 빨간색으로 켜지지 않습니다.

모든 사람이 가지고 있습니까?


OnInit의 코드는 다음과 같습니다.


그리고 다음 오류가 로그에 기록됩니다.



그가 그렇게 쓰는 것이 이상한가요?

특히 onInit()에서 INIT_PARAMETERS_INCORRECT를 반환합니다.

터미널/테스터에서 얻은 코드에 작성한 내용, INIT_FAILED를 반환하면 잘못된 초기화를 의미하고 테스트도 수행되지 않습니다. 작성한 내용은 얻은 것입니다. 질문은 무엇입니까?

 
multiplicator :

INIT_PARAMETERS_INCORRECT

이는 프로그래머가 잘못된 입력 매개변수 세트를 나타내기 위한 것이며 , 일반 최적화 테이블에서 이러한 리턴 코드가 있는 결과 라인은 빨간색으로 강조 표시됩니다.

이 전문가 매개변수 집합에 대한 테스트는 수행되지 않습니다.



뭔가 빨간색으로 켜지지 않습니다.

모든 사람이 가지고 있습니까?


OnInit의 코드는 다음과 같습니다.


그리고 다음 오류가 로그에 기록됩니다.



질문한 내용을 보여주는 최적화 테이블 자체는 어디에 있습니까?

 
Igor Makanu :

그가 그렇게 쓰는 것이 이상한가요?

특히 onInit()에서 INIT_PARAMETERS_INCORRECT를 반환합니다.

터미널/테스터에서 얻은 코드에 작성한 내용, INIT_FAILED를 반환하면 잘못된 초기화를 의미하고 테스트도 수행되지 않습니다. 작성한 내용은 얻은 것입니다. 질문은 무엇입니까?

문제는 빨간색으로 강조 표시되지 않는다는 것입니다. )
 
multiplicator :
문제는 빨간색으로 강조 표시되지 않는다는 것입니다. )

분명히 손에 터미널이 없지만 빨간색으로 보입니다. 메타 편집기의 오류 로그 만 강조 표시되고 터미널과 테스터에서 아이콘 만 빨간색으로 표시되며 텍스트 자체가 "붉어지지"않습니다.

 
Igor Makanu :

분명히 손에 터미널이 없지만 빨간색으로 보입니다. 메타 편집기의 오류 로그 만 강조 표시되고 터미널과 테스터에서 아이콘 만 빨간색으로 표시되며 텍스트 자체가 "붉어지지"않습니다.

그리고 그는 부끄러움이나 노력으로 얼굴을 붉히지 않았습니다.

 
오늘의 좋은 날. 조언자에 지표를 넣는 것을 도와주세요. 복사할 섹션은 무엇입니까?
 //+------------------------------------------------------------------+
//|                                                    atrValues.mq4 |
//|                                    Copyright 2015, Mohit Marwaha |
//|                                                marwaha1@gmail.com|
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Mohit Marwaha"
#property link        "marwaha1@gmail.com"
#property version    "1.00"
#property strict
#property indicator_chart_window
//---
extern int atrPeriod= 10 ;
extern int infoCorner= 0 ;
extern int shift= 0 ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   Comment ( "Copyright MohitMarwaha" );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   ObjectsDeleteAll ();
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   double atr1= iATR ( Symbol (), 1 ,atrPeriod,shift);
   double atr5= iATR ( Symbol (), 5 ,atrPeriod,shift);
   double atr15= iATR ( Symbol (), 15 ,atrPeriod,shift);
   double atr30= iATR ( Symbol (), 30 ,atrPeriod,shift);
   double atr60= iATR ( Symbol (), 60 ,atrPeriod,shift);
   double atr240= iATR ( Symbol (), 240 ,atrPeriod,shift);
   double atr1440= iATR ( Symbol (), 1440 ,atrPeriod,shift);
   double atr10080= iATR ( Symbol (), 10080 ,atrPeriod,shift);
   double atr43200= iATR ( Symbol (), 43200 ,atrPeriod,shift);
//---
   ObjectCreate ( "ObjName1" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName1" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M1=" + DoubleToStr (atr1, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName1" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName1" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName1" , OBJPROP_YDISTANCE , 25 );
//---
   ObjectCreate ( "ObjName2" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName2" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M5=" + DoubleToStr (atr5, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName2" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName2" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName2" , OBJPROP_YDISTANCE , 40 );
//---
   ObjectCreate ( "ObjName3" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName3" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M15=" + DoubleToStr (atr15, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName3" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName3" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName3" , OBJPROP_YDISTANCE , 55 );
//---
   ObjectCreate ( "ObjName4" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName4" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M30=" + DoubleToStr (atr30, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName4" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName4" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName4" , OBJPROP_YDISTANCE , 70 );
//---
   ObjectCreate ( "ObjName5" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName5" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M60=" + DoubleToStr (atr60, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName5" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName5" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName5" , OBJPROP_YDISTANCE , 85 );
//---
   ObjectCreate ( "ObjName6" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName6" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M240=" + DoubleToStr (atr240, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName6" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName6" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName6" , OBJPROP_YDISTANCE , 100 );
//---
   ObjectCreate ( "ObjName7" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName7" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M1440=" + DoubleToStr (atr1440, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName7" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName7" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName7" , OBJPROP_YDISTANCE , 115 );
//---
   ObjectCreate ( "ObjName8" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName8" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M10080=" + DoubleToStr (atr10080, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName8" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName8" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName8" , OBJPROP_YDISTANCE , 130 );
//---
   ObjectCreate ( "ObjName9" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetText ( "ObjName9" , "ATR" + IntegerToString (atrPeriod, 0 )+ ": M43200=" + DoubleToStr (atr43200, 5 ), 8 , "Verdana" ,Red);
   ObjectSet ( "ObjName9" , OBJPROP_CORNER ,infoCorner);
   ObjectSet ( "ObjName9" , OBJPROP_XDISTANCE , 10 );
   ObjectSet ( "ObjName9" , OBJPROP_YDISTANCE , 145 );
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
Carcass77 :
오늘의 좋은 날. 어드바이저에 지표를 넣는 것을 도와주세요. 복사할 섹션은 무엇입니까?

무효 OnTick()

 
Alekseu Fedotov :

무효 OnTick()

시험을 마친

표시기 창 속성이 정의되어 있지 않음, indicator_chart_window가 적용됨 0 0


 
Carcass77 :
오늘의 좋은 날. 어드바이저에 지표를 넣는 것을 도와주세요. 복사할 섹션은 무엇입니까?

복사는 도움이 되지 않습니다. 읽어야 합니다. 여기에 기사가 있습니다. https://www.mql5.com/en/articles/1456

Перенос кода индикатора в код эксперта. Строение индикатора.
Перенос кода индикатора в код эксперта. Строение индикатора.
  • www.mql5.com
Предполагается, что читатель знаком с оптимизацией кода индикатора для того, чтобы этот индикатор пересчитывался на новых тиках только на непосчитанных барах. На мой взгляд, начинать изучение программирования на языке MQL4 следовало бы именно с этих вещей. Если вы всерьёз собрались использовать своего эксперта в реальной торговле и доверять...
 
Igor Makanu :

복사는 도움이 되지 않습니다. 읽어야 합니다. 여기 기사가 있습니다. https://www.mql5.com/ru/articles/1456

알았어 고마워.