AdjustPoint()関数

1.AdjustPoint()関数とは

 MetaTrader4(MT4)で、注文に利益確定・損切りの設定を行うためには、例えば、以下のように記述します。


int Ticket =
OrderSend(Symbol(),OP_BUY,0.1,Ask,10,Ask-50*Point,
          Ask+100*Point,NULL,1829,0,Magenta);
  • OrderSend()関数の詳細については「こちら」を参照してください。
  • Symbol()関数の詳細については「こちら」を参照してください。
  • Askの詳細については「こちら」を参照してください。
  • Pointの詳細については「こちら」を参照してください。

 利益確定・損切り値の設定に用いている「Point」には、提示レートの最小変動単位が格納されています。

 したがって、提示レートが小数点以下3桁又は5桁の業者において、提示レートが小数点以下2桁又は4桁の業者と同様のpips単位で利益確定・損切り値の設定を行おうとすれば、OrderSend()関数第6引数と第7引数の記述を、以下のように変更する必要があります。

  • 第6引数
    Ask-50*Point*10」に変更(=「Point」を10倍する
  • 第7引数
    Ask+100*Point*10」に変更(=「Point」を10倍する

 しかし、このような処理を逐一行うことは、煩雑であるし、また、思わぬミスを誘発しかねません。

 そこで、提示レートが小数点以下3桁又は5桁の業者においては、Point10を乗ずるという処理を自動的に行うようにしたものが、AdjustPoint()関数です。

2.AdjustPoint()関数の内容

 AdjustPoint()関数の具体的な内容は、以下のとおりです。

AdjustPoint() Code
AdjustPoint()関数

⑴ AdjustPoint()関数の定義

 AdjustPoint()関数は、以下のように定義しています。

double AdjustPoint(
string Currency
);

 引数の意味は、以下のとおりです。

  • string Currency
    利益確定・損切り値の単位調整を行う通貨ペア名を指定します。
    通貨ペア名は、「気配値表示ウィンドウ」に表示されているとおりに記述します。
    特定の通貨ペア名を指定せず、EA等を適用したチャートの通貨ペアの利益確定・損切り値の単位調整を行いたい場合は、「Symbol()」(詳細は「こちら」を参照してください。)と記述します。

⑵ AdjustPoint()関数の解釈

AdjustPoint()関数の解釈を示すと、以下のようになります。

ア 提示レートの小数点以下の桁数を取得

 通貨ペアの小数点以下の桁数を、変数Symbol_Digitsに代入する。

  • MarketInfo()関数の詳細については「こちら」を参照してください。
イ 条件分岐(その1)

 通貨ペアの小数点以下の桁数が「又は」だったら。

ウ 数値を代入(その1)

 「0.01を変数Calculated_Pointに代入する。

エ 条件分岐(その2)

 通貨ペアの小数点以下の桁数が「又は」だったら。

オ 数値を代入(その2)

 「0.0001を変数Calculated_Pointに代入する。

カ 結果を返す

 変数Calculated_Pointに格納されている値を返す。

3.関連ツール

MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!
『EAつくーる』
『EAつくーる』 | fx-on.com

『EAつくーる』
『EAつくーる』 | fx-on.com

 上記ツール(EAつくーる『EAつくーる』 | fx-on.com)の詳細については「こちら『EAつくーる』 | fx-on.com」を参照してください。


MT4の使い方からプログラミングまで、わかりやすく解説