Array out of range in Need of help - ページ 14 1...7891011121314151617 新しいコメント Tretyakov Rostyslav 2020.12.14 07:17 #131 Dark Kchlyzov:公式からMT4をインストールし、試運転をしたかった。午後MT4端末のインストールに問題があった。サイトより4版をダウンロードし、インストールを開始しましたが、インストール終了後、MT5ターミナルが表示されます。MT4を正確にインストールするにはどうしたらいいですか?回答:できません。旧バージョンのサポートは終了しています。MT5 をご利用ください。 You can do it Tretyakov Rostyslav 2020.12.14 08:03 #132 全使用期間でのテスト 2016.01.01以降のAUDUSDEURUSD 2011.01.01以降 2011.01.01以降のGBPUSD 中古と for(int i = 1; ;i++)и for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) エラーログは添付されません ファイル: AUDUSD.log 305 kb EURUSD.log 612 kb GBPUSD.log 612 kb Tretyakov Rostyslav 2020.12.14 08:04 #133 解決策 for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) { if(Bar_data_D1 [i][2]!=Bar_data_D1 [i+1][2]&&Bar_data_D1 [i][2] < Low_D1_Level) {Min_D_Level = Bar_data_D1 [i][2]; break;} if(Bar_data_D1 [i][2]==Bar_data_D1 [i+1][2]) {Min_D_Level = Low_D1_Level; break;} } Tretyakov Rostyslav 2020.12.14 09:24 #134 インジケータを作成、全て正しく描画されているようです Dark Kchlyzov 2020.12.14 09:32 #135 MakarFX:解決方法 投稿の最初のページに戻る ! 2020.12.14 14:23:44.222 Expert Test_Level AUDUSD,H1: 削除しました。 2020.12.14 14:23:44.234 Expert Test_Level AUDUSD,H1: ロードに成功しました。 2020.12.14 14:23:44.365 TestGenerator: 現在のスプレッド 20 が使用されています。 2020.12.14 14:23:45.263 2020.01.24 00:00:00 Test_Level テストを開始しました。 2020.12.14 14:24:29.044 2020.02.10 00:05:00 Test_Level AUDUSD,H1: 'Test_Level.mq4' (39,40) の配列は範囲外です。 2020.12.14 14:24:29.044 2020.02.10 00:05:00 EAの重大なエラーのためテストパス停止 2020.12.14 14:24:29.044 AUDUSD,H1: 245717 tick events (265 bars, 9638212 bar states) processed in 0:00:43.781 (total time 0:00:44.766) 不要なものをすべて削除し、関数を本体に移動し、あなたの解決策を追加し、再び'Test_Level.mq4' (39,40) で配列が範囲外になりました -:) オールオッケー で、実際に範囲外の配列が ここにあります。 //+------------------------------------------------------------------+ //| Test_Level.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "3.0" #property strict double Bar_data_D1 [][6]; // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров D1 double Low_D1_Level; // Возвращает значение минимальной цены бара D1 double Min_D_Level ; // ближайшей минимальный D уровень int A_C_R; // возвращает количество скопированных баров D1 //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { DestroyObject(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { A_C_R = ArrayCopyRates(Bar_data_D1,_Symbol,PERIOD_D1); // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров Low_D1_Level = iLow (_Symbol,PERIOD_D1,1); // Возвращает значение минимальной цены бара D1 //--- Min_D_Leve V 1.2 for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) { if(Bar_data_D1 [i][2] != Bar_data_D1 [i+1][2] && Bar_data_D1 [i][2] < Low_D1_Level) { Min_D_Level = Bar_data_D1 [i][2];break; } if(Bar_data_D1 [i][2] == Bar_data_D1 [i+1][2]) { Min_D_Level = Low_D1_Level;break; } } /* //--- Min_D_Leve V 1.0 //for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) // так ошибки нет и линия не перерисовывается for(int i = 1; ;i++) // а так выход за массив { Print(" i = ",i," Bar_data_D1 [i][2] = ",Bar_data_D1 [i][2]); if(Bar_data_D1 [i][2]>=0) { if( Bar_data_D1 [i][2] < Low_D1_Level) { Min_D_Level = Bar_data_D1 [i][2];break; } } } */ //+-------------------------Low_D1_Level----------------------------+ if(ObjectFind("Low_D1")!=Low_D1_Level) { ObjectDelete("Low_D1"); if(ObjectFind("Low_D1")!=0) { ObjectCreate("Low_D1",OBJ_HLINE, 0, Time[0],Low_D1_Level); ObjectSet("Low_D1", OBJPROP_COLOR, clrMaroon); ObjectSet("Low_D1", OBJPROP_WIDTH, 1); } } if(ObjectFind("Low_D1_label")!=Low_D1_Level) { ObjectDelete("Low_D1_label"); if(ObjectFind("Low_D1_label") != 0) { ObjectCreate("Low_D1_label", OBJ_TEXT, 0, Time[13], Low_D1_Level); ObjectSetText("Low_D1_label", "Low_D1: " + DoubleToStr(Low_D1_Level,_Digits), 8,"Verdana", Brown); } } //+-------------------------Min_D_Level----------------------------+ if(ObjectFind("Min_D")!= Min_D_Level) { ObjectDelete("Min_D"); if(ObjectFind("Min_D")!=0) { ObjectCreate("Min_D",OBJ_HLINE, 0, Time[0],Min_D_Level); ObjectSet("Min_D", OBJPROP_COLOR, clrMaroon); ObjectSet("Min_D", OBJPROP_WIDTH, 1); } } if(ObjectFind("Min_D_label")!=Min_D_Level) { ObjectDelete("Min_D_label"); if(ObjectFind("Min_D_label") != 0) { ObjectCreate("Min_D_label", OBJ_TEXT, 0, Time[30], Min_D_Level); ObjectSetText("Min_D_label", "Min_D: " + DoubleToStr(Min_D_Level,_Digits), 8,"Verdana", Brown); } } Comment(" A_C_R возвращает количество скопированных баров D1 = ",A_C_R); } //+------------------------------------------------------------------+ //| функция удаление всех объектов созданных советником //+------------------------------------------------------------------+ void DestroyObject() { int tot=ObjectsTotal(); for( int i=tot; i>=0; i--) { if(ObjectName(i)=="Low_MN1"){ObjectDelete(0,"Low_MN1");Print("<< Объект Low_MN удалён >>");} if(ObjectName(i)=="Low_MN1_label"){ObjectDelete(0,"Low_MN1_label");Print("<< Объект Low_MN1_label удалён >>");} if(ObjectName(i)=="Min_D"){ObjectDelete(0,"Min_D");Print("<< Объект Min_D удалён >>");} if(ObjectName(i)=="Min_D_label"){ObjectDelete(0,"Min_D_label");Print("<< Объект Min_D_label удалён >>");} } } Array out of range PREDICT time period EA load error Tretyakov Rostyslav 2020.12.14 09:44 #136 Dark Kchlyzov:投稿の最初のページから戻る !不要なものをすべて削除し、関数を本体に移動し、あなたのソリューションを追加し、再び'Test_Level.mq4' (39,40) で範囲外の配列 -:) を追加しました。 端末のエラー 上の投稿からコードをコピーして、テストを実行しました。 ログはこちら ファイル: AUDUSD.log 7368 kb Tretyakov Rostyslav 2020.12.14 09:48 #137 これから別のブローカー、つまり別の端末で試してみます。 Tretyakov Rostyslav 2020.12.14 09:52 #138 10年後のアルパリ、間違いはない ファイル: Alpari_AUDUSD.log 15491 kb Dark Kchlyzov 2020.12.14 09:52 #139 MakarFX:端末のエラー上の投稿からコードをコピーして、テストを実行しました。これがそのログです。 以下、ニュースです。 そして、2020年1月1日のAUDUSDからの可視化実行で おそらく、違いはないでしょう。 Tretyakov Rostyslav 2020.12.14 09:54 #140 ブローカーは誰ですか? 使用する端末は? 1...7891011121314151617 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
公式からMT4をインストールし、試運転をしたかった。
午後MT4端末のインストールに問題があった。サイトより4版をダウンロードし、インストールを開始しましたが、インストール終了後、MT5ターミナルが表示されます。MT4を正確にインストールするにはどうしたらいいですか?
回答:できません。旧バージョンのサポートは終了しています。MT5 をご利用ください。
You can do it
全使用期間でのテスト
2016.01.01以降のAUDUSD
EURUSD 2011.01.01以降
2011.01.01以降のGBPUSD
中古と
и
エラーログは添付されません解決策
インジケータを作成、全て正しく描画されているようです
解決方法
投稿の最初のページに戻る !
2020.12.14 14:23:44.222 Expert Test_Level AUDUSD,H1: 削除しました。
2020.12.14 14:23:44.234 Expert Test_Level AUDUSD,H1: ロードに成功しました。
2020.12.14 14:23:44.365 TestGenerator: 現在のスプレッド 20 が使用されています。
2020.12.14 14:23:45.263 2020.01.24 00:00:00 Test_Level テストを開始しました。
2020.12.14 14:24:29.044 2020.02.10 00:05:00 Test_Level AUDUSD,H1: 'Test_Level.mq4' (39,40) の配列は範囲外です。
2020.12.14 14:24:29.044 2020.02.10 00:05:00 EAの重大なエラーのためテストパス停止
2020.12.14 14:24:29.044 AUDUSD,H1: 245717 tick events (265 bars, 9638212 bar states) processed in 0:00:43.781 (total time 0:00:44.766)
不要なものをすべて削除し、関数を本体に移動し、あなたの解決策を追加し、再び'Test_Level.mq4' (39,40) で配列が範囲外になりました -:)
オールオッケー
で、実際に範囲外の配列が ここにあります。
投稿の最初のページから戻る !
不要なものをすべて削除し、関数を本体に移動し、あなたのソリューションを追加し、再び'Test_Level.mq4' (39,40) で範囲外の配列 -:) を追加しました。
端末のエラー
上の投稿からコードをコピーして、テストを実行しました。
ログはこちら
端末のエラー
上の投稿からコードをコピーして、テストを実行しました。
これがそのログです。
以下、ニュースです。
そして、2020年1月1日のAUDUSDからの可視化実行で
おそらく、違いはないでしょう。
ブローカーは誰ですか?
使用する端末は?