私たちのファンページに参加してください
- ビュー:
- 976
- 評価:
- パブリッシュ済み:
- 2016.12.16 13:12
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
「サル」でもわかるMQL:オブジェクトクラスの設計 構築方法稿は、プログラムに使いやすいインタフェースを作成する方法について説明します。インタラクティブなウィンドウの実装は、MasterWindowsクラスライブラリの使用に基づいています。
図1 MasterWindowsライブラリの使用例
MasterWindowsライブラリは、3つの基本クラスで構成されています。
- CCell基本クラス:
//+------------------------------------------------------------------+ //| CELLのCCell基本クラス | //+------------------------------------------------------------------+ class CCell { private: protected: bool on_event; // イベント処理フラグ ENUM_OBJECT type; // セルの種類 public: WinCell Property; // セルのプロパティ string name; // セルの名前 //+---------------------------------------------------------------+ // クラスコンストラクタ void CCell(); virtual // メソッド:オブジェクトを描画する void Draw(string m_name, int m_xdelta, int m_ydelta, int m_bsize); virtual // OnChartEventイベント処理メソッド void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
- CRow基本クラスはCCellクラスのセルで構成されます。
//+------------------------------------------------------------------+ //| ROWのCRow基本クラス | //+------------------------------------------------------------------+ class CRow { protected: bool on_event; // イベント処理フラグ public: string name; // 行名 WinCell Property; // 行のプロパティ //+---------------------------------------------------------------+ // クラスコンストラクタ void CRow(); virtual // メソッド:行を描画する void Draw(string m_name, int m_xdelta, int m_ydelta, int m_bsize); virtual // OnChartEventイベント処理メソッド void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
- CWin基本クラスはCRowクラスの行で構成されます。
//+------------------------------------------------------------------+ //| WindowのCWin基本クラス | //+------------------------------------------------------------------+ class CWin { private: void SetXY(int m_corner);// 座標算出メソッド protected: bool on_event; // イベント処理フラグ public: string name; // ウィンドウ名 int w_corner; // 固定する角 int w_xdelta; // 縦のインデント int w_ydelta; // 横のインデント int w_xpos; // アンカーポイントのX座標 int w_ypos; // アンカーポイントのY座標 int w_bsize; // ウィンドウ幅 int w_hsize; // ウィンドウの高さ int w_h_corner; // HIDEモードの固定する角 WinCell Property; // ウィンドウプロパティ //--- CRowType1 STR1; // クラス行の宣言 CRowType2 STR2; // クラス行の宣言 CRowType3 STR3; // クラス行の宣言 CRowType4 STR4; // クラス行の宣言 CRowType5 STR5; // クラス行の宣言 CRowType6 STR6; // クラス行の宣言 //+---------------------------------------------------------------+ // クラスコンストラクタ void CWin(); // データ取得メソッド void SetWin(string m_name, int m_xdelta, int m_ydelta, int m_bsize, int m_corner); virtual // メソッド:ウィンドウを描画する void Draw(int &MMint[][3], string &MMstr[][3], int count); virtual // OnEventTickイベント処理メソッド void OnEventTick(); virtual // OnChartEventイベント処理メソッド void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
及び1oの派生クラス。
添付ファイルには、MasterWindowsライブラリを使用するテンプレートとコードサンプルが含まれています。すべてのコードは、ビジュアルウィンドウコンストラクタMQL5用MasterWindowsを使用して生成されています。テストプログラムはモデルであって(ウィンドウを閉じて隠す2つの機能を除いて)機能を持ちません。
ウィンドウ内では任意の数と組み合わせの行を使用できます。図は、行の基本バージョンとウィンドウヘッダーを示しています。<
図2 ライブラリの基本オプションと可能性
例としてMQL5における移動平均計算パフォーマンス検証稿では、提案されたライブラリを使用して次のインタフェースが作成されました。
図3 MasterWindowsライブラリの使用例
推奨:
- 作成したインターフェイスウィンドウのより良い表示のためには黒の背景を持つグラフィカルなスキームを使用します。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/15059

調整可能なパラメータで価格の右側に追加され価格ラベルです。

色付きの雲として描かれて最後の値を価格ラベルとして表示する1つの移動平均に基づいた3つのボリンジャーバンドチャネルです。

入力パラメータでの時間枠選択オプションを含むXMA_BBx7_Cloud_Digit 指標です。

色付きの雲として描かれて最後の値を価格ラベルとして表示する1つの移動平均に基づいた3つの Keltnerチャネルです。