MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1636 1...162916301631163216331634163516361637163816391640164116421643...1953 新しいコメント Valeriy Yastremskiy 2021.09.30 10:06 #16351 Alexey Viktorov #: 全く逆だった。OnDeInit()では、Expert Advisorはループによってすべてのオブジェクトを削除する時間がありませんでした。この掲示板でも話題になりましたね。解決策は明確で、接頭辞ですべてを削除することです...。 サイクルのない接頭辞はないのか? Alexey Viktorov 2021.09.30 10:19 #16352 Valeriy Yastremskiy #:サイクルのない接頭辞はないのか? int ObjectsDeleteAll( long chart_id, // идентификатор графика const string prefix, // префикс имени объекта int sub_window=-1, // индекс окна int object_type=-1 // тип объекта для удаления ); ObjectsDeleteAll - Графические объекты - Справочник MQL4 docs.mql4.com ObjectsDeleteAll - Графические объекты - Справочник MQL4 Valeriy Yastremskiy 2021.09.30 10:21 #16353 Alexey Viktorov #: おいおい...昔話に花が咲いたよ。 ええ、私もそうです。目安としては、余計なものは削除せず、自分のものだけ) Taras Slobodyanik 2021.09.30 10:30 #16354 Alexey Viktorov #: 全く逆だった。OnDeInit()では、Expert Advisorはループによってすべてのオブジェクトを削除する時間がなかった。このことは、このフォーラムでも議論されています。解決策は明確で、接頭辞ですべてを削除すること...。 その逆で、ObjectsDeleteAllはdeinitによって中断されたため、すべてを削除する時間がなかったのです) 単純なループがすべてを削除している間、ターミナルはプログラムを待っているのです。 ps.ObjectsDeleteAll は同じループで、カスタムのものと変わりません。 pribludilsa 2021.09.30 11:34 #16355 mql5プログラムでファイルをディスクに書き込まず、RAMだけで作業する方法、高速化する方法。mql5のプログラムから自分のコンピュータのプログラムにデータを転送したい。 Alexey Viktorov 2021.09.30 11:52 #16356 pribludilsa #: mql5プログラムでファイルをディスクに書き込まず、RAMだけで動作させ、高速化する方法。mql5のプログラムから自分のコンピュータのプログラムにデータを転送したい。 ディスクに書き込まずにBD SQLiteを試す こともできますが、私はやったことがないので、成功する自信はあまりありません。一般的には、実験する必要があります。 pribludilsa 2021.09.30 11:56 #16357 Alexey Viktorov #:ディスクに書き込まずにBD SQLiteを試す こともできますが、私はやったことがないので、成功する自信はあまりありません。一般的には、実験する必要があります。 ありがとうございます。 Artyom Trishkin 2021.09.30 12:18 #16358 Valeriy Yastremskiy #:変位については、理由をつけたほうがいい、よくできた、書きたかった) 私はそれを期待していた - その人が理由を考えたいと思うか、誰かが2回目(3回目、5回目)にその人に伝えるか - その方がわかりやすい(特にその人がそれを理解したいと思う、興味を示す場合)。 Nerd Trader 2021.09.30 14:33 #16359 Artyom Trishkin #:削除のサイクルを逆転させる必要があります。で、これはグラフィカル・オブジェクトの削除だけでなく、ターミナル・リスト内のあらゆるオブジェクトの削除に一般的に適用されます。オブジェクトがシステム的に配列に格納されているからでしょうか? オブジェクトの各グループをサイクル(ArrowDownとArrowUp)で別々に削除すると、チャートから正しく削除されます。for(ushort i=0; i < n_arrow_down ; i++) { Print("ObjectName ",ObjectName(i),", i-down = ",i); ObjectDelete("ArrowDown"+IntegerToString(i, 4, '0')); } for(ushort i=0; i < n_arrow_up ; i++) { Print("ObjectName ",ObjectName(i),", i-up = ",i); ObjectDelete("ArrowUp"+IntegerToString(i, 4, '0')); } サイクルの出力は最初のケースと同じであるのに対し、 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 21 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 20 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 19 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 18 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 17 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 16 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 15 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 14 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 13 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 12 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName , i-up = 11 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0020, i-up = 10 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0018, i-up = 9 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0016, i-up = 8 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0014, i-up = 7 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0012, i-up = 6 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0010, i-up = 5 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0008, i-up = 4 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0006, i-up = 3 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0004, i-up = 2 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0002, i-up = 1 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0000, i-up = 0 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0017, i-down = 18 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0015, i-down = 17 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0013, i-down = 16 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0011, i-down = 15 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0009, i-down = 14 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0007, i-down = 13 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0005, i-down = 12 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0003, i-down = 11 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowUp0001, i-down = 10 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0018, i-down = 9 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0016, i-down = 8 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0014, i-down = 7 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0012, i-down = 6 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0010, i-down = 5 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0008, i-down = 4 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0006, i-down = 3 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0004, i-down = 2 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0002, i-down = 1 2021.09.30 15:15:59.721 2021.01.04 07:56:37 test EURUSD,M1: ObjectName ArrowDown0000, i-down = 0 Nerd Trader 2021.09.30 14:38 #16360 MakarFX #: なぜ、ループを通して削除する必要があるのですか? ObjectsDeleteAllがあることを知らなかったので、今度はその真相を知りたいです。 1...162916301631163216331634163516361637163816391640164116421643...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
全く逆だった。OnDeInit()では、Expert Advisorはループによってすべてのオブジェクトを削除する時間がありませんでした。この掲示板でも話題になりましたね。解決策は明確で、接頭辞ですべてを削除することです...。
サイクルのない接頭辞はないのか?
サイクルのない接頭辞はないのか?
おいおい...昔話に花が咲いたよ。
ええ、私もそうです。目安としては、余計なものは削除せず、自分のものだけ)
全く逆だった。OnDeInit()では、Expert Advisorはループによってすべてのオブジェクトを削除する時間がなかった。このことは、このフォーラムでも議論されています。解決策は明確で、接頭辞ですべてを削除すること...。
その逆で、ObjectsDeleteAllはdeinitによって中断されたため、すべてを削除する時間がなかったのです)
単純なループがすべてを削除している間、ターミナルはプログラムを待っているのです。
ps.ObjectsDeleteAll は同じループで、カスタムのものと変わりません。
mql5プログラムでファイルをディスクに書き込まず、RAMだけで動作させ、高速化する方法。mql5のプログラムから自分のコンピュータのプログラムにデータを転送したい。
ディスクに書き込まずにBD SQLiteを試す こともできますが、私はやったことがないので、成功する自信はあまりありません。一般的には、実験する必要があります。
ディスクに書き込まずにBD SQLiteを試す こともできますが、私はやったことがないので、成功する自信はあまりありません。一般的には、実験する必要があります。
変位については、理由をつけたほうがいい、よくできた、書きたかった)
私はそれを期待していた - その人が理由を考えたいと思うか、誰かが2回目(3回目、5回目)にその人に伝えるか - その方がわかりやすい(特にその人がそれを理解したいと思う、興味を示す場合)。
削除のサイクルを逆転させる必要があります。
で、これはグラフィカル・オブジェクトの削除だけでなく、ターミナル・リスト内のあらゆるオブジェクトの削除に一般的に適用されます。
オブジェクトがシステム的に配列に格納されているからでしょうか?
サイクルの出力は最初のケースと同じであるのに対し、オブジェクトの各グループをサイクル(ArrowDownとArrowUp)で別々に削除すると、チャートから正しく削除されます。
なぜ、ループを通して削除する必要があるのですか?