[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 317

 
kon12 писал(а)>>

みなさん、ご存知の方にひとこと。メインチャートにカスタムインジケータを描画するとします。そして、iCustom関数経由で最初のインジケータを巻き込んだ別のカスタムインジケータを使用します。チャート上の1つ目のインジケータのパラメータを、2つ目のカスタムインジケータで自動的に変更するように、両者を接続することは可能でしょうか?

私はこの課題をよく理解していないのですが、多分これで大丈夫でしょう.

MTアナリティクス ヘルプ - テクニカル指標

- 例えば、Awesome OscillatorからMoving Averageインジケータを作成し、AOに加えてシグナルラインを取得 することができます。そのためには、まずAOインディケータを描き、ドラッグ&ドロップでMAをAOにインポーズし、「Apply to」フィールドの設定で「Previous Indicator Data」を選択します(前のインディケータのデータにインディケータをインポーズ)。First Indicator Data "を選択すると、必ずしもAOでない最初の指標のデータに基づいて、MAが作成されます。

 
kon12 >> :

みなさん、ご存知の方にひとこと。メインチャートにカスタムインジケータを描画するとします。そして、iCustom関数経由で最初のインジケータを巻き込んだ別のカスタムインジケータを使用します。チャート上の1つ目のインジケータのパラメータを、2つ目のカスタムインジケータで自動的に変更するように接続することはできますか?

iCustomを通してソースインディケータを呼び出すと、どこかに保存されるので、それをインディケータバッファとしてマークし、ソースと変換後のインディケータを1つのインディケータの2つのバッファとして出力すると、実行やパラメータ変更が容易になります。もし、誤魔化したいのであれば、globolvariablesを使ってもよい。

 
Urain >> :

削除する必要はなく、ObjectSet経由でパラメータを変更すればよい。

ps しかし、一般的には、あなたのケースはケースバイケースで見る必要があります。

ありがとうございました。

 
kon12 >> :

みなさん、ご存知の方にひとこと。メインチャートにカスタムインジケータを描画するとします。そして、iCustom関数経由で最初のインジケータを巻き込んだ別のカスタムインジケータを使用します。チャート上で1つ目のインジケータのパラメータが変化すると、2つ目のカスタムインジケータのパラメータが自動的に変化するような形で接続することは可能でしょうか?

ターミナルでインジケーターの入力パラメータの値を手動で変更し、その変更に他のインジケーターが反応するということですね?

そうすると答えは明らかで、iCustomを使ってもうまくいきません。この関数は次のように動作します。指定したパラメータを持つインジケータは、プログラムメモリ内に(チャート上ではなく)「作成」され(「あたかも」、つまりプロットされない)、最初の呼び出しで、init()とstart()関数を使って処理されます。そうすると、次にiCustomが呼ばれたとき、再計算は行われません(インジケータ本体で明示的に指定されていない場合)。MQLでは、このような指標に割り当てられた個別のバッファはないので、値を保存する必要がある場合は、別のバッファにコピーするのが合理的です。MQLでもチャートへの直接アクセスはありません(しかし、IMHOでは便利でしょう)。

 

ご回答ありがとうございました。私が望んでいることを正確に定式化できていなかったかもしれません。説明しますと、私はメインチャートにZigZagというインジケータを使用しています。さらに私は、ジグザグが示す波長を表示する独自のインジケーターを使用しています。このインジケータは、iCustomを通してジグザグにアクセスします。しかし、ジグザグのパラメータを変更するときは、2番目のインジケータを入力して、同じパラメータを設定する必要があります。ジグザグのみパラメータを変更する方法。メタストックでは、1つ目のインジケーターに2つ目のインジケーターを重ね合わせるだけです。

 
質問を正しく理解できたようなので、もう一度回答します:MetatraderとMQLを使用する - ありえない
 
alsu >> :
私は質問を正しく理解したようなので、もう一度答えます:MetatraderとMQLを使用して、方法はありません。

いや、どうして。パラメータは、グローバル変数やグラフオブジェクトで渡すことができます。再描画するにはティックが必要なだけですが、どうすればいいかわかりますよね。

もちろん、指標を統一したほうがいいのですが。

 
Svinozavr >> :

いや、どうして。パラメータは、グローバル変数やグラフオブジェクトで渡すことができます。再描画するのに1ティック必要なだけで、できるんですよ。

もちろん、指標を統一したほうがいいのですが。

まあ、"それ "にすると、初心者のレベルではないのですが...。 一般に、各インジケータが実バッファ(まあ、「実際に」データが格納されているもの)を共有アドレス空間、最悪でもグローバル変数として登録できる普遍的な環境はないものかと、長いこと考えていた。そうすれば、iCustomではなく、MQLから直接チャートに適用することが可能になるのですが...。まだ、手をつけていないんです。

 
alsu >> :

まあ、"それ "を作るには、初心者の域を出ないというか......。 一般的に、私は長い間、ユニバーサルな環境を作って、各インジケータが共有アドレス空間か、最悪の場合、グローバル変数の形で本当のバッファ(あなたが知っている、「本当の」データが格納されているもの)を登録しないかと考えていました。そうすれば、iCustomではなく、MQLから直接チャートに適用することが可能になるのですが...。まだ、手をつけていないんです。

それはかっこいいですね。インジケーターを正常に同期させることができないのは、非常に大きな制約です。書きながら同期させるか、結合させるか、どちらかです。

しかし、描画の問題は、1つの指標から異なるサブカーブで描画する以外、標準的な手段では解決できない。そしておそらく、内部手段でもダメでしょう。もし、gr.objectのようにバッファとウィンドウ番号を結びつけることができれば、あるいは、インジケータからそのようなウィンドウを生成することができれば......と思います。まあ、オフトピックなんですけどね。

===

しかし、環境の考え方は非常に現実的です。それについて何かお考えがあるのでしょうか?

 
別スレッドになるかも?