エラー、バグ、質問 - ページ 2796 1...278927902791279227932794279527962797279827992800280128022803...3185 新しいコメント Artyom Trishkin 2020.07.11 18:13 #27951 Mihail Matkovskij:アレクセイ、このフォーラムで私の投稿をねじ曲げて、私の代わりに開発者にクレームをつけたように見せる以外にやることがないのか...?そんな妙な「意気込み」の理由は何だったんでしょうね。こんなところでくだらないことをするくらいなら、適切なスレッドで初心者の疑問を解決してあげてください......!(笑)。 それにしても、はっきりと「バグ」と書いていますね。これは、プラットフォームの欠陥が報告されていることを意味し、ドキュメントを論理的な結論まで読んでいないことを意味するものではありません。 Mihail Matkovskij 2020.07.11 18:33 #27952 Artyom Trishkin:それにしても、はっきりと「バグ」と書いていますね。これは、プラットフォームの欠陥が報告されていることを意味し、ドキュメントを論理的に読んでいないことを意味するものではありません。 まあ、そうなんですけどね。ObjectDelete関数の 説明にある注意書きを読みましたが、それが問題だとは思いませんでした...。誰だってそうでしょう... でも、堂々巡りなんですよね。正確には、書き間違えたとか、混ざったとか、ぐるぐる回っているのですが......。しかし、なぜか誰もこのバグの解決方法について一言も言わない...。もちろん、提案されたObjectsDeleteAll関数以外は、プロジェクト全体をやり直さなければなりませんが、これは一番避けたい ことです。 Artyom Trishkin 2020.07.11 18:34 #27953 Mihail Matkovskij:はい、混乱しました。ObjectDelete関 数の説明で注意書きを読みましたが、まさかそれが問題とは...。そうでない人は? そんなこともあるんだ...。 Artyom Trishkin 2020.07.11 18:48 #27954 Mihail Matkovskij: ...このバグの解決方法については、なぜか誰も一言も言ってくれない...。もちろん、提案されたObjectsDeleteAll関数を除けば、プロジェクト全体をやり直す 必要があり、それは最も避けたい ことです。 グラフィカルなオブジェクトの名前には接頭語を使うようにしてください。オブジェクトを識別するための通常の習慣です。プレフィックスを使ってゴミの有無を確認すると同時に、ゴミを取り除くことができます。 オブジェクト名にプレフィックスを追加すると、 プロジェクト 全体をやり直す必要があるのでは? プロシージャルのスタイルで書かれているのですか?まあ、そこでオブジェクト名を作る機能を変えるのも、そう難しいことではないんですけどね。 Mihail Matkovskij 2020.07.11 19:04 #27955 Artyom Trishkin:グラフィカルなオブジェクトの名前には接頭辞を付けるようにしましょう。オブジェクトを識別するのは普通のことです。プレフィックスを使ってゴミの有無を確認すると同時に、ゴミを取り除くことができます。 オブジェクト名にプレフィックスを追加すると、プロジェクト全体をやり直す必要があるのでは?よし、他に選択肢がないならやってみるか。アルチョム・トリシキンプロシージャルのスタイルで書かれているのですか?オブジェクト名を作成する機能を変更するのは、それほど難しいことではありません。シスプリ的な仕事?:)Rashid Umarov 氏には、私のインジケーターのバグの原因を探っていただき、ありがとうございました。 Alexey Viktorov 2020.07.11 19:36 #27956 Mihail Matkovskij:アレクセイ、このフォーラムで私の投稿をねじ曲げて、私の代わりに開発者にクレームをつけたように見せる以外にやることはないのか...?このような奇妙な "熱意 "を持ったきっかけは何だったのでしょうか?こんなところでくだらないことをするくらいなら、しかるべきスレッドで初心者の質問を助けてあげてください......! それが、私がお手伝いしたいことです。私はあなたを助け、あなたが間違っていることを説明しようとしているのです。グラフィカルオブジェクトを削除 する別のオプションを試してみると、すべてがうまくいくでしょう。そして、あなたが言っていたバグはすべて消えます。言葉を捻じ曲げる必要はないので、引用します。 Mihail Matkovskij 2020.07.11 19:50 #27957 Alexey Viktorov:それが、私がお手伝いしたいことです。あなたが間違っていることを説明しているのです。グラフィックオブジェクトを削除する 別の方法を試してみると、すべてがうまくいくでしょう。そして、あなたが言っていたバグはすべて消えます。あなたの言葉を捻じ曲げる必要はありません、あなたが言ったのです、私はそれを引用しました。 あなたを助けようとすると同時に、根拠のない非難をする、付け加えることを忘れてはいけない。そんなマニアックな熱狂の原因は何かと聞いたのですが、なぜか答えてくれませんね~。なぜ答えから逃げるんだ、アレクセイ? Alexey Viktorov 2020.07.11 20:04 #27958 Mihail Matkovskij:私はあなたを助けようとすると同時に、堂々とあなたを非難しているのです、付け加えることを忘れないでください。その熱狂ぶりは何なのか、と聞いたのですが、なぜか答えてくれませんね(笑)。なぜ答えないんだ、アレクセイ?もっと前に黙っていれば、私は続けなかったのに。 ここでは、非難されることを覚悟で、私の率直な意見を述べたいと思います。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラムです。 間違い、バグ、質問 アレクセイ・ヴィクトロフ, 2020.07.11 17:12 ループがOnDeinitの実行に必要な時間より長く続くのはなぜですか? 結局のところ、あなたの例のすべてのオブジェクトは "トレンド "の接頭辞を持っている、なぜそれを使用し、ループを拒否しないのですか? int ObjectsDeleteAll( long chart_id, // идентификатор графика const string prefix, // префикс имени объекта int sub_window=-1, // индекс окна int object_type=-1 // тип объекта для удаления ); その答えは?回答を読む Mihail Matkovskij 2020.07.11 20:16 #27959 Alexey Viktorov:あなたはずっと前に黙っていただろうし、私は続けなかっただろう。 А...それが、私への非難の理由なのだ!なるほど...。:) Alexey Viktorov: 反応はどうでしょうか?回答を読む すべては、そこにある。ただ、当初はこの機能を使うことを拒んでいたんです。そして、それはあなたを困らせたに違いない。じゃあ、ごめんね...。:) Mihail Matkovskij 2020.07.11 21:39 #27960 例題のObjectDeleteAll関 数を最初に代入してください。 //+------------------------------------------------------------------+ //| DeleteChartObjects.mq5 | //| Copyright 2020, © Cyberdev. | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, © Cyberdev." #property version "1.00" #property indicator_chart_window #property indicator_plots 0 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include <ChartObjects\ChartObjectsLines.mqh> #include <Arrays\ArrayObj.mqh> //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ //--- input parameters input int nBars = 100000; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int customN_Bars = 0; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CArrayObj listOfTrendLines; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping int totalBars = iBars(NULL, PERIOD_CURRENT); customN_Bars = (nBars < totalBars) ? nBars : totalBars; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 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[] ) { CChartObjectTrend * trend; int delta = rates_total - customN_Bars; int shift; int i; for(i = 0; i < customN_Bars; i++) { shift = delta + customN_Bars - i - 1; trend = new CChartObjectTrend(); if(trend.Create(0, "trend"+(string)i, 0, time[shift], low[shift], time[shift], high[shift])) listOfTrendLines.Add(trend); else delete trend; } return(rates_total); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectsDeleteAll(0, "trend", 0, OBJ_TREND); CChartObjectTrend * trend; int i = listOfTrendLines.Total() - 1; for(; i >= 0; i--) { trend = dynamic_cast <CChartObjectTrend *> (listOfTrendLines.At(i)); if(CheckPointer(trend) == POINTER_INVALID) continue; delete trend; } } //+------------------------------------------------------------------+ そしてインジケーターへ。 Artyom Trishkin:オブジェクト名にプレフィックスを追加すると、プロジェクト全体をやり直す必要があるのでは? 私のプロジェクトで ObjectDeleteAllを使うのは簡単であることがわかりました。すべてのオブジェクトを削除するには、プレフィックスを3回変更し、ObjectDeleteAllを 3回呼び出せばよいのです。その結果、チャートはクリアなものになりました。MQL5言語は微妙なところが多いんです。しかし同時に、非常によく考えられた言語であるとも言えます。 この問題を解決するために協力してくれた皆さん、ありがとうございました。 1...278927902791279227932794279527962797279827992800280128022803...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
アレクセイ、このフォーラムで私の投稿をねじ曲げて、私の代わりに開発者にクレームをつけたように見せる以外にやることがないのか...?そんな妙な「意気込み」の理由は何だったんでしょうね。こんなところでくだらないことをするくらいなら、適切なスレッドで初心者の疑問を解決してあげてください......!(笑)。
それにしても、はっきりと「バグ」と書いていますね。これは、プラットフォームの欠陥が報告されていることを意味し、ドキュメントを論理的な結論まで読んでいないことを意味するものではありません。
それにしても、はっきりと「バグ」と書いていますね。これは、プラットフォームの欠陥が報告されていることを意味し、ドキュメントを論理的に読んでいないことを意味するものではありません。
まあ、そうなんですけどね。ObjectDelete関数の 説明にある注意書きを読みましたが、それが問題だとは思いませんでした...。誰だってそうでしょう...
でも、堂々巡りなんですよね。正確には、書き間違えたとか、混ざったとか、ぐるぐる回っているのですが......。しかし、なぜか誰もこのバグの解決方法について一言も言わない...。もちろん、提案されたObjectsDeleteAll関数以外は、プロジェクト全体をやり直さなければなりませんが、これは一番避けたい ことです。
はい、混乱しました。ObjectDelete関 数の説明で注意書きを読みましたが、まさかそれが問題とは...。そうでない人は?
そんなこともあるんだ...。
Mihail Matkovskij:
...このバグの解決方法については、なぜか誰も一言も言ってくれない...。もちろん、提案されたObjectsDeleteAll関数を除けば、プロジェクト全体をやり直す 必要があり、それは最も避けたい ことです。
グラフィカルなオブジェクトの名前には接頭語を使うようにしてください。オブジェクトを識別するための通常の習慣です。プレフィックスを使ってゴミの有無を確認すると同時に、ゴミを取り除くことができます。
オブジェクト名にプレフィックスを追加すると、 プロジェクト 全体をやり直す必要があるのでは?
プロシージャルのスタイルで書かれているのですか?まあ、そこでオブジェクト名を作る機能を変えるのも、そう難しいことではないんですけどね。
グラフィカルなオブジェクトの名前には接頭辞を付けるようにしましょう。オブジェクトを識別するのは普通のことです。プレフィックスを使ってゴミの有無を確認すると同時に、ゴミを取り除くことができます。
オブジェクト名にプレフィックスを追加すると、プロジェクト全体をやり直す必要があるのでは?
よし、他に選択肢がないならやってみるか。
プロシージャルのスタイルで書かれているのですか?オブジェクト名を作成する機能を変更するのは、それほど難しいことではありません。
シスプリ的な仕事?:)
Rashid Umarov 氏には、私のインジケーターのバグの原因を探っていただき、ありがとうございました。アレクセイ、このフォーラムで私の投稿をねじ曲げて、私の代わりに開発者にクレームをつけたように見せる以外にやることはないのか...?このような奇妙な "熱意 "を持ったきっかけは何だったのでしょうか?こんなところでくだらないことをするくらいなら、しかるべきスレッドで初心者の質問を助けてあげてください......!
それが、私がお手伝いしたいことです。私はあなたを助け、あなたが間違っていることを説明しようとしているのです。グラフィカルオブジェクトを削除 する別のオプションを試してみると、すべてがうまくいくでしょう。そして、あなたが言っていたバグはすべて消えます。言葉を捻じ曲げる必要はないので、引用します。
それが、私がお手伝いしたいことです。あなたが間違っていることを説明しているのです。グラフィックオブジェクトを削除する 別の方法を試してみると、すべてがうまくいくでしょう。そして、あなたが言っていたバグはすべて消えます。あなたの言葉を捻じ曲げる必要はありません、あなたが言ったのです、私はそれを引用しました。
あなたを助けようとすると同時に、根拠のない非難をする、付け加えることを忘れてはいけない。そんなマニアックな熱狂の原因は何かと聞いたのですが、なぜか答えてくれませんね~。なぜ答えから逃げるんだ、アレクセイ?
私はあなたを助けようとすると同時に、堂々とあなたを非難しているのです、付け加えることを忘れないでください。その熱狂ぶりは何なのか、と聞いたのですが、なぜか答えてくれませんね(笑)。なぜ答えないんだ、アレクセイ?
もっと前に黙っていれば、私は続けなかったのに。
ここでは、非難されることを覚悟で、私の率直な意見を述べたいと思います。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラムです。
間違い、バグ、質問
アレクセイ・ヴィクトロフ, 2020.07.11 17:12
ループがOnDeinitの実行に必要な時間より長く続くのはなぜですか?
結局のところ、あなたの例のすべてのオブジェクトは "トレンド "の接頭辞を持っている、なぜそれを使用し、ループを拒否しないのですか?
あなたはずっと前に黙っていただろうし、私は続けなかっただろう。
А...それが、私への非難の理由なのだ!なるほど...。:)
反応はどうでしょうか?回答を読む
すべては、そこにある。ただ、当初はこの機能を使うことを拒んでいたんです。そして、それはあなたを困らせたに違いない。じゃあ、ごめんね...。:)
例題のObjectDeleteAll関 数を最初に代入してください。
そしてインジケーターへ。
オブジェクト名にプレフィックスを追加すると、プロジェクト全体をやり直す必要があるのでは?
私のプロジェクトで ObjectDeleteAllを使うのは簡単であることがわかりました。すべてのオブジェクトを削除するには、プレフィックスを3回変更し、ObjectDeleteAllを 3回呼び出せばよいのです。その結果、チャートはクリアなものになりました。MQL5言語は微妙なところが多いんです。しかし同時に、非常によく考えられた言語であるとも言えます。
この問題を解決するために協力してくれた皆さん、ありがとうございました。