エラー、バグ、質問 - ページ 3125

 
Nikolai Semko #:

神様、このバッファーインジケーターはとても不快です。不気味な感じ。
キャンバス描画では、すべてがはるかに簡単で、コードが少なく、明確で、汎用性が高く、完全に自由なアクションが可能です。

キャンバスが好きなことは、以前から明らかでしたね。しかし、誰もが慣れているわけではありません... )))
 
Alexey Viktorov #:
昔、あなたがカンバスを好きだったことは、誰もが知っていることです。でも、みんながみんな、そんなに慣れているわけではないんですよね... )))
そんなことはないはずだ。
習慣は過去のものです。
 
Nikolai Semko #:
いけませんね。
習慣は過去のものです。

ああ...俺が先に死なないなら...

 
バッファの方が扱いやすいですが、Kanvasには何でも出力できます。一方、MQL5のカスタムインジケータでは、インジケータバッファの 種類も多くなっています。一般に、プログラマーはこれらの方法のどれを選んでも間違いはないはずです。しかし、その選択は常に目の前の課題に応じて行わなければならない...。
 
Alexey Viktorov #:

おそらく、松葉づえではないのでしょうが、今のところ何の説明もありません。ありがとうございます...

おそらく、どちらのバッファが上位のビルドであるかによると思います。を-に変更するだけです。

を使えば、それもうまくいくでしょう。しかし、バーの内側の厚みを指示する必要がありました。

フィリングバッファーは2色。カンマで区切って両方設定する必要があります。画面上でどちらが上かによって、塗りつぶしの色が決まります。色を指定しない場合、clrNONEに置き換えられます。

 
Mihail Matkovskij #:
バッファを使った方が作業しやすいですが、Kanvasでは何でも出力できます。一方、MQL5のカスタム・インジケータでは、インジケータ・バッファの 種類も多くなっています。一般に、プログラマーはこれらの方法のどれを選んでも間違いはないはずです。しかし、その選択は常に目の前の課題に応じて行わなければならない...。

もちろん、バッファはもっと難しい。キャンバスがあると楽ですね。
関数の中に#propertyを入れることはできません。

また、関数に配列を渡すことで、一行でカンヴァスの行を追加することができます。
個人的には、開発中の一部の処理や中間データを可視化するために、kanvasを使うことが多いですね。こうすることで、問題が見えやすくなり、最適解を見つけやすくなります。
もちろん、交差点で作られた原始的なアルゴリズムの話であれば話は別ですが。

このベニヤ板はすべてサービスで、最適解を見つけるのにとても役立っています。
バッファでは、もちろん無理です。さらに、このソリューションはExpert Advisorやインジケータでも同様に機能します。そして、このコードはMT4でも動作します。

そして、それは非常に簡単かつ迅速に実現されます。文字通り、その場で。
 
Nikolai Semko #:

もちろん、バッファはもっと難しい。キャンバスがあると楽ですね。
関数の中に#propertyを入れることはできません。

また、関数に配列を渡すことで、一行でカンヴァスの行を 追加することができます。
個人的には、開発中の一部の処理や中間データを可視化するために、kanvasを使うことが多いですね。こうすることで、問題が見えやすくなり、最適解を見つけやすくなります。
もちろん、交差点で作られた原始的なアルゴリズムの話であれば話は別ですが。

このベニヤ板はすべてサービスで、最適解を見つけるのにとても役立っています。
バッファでは、もちろん無理です。さらに、このソリューションはExpert Advisorやインジケータでも同様に機能します。そして、このコードはMT4でも動作します。

そして、これは非常に簡単かつ迅速に実行されます。文字通り、その場で。

この問題は、Canvasを使用する必要があります。もちろん、それ以外の選択肢はない。一つ可能性があるとすれば、それはDirectXです。しかし、MQLのアプリケーションで使っている人はいないでしょう。そんな例は見たことがない。Kanvassは、トレンド指標と一緒にオシレーターをチャートに出力する必要があったときに、とても役に立ちました。もちろん、カスタムのインジケーターの仕組みを使っても、そのような結果は得られません。CCanvasをベースにしたクラスを2つ作りました。そのうちの1つはオシレーターを表示し、もう1つはメソッドを使用したトレンド指標で、指標値の配列、色の配列、色のインデックスの配列が渡されます。しかし、1つのインジケータを表示する必要があるときは、カスタムインジケータのメソッドを使用しています。理由はわかりません。癖なのか、それともあまりコードを複雑にしたくないのか、要点と複雑さは値の計算にあり、その出力方法にあるわけではないのに。

 
Mihail Matkovskij #:
しかし、その選択は常に目の前の課題に応じて行わなければならない...。

言い忘れてました。また、ロボットで計算値をチャートに出力する必要があるが、インジケータバッファが利用できない場合にも、Kanvasを使用すると非常に便利です。そして、値またはシグナルは、十分な数がある場合にのみ、Kanvas を使用して出力できます(グラフィカル オブジェクトを使用して出力できる 2~3 のシグナルではありません)。

 
Nikolai Semko #:

神様、このバッファーインジケーターはとても不快です。不気味な感じ。
キャンバス描画では、すべてがはるかに簡単で、コードが少なく、明確で、より汎用的で、完全に自由に行動することができます。

キャンバスの汎用性は、その値を他のEA/インジケータから取得する必要がある場合に発揮されます。

それとも、その解決策もすでに見つかっているのでしょうか?)

 
Andrey Khatimlianskii #:

Kanvasの汎用性は、その値を他のEA/指標から取得する必要がある場合に発揮されます。

それとも、その解決策もすでに見つかっているのでしょうか?)

アンドレイさん、どんな問題があるのですか?
EAやインジケータでデータ構造または構造体の配列を形成し、リソースに送信します。
そして受信側では、この構造体や構造体の配列を読み取ります。
引用符の全長の番号付きダブル配列ではなく、名前や必要な大きさの異なる種類のデータを扱う必要があるので、さらに便利です。
これが市場の指標であればともかく、リソースからデータを読み取るクラスは用意しなければならないのですから。
クライアントは、インクルードを追加してクラスのインスタンスを宣言するだけでよい。OnTimerやOnTickのメソッドも呼び出せるかもしれません。そして、このクラスのインスタンスは、読み取ったインジケータの実際のデータを、常に、読みやすい構造体または構造体の配列の形で持っていることになります。