無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ライブラリ

aChartsAndMW5Class - MetaTrader 5のためのライブラリ

ビュー:
698
評価:
(19)
パブリッシュ済み:
2017.04.14 08:01
アップデート済み:
2017.04.14 08:02
\MQL5\Include\ \MQL5\Experts\
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

このクラスは、MQL5プログラムからの、気配値表示ウィンドウの変更(銘柄の並び替え、銘柄の追加と削除)、チャートの開閉、現在のチャートのワンクリック取引オプションの識別を可能にします。このクラスはカスタムイベントを制御プログラムに送信します。

このプログラムでは、以下のパブリックメソッドを利用できます。

メソッド
 説明戻り値
チャート操作メソッド
  
bool IsChartOneClick(void)
チャート上のワンクリックパネルの利用可能性のフラグを返します
bool true/false
uchar GetChartNumbers(void)
端末の開いているチャートの数を返します
uchar 開いているチャートの数
long GetOpenedChartID(void)
新しく開いたチャートのIDを返します
long ChartID()
string GetOpenedSymbol(void)
新しく開いたチャートの銘柄名を返します
string ChartSymbol()
ENUM_TIMEFRAMES GetOpenedTimeframe(void)
新しく開いたチャートの時間枠を返しますENUM_TIMEFRAMES ChartPeriod()
long GetClosedChartID(void)
新しく閉じたチャートのIDを返しますlong ChartID()
string GetClosedSymbol(void)
新しく閉じたチャートの銘柄名を返しますstring ChartSymbol()
ENUM_TIMEFRAMES GetClosedTimeframe(void)
新しく閉じたチャートの時間枠を返しますENUM_TIMEFRAMES ChartPeriod()
bool IsOpenedIsObject(void)
開かれたチャートがオブジェクトであることを示す記号を返します
bool true/false
bool IsClosedIsObject(void)閉じられたチャートがオブジェクトであったことを示す記号を返しますbool true/false
bool CheckOpenChart(string symbol_name);
銘柄のチャートが開いているかを確認します
bool true/false
bool CheckOpenChart(string symbol_name,ENUM_TIMEFRAMES timeframe)
指定した時間枠の銘柄チャートが開いているかどうかを確認します
bool true/false
long OpenChart(string symbol_name,ENUM_TIMEFRAMES timeframe)
銘柄チャートを開きます
long ChartID()
bool IsOpenedAllCharts(void)
気配値表示にあるすべての銘柄のオープンチャートが存在するかどうかのフラグを返します
bool true/false
気配値表示操作メソッド


bool PutSymbolToMarketWatch(string symbol_name)
気配値表示に銘柄を追加します
bool true/false
bool IsExistSymbolInMW(string symbol_name, bool select=false)
気配値表示/サーバー上の銘柄の存在のフラグを返します
bool true/false
int GetNumSymbolsInMW(void)
気配値表示での銘柄数を返します
int 気配値表示での銘柄数
int GetNumAllSymbols(void)
利用できる銘柄数を返します
int サーバでの銘柄数
void ClearMarketWatch(void)気配値表示での銘柄をすべて削除しますvoid
クラスが制御プログラムに送るカスタムイベント:
識別子

 説明
CHARTEVENT_CHART_OPEN32新しいチャートを開くイベント
CHARTEVENT_CHART_CLOSE33チャートを閉じるイベント
CHARTEVENT_MW_SYMBOL_ADD34気配値表示に1つの銘柄を追加するイベント
CHARTEVENT_MW_FEW_SYMBOL_ADD35気配値表示に複数の銘柄を追加するイベント
CHARTEVENT_MW_SYMBOL_DEL36気配値表示から1つの銘柄を削除するイベント
CHARTEVENT_MW_FEW_SYMBOL_DEL37気配値表示から複数の銘柄を削除するイベント
CHARTEVENT_MW_CHANGE_SORT38気配値表示で銘柄の並び替えを変えるイベント
CHARTEVENT_CHART_CHANGE_ONE_CLICK39ワンクリックパネルの開閉イベント

識別子の値は好きに決めることができますが Anatoli Kazharskiグラフィカルライブラリの識別子と関係しています。

イベントと共に制御プログラムに渡される値:

識別子
 lparamdparam
 sparam
CHARTEVENT_CHART_OPENlong 開いているチャートのChartID
ENUM_TIMEFRAMES開いているチャートの時間枠
string 開いているチャートの銘柄
CHARTEVENT_CHART_CLOSElong 閉じられたチャートのChartIDENUM_TIMEFRAMES閉じられたチャートの時間枠string 閉じられたチャートの銘柄
CHARTEVENT_MW_SYMBOL_ADDint 現在の銘柄数
int 1つ前の銘柄数
string 追加された銘柄
CHARTEVENT_MW_FEW_SYMBOL_ADDint 現在の銘柄数int 1つ前の銘柄数string 最後に使われた銘柄
CHARTEVENT_MW_SYMBOL_DELint 現在の銘柄数int 1つ前の銘柄数string 削除された銘柄
CHARTEVENT_MW_FEW_SYMBOL_DELint 現在の銘柄数int 1つ前の銘柄数string 最後に使われた銘柄
CHARTEVENT_MW_CHANGE_SORTint 現在の銘柄数int 現在の銘柄数string 最後に使われた銘柄
CHARTEVENT_CHART_CHANGE_ONE_CLICKint パネルの右端のX座標
int パネルの右端のY座標
string パネルの状態の説明:
"CHART_IS_ONE_CLICK_ON" - パネルが存在する
"CHART_IS_ONE_CLICK_OFF" - パネルが存在しない

プログラムにクラスを含めるには、ファイルをグローバル領域にインクルードし、クラスインスタンスを作成する必要があります。

#include <aChartsAndMWClass.mqh>
CChartsMW   mw;

その後、プログラムのOnTimer()関数で、クラスタイマーを追加します。

//+------------------------------------------------------------------+
//| タイマー関数                                                       |
//+------------------------------------------------------------------+
void OnTimer()
  {
//--- クラスタイマーの追加
   mw.OnTimerEvent();
  }
//+------------------------------------------------------------------+

OnChartEvent()にクラスイベントハンドラを追加します。

//+------------------------------------------------------------------+
//| ChartEvent関数                                                    |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- クラスイベントハンドラの追加
   mw.OnEvent(id,lparam,dparam,sparam);

  }
//+------------------------------------------------------------------+

これで、クラスによって返されたイベントは、プログラムのOnChartEvent>()に受信されて処理されます。

クラスからイベントを受信する例は、付属のエキスパートアドバイザーexTestChartsMWClass.mq5で参照できます。

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/17448

SilverTrend v3 SilverTrend v3

SilverTrend v3 - バーの高値、安値、終値の分析に基づく取引です。

New Martin New Martin

New Martinエキスパートアドバイザーは起動時に2つの反対方向のポジションを開きます。OnTradeTransaction処理。決済指値がトリガされると、同じ方向のポジション(1つ)が開かれます。2つのMA指標の交差は、より大きなロットのポジションを開くためのシグナルです。

アルファトレンドスポッタ価格アクション アルファトレンドスポッタ価格アクション

アラートを生成したり、モバイルデバイスに電子メールやプッシュ通知を送信したりして、トレンドの変化を通知できる、最も強い日中動向を検索する価格行動戦略に基づくセマフォシグナル指標です。

Exp_TDI-2_ReOpen Exp_TDI-2_ReOpen

Exp_TDI-2_ReOpen取引システムは、TDI-2指標ラインの交差に基づいており、トレンドフォローのポジションへの追加となります。