私たちのファンページに参加してください
aChartsAndMW5Class - MetaTrader 5のためのライブラリ
- ビュー:
- 715
- 評価:
- パブリッシュ済み:
- 2017.04.14 08:01
- アップデート済み:
- 2017.04.14 08:02
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
このクラスは、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_OPEN | 32 | 新しいチャートを開くイベント |
CHARTEVENT_CHART_CLOSE | 33 | チャートを閉じるイベント |
CHARTEVENT_MW_SYMBOL_ADD | 34 | 気配値表示に1つの銘柄を追加するイベント |
CHARTEVENT_MW_FEW_SYMBOL_ADD | 35 | 気配値表示に複数の銘柄を追加するイベント |
CHARTEVENT_MW_SYMBOL_DEL | 36 | 気配値表示から1つの銘柄を削除するイベント |
CHARTEVENT_MW_FEW_SYMBOL_DEL | 37 | 気配値表示から複数の銘柄を削除するイベント |
CHARTEVENT_MW_CHANGE_SORT | 38 | 気配値表示で銘柄の並び替えを変えるイベント |
CHARTEVENT_CHART_CHANGE_ONE_CLICK | 39 | ワンクリックパネルの開閉イベント |
識別子の値は好きに決めることができますが Anatoli Kazharskiのグラフィカルライブラリの識別子と関係しています。
イベントと共に制御プログラムに渡される値:
識別子 | lparam | dparam | sparam |
---|---|---|---|
CHARTEVENT_CHART_OPEN | long 開いているチャートのChartID | ENUM_TIMEFRAMES開いているチャートの時間枠 | string 開いているチャートの銘柄 |
CHARTEVENT_CHART_CLOSE | long 閉じられたチャートのChartID | ENUM_TIMEFRAMES閉じられたチャートの時間枠 | string 閉じられたチャートの銘柄 |
CHARTEVENT_MW_SYMBOL_ADD | int 現在の銘柄数 | int 1つ前の銘柄数 | string 追加された銘柄 |
CHARTEVENT_MW_FEW_SYMBOL_ADD | int 現在の銘柄数 | int 1つ前の銘柄数 | string 最後に使われた銘柄 |
CHARTEVENT_MW_SYMBOL_DEL | int 現在の銘柄数 | int 1つ前の銘柄数 | string 削除された銘柄 |
CHARTEVENT_MW_FEW_SYMBOL_DEL | int 現在の銘柄数 | int 1つ前の銘柄数 | string 最後に使われた銘柄 |
CHARTEVENT_MW_CHANGE_SORT | int 現在の銘柄数 | int 現在の銘柄数 | string 最後に使われた銘柄 |
CHARTEVENT_CHART_CHANGE_ONE_CLICK | int パネルの右端のX座標 | int パネルの右端のY座標 | string パネルの状態の説明: "CHART_IS_ONE_CLICK_ON" - パネルが存在する "CHART_IS_ONE_CLICK_OFF" - パネルが存在しない |
プログラムにクラスを含めるには、ファイルをグローバル領域にインクルードし、クラスインスタンスを作成する必要があります。
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 - バーの高値、安値、終値の分析に基づく取引です。
New MartinNew Martinエキスパートアドバイザーは起動時に2つの反対方向のポジションを開きます。OnTradeTransaction処理。決済指値がトリガされると、同じ方向のポジション(1つ)が開かれます。2つのMA指標の交差は、より大きなロットのポジションを開くためのシグナルです。
アラートを生成したり、モバイルデバイスに電子メールやプッシュ通知を送信したりして、トレンドの変化を通知できる、最も強い日中動向を検索する価格行動戦略に基づくセマフォシグナル指標です。
Exp_TDI-2_ReOpenExp_TDI-2_ReOpen取引システムは、TDI-2指標ラインの交差に基づいており、トレンドフォローのポジションへの追加となります。