初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1198 1...119111921193119411951196119711981199120012011202120312041205...1503 新しいコメント Alexey Viktorov 2020.03.21 16:26 #11971 Vitaly Muzichenko: 論理的には、まず配列にすべての行を収集 する必要があります、私は二次元 配列、または配列構造を作るだろう、最初の次元で第二に、作成の時間を追加する - 行の名前。 1つの実行のためのループでは、配列を充填した後、ループの外側には、最初の次元、つまり、時間によって並べ替えられます。 その結果は2番目のループで印刷されます。 その結果、2つのサイクルとその間のソートを実現しました。 私が問題を正しく理解していれば、以上です :) それは、配列の仕組みとはちょっと違う。文字列の配列もソートされないようです、必要ないので試してませんが。 削除済み 2020.03.21 16:31 #11972 Vitaly Muzichenko: 論理的には、まず配列にすべての行を集める必要があります。私は2次元配列、または配列構造を作り、1次元目に作成時間、2次元目に行の名前を追加します。 1つの実行のためのループでは、配列を充填した後、ループの外側には、最初の次元、つまり、時間によって並べ替えられます。 その結果は2番目のループで印刷されます。 その結果、2つのサイクルとその間のソートを実現しました。 すべて、私が問題を正しく理解していればの話ですが :) 質問 - この2次元配列はどのような型であるべきでしょうか?))) Vitaly Muzichenko 2020.03.21 16:31 #11973 Alexey Viktorov: それは、配列の仕組みとはちょっと違う。文字列の配列もソートされないようです、必要ないので試していません。 なぜ?以下は Документация по MQL5: Операции с массивами / ArraySort www.mql5.com //| Получение значений границ для тиковых объемов | //| Custom indicator initialization function | //| Custom indicator iteration function | // Alexey Viktorov 2020.03.21 17:15 #11974 Vitaly Muzichenko: なぜ?こちら しかし、構造の配列についてはどこにも書いていない。念のため確認しておく。でも、今すぐには無理です。 Vitaly Muzichenko 2020.03.21 18:05 #11975 Alexey Viktorov: しかし、構造の配列についてはどこにも書いていない。念のため確認しておく。でも、今すぐには無理です。 配列についてお答えしましたが、構造体の場合は別のソートがありますが、今回のタスクではそれほど重要ではありません。 削除済み 2020.03.21 18:20 #11976 Vitaly Muzichenko: 配列について回答しましたが、構造によってソートが異なりますが、今回の課題ではそれほど重要ではありません。 なんか遅くなっちゃった...。 long vlines_arr[][1]; vlines = ObjectsTotal(ChartID(),0,OBJ_VLINE); ArrayResize(vlines_arr,vlines); for(int i = 0; i < vlines; i++) { long tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); vlines_arr[i][0] = {{tml}, {i}}; } そのようにコンパイルできないのですが...。 Vitaly Muzichenko 2020.03.21 18:39 #11977 Сергей Таболин: 何か足手まといだなぁ...。 そのようにコンパイルできないのですが...。 long vlines_arr[][2]; vlines = ObjectsTotal(ChartID(),0,OBJ_VLINE); ArrayResize(vlines_arr,vlines); for(int i = 0; i < vlines; i++) { long tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); vlines_arr[i][0] = tml; vlines_arr[i][1] = i; } 削除済み 2020.03.21 20:01 #11978 Vitaly Muzichenko: ありがとうございます。寝る時間だ ))) 削除済み 2020.03.21 20:24 #11979 謎のシンプルさ...。 void OnStart() { int vlines = 0; string vlines_name[]; string vlines_name_sort[]; datetime tm[]; long vlines_arr[][2]; vlines = ObjectsTotal(ChartID(),0,OBJ_VLINE); if(vlines < 20 * 2) { Print("вертикальных линий меньше необходимиого. (",vlines," < ",20 * 2,")"); return; } ArrayResize(vlines_arr,vlines); ArrayResize(vlines_name,vlines); ArrayResize(vlines_name_sort,vlines); for(int i = 0; i < vlines; i++) { long tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); vlines_arr[i][0] = tml; vlines_arr[i][1] = (long)i; } ArrayPrint(vlines_arr); ArraySort(vlines_arr); Print("-------------"); ArrayPrint(vlines_arr); for(int i = 0; i < vlines; i++) { vlines_name_sort[i] = ObjectName(ChartID(),(int)vlines_arr[i][1],0,OBJ_VLINE); } ArrayPrint(vlines_name_sort); 初めて実行 したときは、配列が表示され、すべてうまくいきました。 これを追加 しました - と言っても、何が何だか全く分かりませんが...。やっぱり寝る時間なんだろうな...。 (GBPUSD,H6) [,0][,1] (GBPUSD,H6) [ 0,] 0 0 (GBPUSD,H6) [ 1,] 0 1 (GBPUSD,H6) [ 2,] 0 2 (GBPUSD,H6) [ 3,] 0 3 (GBPUSD,H6) [ 4,] 0 4 (GBPUSD,H6) [ 5,] 0 5 (GBPUSD,H6) [ 6,] 0 6 (GBPUSD,H6) [ 7,] 0 7 (GBPUSD,H6) [ 8,] 0 8 (GBPUSD,H6) [ 9,] 0 9 (GBPUSD,H6) [10,] 0 10 (GBPUSD,H6) [11,] 0 11 (GBPUSD,H6) [12,] 0 12 (GBPUSD,H6) [13,] 0 13 (GBPUSD,H6) [14,] 0 14 (GBPUSD,H6) [15,] 0 15 (GBPUSD,H6) [16,] 0 16 (GBPUSD,H6) [17,] 0 17 (GBPUSD,H6) [18,] 0 18 (GBPUSD,H6) [19,] 0 19 (GBPUSD,H6) [20,] 0 20 (GBPUSD,H6) [21,] 0 21 (GBPUSD,H6) [22,] 0 22 (GBPUSD,H6) [23,] 0 23 (GBPUSD,H6) [24,] 0 24 (GBPUSD,H6) [25,] 0 25 (GBPUSD,H6) [26,] 0 26 (GBPUSD,H6) [27,] 0 27 (GBPUSD,H6) [28,] 0 28 (GBPUSD,H6) [29,] 0 29 (GBPUSD,H6) [30,] 0 30 (GBPUSD,H6) [31,] 0 31 (GBPUSD,H6) [32,] 0 32 (GBPUSD,H6) [33,] 0 33 (GBPUSD,H6) [34,] 0 34 (GBPUSD,H6) [35,] 0 35 (GBPUSD,H6) [36,] 0 36 (GBPUSD,H6) [37,] 0 37 (GBPUSD,H6) [38,] 0 38 (GBPUSD,H6) [39,] 0 39 (GBPUSD,H6) [40,] 0 40 (GBPUSD,H6) [41,] 0 41 (GBPUSD,H6) [42,] 0 42 (GBPUSD,H6) [43,] 0 43 (GBPUSD,H6) [44,] 0 44 (GBPUSD,H6) [45,] 0 45 (GBPUSD,H6) [46,] 0 46 (GBPUSD,H6) [47,] 0 47 (GBPUSD,H6) [48,] 0 48 (GBPUSD,H6) [49,] 0 49 (GBPUSD,H6) ------------- (GBPUSD,H6) [,0][,1] (GBPUSD,H6) [ 0,] 0 0 (GBPUSD,H6) [ 1,] 0 1 (GBPUSD,H6) [ 2,] 0 2 (GBPUSD,H6) [ 3,] 0 3 (GBPUSD,H6) [ 4,] 0 4 (GBPUSD,H6) [ 5,] 0 5 (GBPUSD,H6) [ 6,] 0 6 (GBPUSD,H6) [ 7,] 0 7 (GBPUSD,H6) [ 8,] 0 8 (GBPUSD,H6) [ 9,] 0 9 (GBPUSD,H6) [10,] 0 10 (GBPUSD,H6) [11,] 0 11 (GBPUSD,H6) [12,] 0 12 (GBPUSD,H6) [13,] 0 13 (GBPUSD,H6) [14,] 0 14 (GBPUSD,H6) [15,] 0 15 (GBPUSD,H6) [16,] 0 16 (GBPUSD,H6) [17,] 0 17 (GBPUSD,H6) [18,] 0 18 (GBPUSD,H6) [19,] 0 19 (GBPUSD,H6) [20,] 0 20 (GBPUSD,H6) [21,] 0 21 (GBPUSD,H6) [22,] 0 22 (GBPUSD,H6) [23,] 0 23 (GBPUSD,H6) [24,] 0 24 (GBPUSD,H6) [25,] 0 25 (GBPUSD,H6) [26,] 0 26 (GBPUSD,H6) [27,] 0 27 (GBPUSD,H6) [28,] 0 28 (GBPUSD,H6) [29,] 0 29 (GBPUSD,H6) [30,] 0 30 (GBPUSD,H6) [31,] 0 31 (GBPUSD,H6) [32,] 0 32 (GBPUSD,H6) [33,] 0 33 (GBPUSD,H6) [34,] 0 34 (GBPUSD,H6) [35,] 0 35 (GBPUSD,H6) [36,] 0 36 (GBPUSD,H6) [37,] 0 37 (GBPUSD,H6) [38,] 0 38 (GBPUSD,H6) [39,] 0 39 (GBPUSD,H6) [40,] 0 40 (GBPUSD,H6) [41,] 0 41 (GBPUSD,H6) [42,] 0 42 (GBPUSD,H6) [43,] 0 43 (GBPUSD,H6) [44,] 0 44 (GBPUSD,H6) [45,] 0 45 (GBPUSD,H6) [46,] 0 46 (GBPUSD,H6) [47,] 0 47 (GBPUSD,H6) [48,] 0 48 (GBPUSD,H6) [49,] 0 49 (GBPUSD,H6) [ 0] "H6 Vertical Line 10771" "H6 Vertical Line 10884" "H6 Vertical Line 12743" "H6 Vertical Line 1371" "H6 Vertical Line 14306" (GBPUSD,H6) [ 5] "H6 Vertical Line 16501" "H6 Vertical Line 17907" "H6 Vertical Line 20277" "H6 Vertical Line 23365" "H6 Vertical Line 28358" Vitaly Muzichenko 2020.03.21 20:42 #11980 Сергей Таболин:謎のシンプルさ...。初めて実行 したときは、配列が表示され、すべてうまくいきました。これを追加 しました - と言っても、何が何だか全く分かりませんが...。やっぱり寝る時間なんですね...。 何か理解できないかもしれませんが、ここではlong tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); index ではなく line name を代入して ください。 1...119111921193119411951196119711981199120012011202120312041205...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
論理的には、まず配列にすべての行を収集 する必要があります、私は二次元 配列、または配列構造を作るだろう、最初の次元で第二に、作成の時間を追加する - 行の名前。
1つの実行のためのループでは、配列を充填した後、ループの外側には、最初の次元、つまり、時間によって並べ替えられます。
その結果は2番目のループで印刷されます。
その結果、2つのサイクルとその間のソートを実現しました。
私が問題を正しく理解していれば、以上です :)
それは、配列の仕組みとはちょっと違う。文字列の配列もソートされないようです、必要ないので試してませんが。
論理的には、まず配列にすべての行を集める必要があります。私は2次元配列、または配列構造を作り、1次元目に作成時間、2次元目に行の名前を追加します。
1つの実行のためのループでは、配列を充填した後、ループの外側には、最初の次元、つまり、時間によって並べ替えられます。
その結果は2番目のループで印刷されます。
その結果、2つのサイクルとその間のソートを実現しました。
すべて、私が問題を正しく理解していればの話ですが :)
質問 - この2次元配列はどのような型であるべきでしょうか?)))
それは、配列の仕組みとはちょっと違う。文字列の配列もソートされないようです、必要ないので試していません。
なぜ?以下は
なぜ?こちら
しかし、構造の配列についてはどこにも書いていない。念のため確認しておく。でも、今すぐには無理です。
しかし、構造の配列についてはどこにも書いていない。念のため確認しておく。でも、今すぐには無理です。
配列についてお答えしましたが、構造体の場合は別のソートがありますが、今回のタスクではそれほど重要ではありません。
配列について回答しましたが、構造によってソートが異なりますが、今回の課題ではそれほど重要ではありません。
なんか遅くなっちゃった...。
そのようにコンパイルできないのですが...。
何か足手まといだなぁ...。
そのようにコンパイルできないのですが...。
ありがとうございます。寝る時間だ )))
謎のシンプルさ...。
初めて実行 したときは、配列が表示され、すべてうまくいきました。
これを追加 しました - と言っても、何が何だか全く分かりませんが...。やっぱり寝る時間なんだろうな...。
(GBPUSD,H6) [,0][,1] (GBPUSD,H6) [ 0,] 0 0 (GBPUSD,H6) [ 1,] 0 1 (GBPUSD,H6) [ 2,] 0 2 (GBPUSD,H6) [ 3,] 0 3 (GBPUSD,H6) [ 4,] 0 4 (GBPUSD,H6) [ 5,] 0 5 (GBPUSD,H6) [ 6,] 0 6 (GBPUSD,H6) [ 7,] 0 7 (GBPUSD,H6) [ 8,] 0 8 (GBPUSD,H6) [ 9,] 0 9 (GBPUSD,H6) [10,] 0 10 (GBPUSD,H6) [11,] 0 11 (GBPUSD,H6) [12,] 0 12 (GBPUSD,H6) [13,] 0 13 (GBPUSD,H6) [14,] 0 14 (GBPUSD,H6) [15,] 0 15 (GBPUSD,H6) [16,] 0 16 (GBPUSD,H6) [17,] 0 17 (GBPUSD,H6) [18,] 0 18 (GBPUSD,H6) [19,] 0 19 (GBPUSD,H6) [20,] 0 20 (GBPUSD,H6) [21,] 0 21 (GBPUSD,H6) [22,] 0 22 (GBPUSD,H6) [23,] 0 23 (GBPUSD,H6) [24,] 0 24 (GBPUSD,H6) [25,] 0 25 (GBPUSD,H6) [26,] 0 26 (GBPUSD,H6) [27,] 0 27 (GBPUSD,H6) [28,] 0 28 (GBPUSD,H6) [29,] 0 29 (GBPUSD,H6) [30,] 0 30 (GBPUSD,H6) [31,] 0 31 (GBPUSD,H6) [32,] 0 32 (GBPUSD,H6) [33,] 0 33 (GBPUSD,H6) [34,] 0 34 (GBPUSD,H6) [35,] 0 35 (GBPUSD,H6) [36,] 0 36 (GBPUSD,H6) [37,] 0 37 (GBPUSD,H6) [38,] 0 38 (GBPUSD,H6) [39,] 0 39 (GBPUSD,H6) [40,] 0 40 (GBPUSD,H6) [41,] 0 41 (GBPUSD,H6) [42,] 0 42 (GBPUSD,H6) [43,] 0 43 (GBPUSD,H6) [44,] 0 44 (GBPUSD,H6) [45,] 0 45 (GBPUSD,H6) [46,] 0 46 (GBPUSD,H6) [47,] 0 47 (GBPUSD,H6) [48,] 0 48 (GBPUSD,H6) [49,] 0 49 (GBPUSD,H6) ------------- (GBPUSD,H6) [,0][,1] (GBPUSD,H6) [ 0,] 0 0 (GBPUSD,H6) [ 1,] 0 1 (GBPUSD,H6) [ 2,] 0 2 (GBPUSD,H6) [ 3,] 0 3 (GBPUSD,H6) [ 4,] 0 4 (GBPUSD,H6) [ 5,] 0 5 (GBPUSD,H6) [ 6,] 0 6 (GBPUSD,H6) [ 7,] 0 7 (GBPUSD,H6) [ 8,] 0 8 (GBPUSD,H6) [ 9,] 0 9 (GBPUSD,H6) [10,] 0 10 (GBPUSD,H6) [11,] 0 11 (GBPUSD,H6) [12,] 0 12 (GBPUSD,H6) [13,] 0 13 (GBPUSD,H6) [14,] 0 14 (GBPUSD,H6) [15,] 0 15 (GBPUSD,H6) [16,] 0 16 (GBPUSD,H6) [17,] 0 17 (GBPUSD,H6) [18,] 0 18 (GBPUSD,H6) [19,] 0 19 (GBPUSD,H6) [20,] 0 20 (GBPUSD,H6) [21,] 0 21 (GBPUSD,H6) [22,] 0 22 (GBPUSD,H6) [23,] 0 23 (GBPUSD,H6) [24,] 0 24 (GBPUSD,H6) [25,] 0 25 (GBPUSD,H6) [26,] 0 26 (GBPUSD,H6) [27,] 0 27 (GBPUSD,H6) [28,] 0 28 (GBPUSD,H6) [29,] 0 29 (GBPUSD,H6) [30,] 0 30 (GBPUSD,H6) [31,] 0 31 (GBPUSD,H6) [32,] 0 32 (GBPUSD,H6) [33,] 0 33 (GBPUSD,H6) [34,] 0 34 (GBPUSD,H6) [35,] 0 35 (GBPUSD,H6) [36,] 0 36 (GBPUSD,H6) [37,] 0 37 (GBPUSD,H6) [38,] 0 38 (GBPUSD,H6) [39,] 0 39 (GBPUSD,H6) [40,] 0 40 (GBPUSD,H6) [41,] 0 41 (GBPUSD,H6) [42,] 0 42 (GBPUSD,H6) [43,] 0 43 (GBPUSD,H6) [44,] 0 44 (GBPUSD,H6) [45,] 0 45 (GBPUSD,H6) [46,] 0 46 (GBPUSD,H6) [47,] 0 47 (GBPUSD,H6) [48,] 0 48 (GBPUSD,H6) [49,] 0 49 (GBPUSD,H6) [ 0] "H6 Vertical Line 10771" "H6 Vertical Line 10884" "H6 Vertical Line 12743" "H6 Vertical Line 1371" "H6 Vertical Line 14306" (GBPUSD,H6) [ 5] "H6 Vertical Line 16501" "H6 Vertical Line 17907" "H6 Vertical Line 20277" "H6 Vertical Line 23365" "H6 Vertical Line 28358"
謎のシンプルさ...。
初めて実行 したときは、配列が表示され、すべてうまくいきました。
これを追加 しました - と言っても、何が何だか全く分かりませんが...。やっぱり寝る時間なんですね...。
何か理解できないかもしれませんが、ここではlong tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); index ではなく line name を代入して ください。