MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 728

 
multiplicator:

init_parameters_incorrect

プログラマーに入力パラメータのセットが正しくないことを示すように設計されており、このリターンコードを持つ結果文字列は、一般的な最適化テーブルで赤色にハイライトさ れます。

Expert Advisorのこのパラメータセットでは、テストは実行されません。



何かが赤くハイライトされていない。

誰にとってもそうなのでしょうか?


以下は、oninitのコードです。


ジャーナルは以下のエラーを発生させます。



こう書くと変かな?

onInit() return INIT_PARAMETERS_INCORRECT で具体的に記述されています。

INIT_FAILEDを返したら、初期化が間違っていてテストができない・・・ということなので、書いたものがそのまま返ってきて、何が問題なのか?

 
multiplicator:

init_parameters_incorrect

プログラマーに入力パラメータのセットが正しくないことを示すように設計されており、このリターンコードを持つ結果文字列は、一般的な最適化テーブルで赤色にハイライトさ れます。

このExpert Advisorのパラメータセットでは、テストは実行されません。



何かが赤くハイライトされていない。

誰にとってもそうなのでしょうか?


これはOnInitのコードです。


ジャーナルでは、このようなエラーが発生します。



ご質問の内容を示すような最適化テーブルそのものはどこにあるのでしょうか?

 
Igor Makanu:

は、このように書くとおかしいですか?

具体的にはonInit()でINIT_PARAMETERS_INCORRECTを返していますね。

コードに書いたことは、ターミナル/テスターで得られるものです。INIT_FAILEDを返した場合は、初期化が間違っていてテストができないことを意味します。書いたことは得られるものなので、何が問題なのでしょうか?

は、赤を強調する問題ではありません。)
 
multiplicator:
の質問は、赤を強調していない。)

わかりました、手元に端末がないのですが、メタエディタのエラーログだけが赤くハイライトされ、端末やテスターではアイコンだけが赤くなり、テキスト自体は "赤く" ならないようです。

 
Igor Makanu:

なるほど、手元にターミナルがないのですが、メタエディタのエラーログだけが赤くハイライトされて、ターミナルやテスターではアイコンだけが赤くなり、テキスト自体は "赤" になっていないようです

恥ずかしくても、ストレスでも、赤くなったことはありません。

 
こんにちは。私のEAにインジケータを 入れるのを手伝ってください。どのセクションにコピーすればいいのでしょうか?
//+------------------------------------------------------------------+
//|                                                    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:
ごきげんよう。私のEAにこのインジケータを導入するのを手伝ってください。どこでコピーすればいいのですか?

void OnTick()

 
Alekseu Fedotov:

void OnTick()

トライアル

インジケータウィンドウプロパティが定義されていないため、indicator_chart_window が適用される 0 0


 
Carcass77:
ごきげんよう。EAにインジケータを入れるのを支援します。どのセクションにコピーすればいいのでしょうか?

コピーでは解決しない、読む必要がある、ここに記事があるhttps://www.mql5.com/ru/articles/1456

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

コピーでは役に立ちません。読む必要があります。以下は記事ですhttps://www.mql5.com/ru/articles/1456

OK、ありがとうございます。