Join our fan page
必要な理由:
このクラスは、マーケット向けの製品を作成する場合や、システムDLLを使用したくない場合にプログラム間のデータ交換を構成するのに役立ちます。
それ以外の場合は、アプリケーションを接続するにはより信頼性が高く高速なメソッドがあります。「交換」は単純な構造を使って実装されています。
使用オプション:
- エキスパートから指標または別のエキスパートにデータを渡す必要がある;
- 複数のウィンドウ(またはメインウィンドウとサブウィンドウ)に情報を表示する指標を作成する必要がある
- すべての必要な計算を行うエキスパートの計算値の視覚化を設定する必要がある
操作法:
次に、エキスパートから指標にデータを転送する例を示します。
- エキスパート内では
1.1. クラスのインスタンスの作成:
CInterchange Exp_buffer;
1.2. OnInit()でグローバル変数の名前のプレフィックスを設定します。クラスの他のインスタンスとの競合を避けるために、クラスごとに一意の名前を設定します。
Exp_buffer.SetPrefixNameForSave(_Symbol+"_"+(string)_Period);
1.3. アルゴリズム操作は、カスタムイベントを使用して実装されます。単に下記の一行をOnChartEvent()ハンドラに追加します。
Exp_buffer.OnEvent(id,lparam,dparam,sparam);
転送するデータが準備できている場合(この例ではExp_Data構造体)、メソッドを呼び出す必要があります。
Exp_buffer.SendDataStart(Exp_Data);
1.4. プログラムの初期化解除中にはクラスインスタンスを破壊すsることを忘れないでください。Exp_buffer.Destroy();
- 指標内では
2.1. クラスのインスタンスの作成:
CInterchange Ind_buffer;
2.2. OnInit()でグローバル変数の名前のプレフィックスを設定します。ソースと一致する必要があります。これは1.1項と同じでなければなりません。
Ind_buffer.SetPrefixNameForLoad(_Symbol+"_"+(string)_Period);
2.3. データ転送のプロセスを開始するには、GetDataStart() をInd_dataパラメータ(エキスパートからデータを書き込むための構造体)で呼び出す必要があります。
Ind_buffer.GetDataStart(Ind_data);
2.4. アルゴリズム操作は、カスタムイベントを使用して実装されます。下記の一行をOnChartEvent()ハンドラに追加します。
Ind_buffer.OnEvent(id,lparam,dparam,sparam);
データ転送プロセスが完了した場合
Ind_buffer.GetDataFinish(Ind_data)
メソッドはtrueを返します。
2.5. プログラムの初期化解除中にはクラスインスタンスを破壊すsることを忘れないでください。
Ind_buffer.Destroy();
操作例のビデオ:
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/12786
現在の銘柄の履歴データをダウンロードして進行状態を示すためのスクリプトです。
チャートの切り替えこのスクリプトは、開いているすべてのチャートを一定の間隔で切り替えます。特定な銘柄のチャートのみを表示することもできます。
OnTimerイベントに基づいた取引を説明する簡単なコード。タイマーがトリガされると、ロボットは決済逆指値/決済指値で売買を行います。
ZZ Fibo TraderZZ Fibo Traderは、ZigZagの長い衝撃波にフィボナッチ線をプロットするSimple ZZ Fiboの使い方を簡単に示しています。さらに、このアルゴリズムは、決済逆指値を動かすための放物系の動作を示しています。