AdjustSlippage()関数

1.AdjustSlippage()関数とは

 MetaTrader4(MT4)で、注文の発注の際に、許容スリッページ数を設定するためには、例えば、以下のように記述します。


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

 許容スリッページ数の設定は、OrderSend()関数の第5引数の「10」という部分ですが、その単位は「ポイント」です(「ポイント」は、変数「Point」に格納されている値と同様です。「Point」の詳細については「こちら」を参照してください。)。

 「ポイント」は、提示レートの最小変動単位なので、提示レートが3桁又は5桁の業者において、提示レートが2桁又は4桁の業者と同様のpips単位で許容スリッページ数の設定を行おうとすれば、OrderSend()関数第5引数を、以下のように変更する必要があります。

  • 第5引数
    100」に変更(=10×10

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

 そこで、提示レートが小数点以下3桁又は5桁の業者においては、「許容スリッページ数」10を乗ずるという処理を自動的に行うようにしたものが、AdjustSlippage()関数です。

2.AdjustSlippage()関数の内容

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

AdjustSlippage
AdjustSlippage()関数

⑴ AdjustSlippage()関数の定義

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

int AdjustSlippage(
string Currency,
int Slippage_Pips
);

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

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

⑵ AdjustSlippage()関数の解釈

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

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

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

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

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

ウ 数値を代入(その1)

 第2引数に指定した値を、変数Calculatd_Slippageに代入する。

エ 条件分岐(その2)

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

オ 数値を代入(その2)

 第2引数に指定した値に10を乗じた値を、変数Calculated_Slippageに代入する。

カ 結果を返す

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

3.関連ツール

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

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

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


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