【MQL4】スプレッドを取得する方法【MT4】
今回は、MQL4 で対象通貨ペアのスプレッドを取得する方法について紹介します。
スプレッドを取得することによって、EAによるFX自動売買で、スプレッドが開く(広い)ときは売買をしないというプログラムを組むことが可能になります。
スプレッドを取得方法は、
- 買値(Ask)と売値(Bid)の差を計算
- MarketInfo 関数を使う
の2種類があります。
順番に説明しますが、結論からいうと「MarketInfo」関数を使う方が良いと考えられます。
楽天MT4で、通貨ペアは「ドル円」を使ってスプレッドを算出してみました。
スプレッドは「0.5銭」となります。
買値(Ask)と売値(Bid)の差を計算
スプレッドとは、「広がり」を意味し、買値(Ask)と売値(Bid)の差を表します。通常、買値の方が売値より高くなっています。
そのため、以下のように、単純に「買値(Ask)- 売値(Bid)」を計算するとスプレッドが求まります。
1 |
double spread = Ask - Bid; |
すると、「0.005000000000009663」のような値が入ります。
単位は「円」で返ってきます。
1円=100銭 なので、1銭=0.01円となります。
求めたいスプレッドは 0.5 銭なので、0.005 円となって欲しいのですが、微妙に値が違ってきます。
これだと、条件式を書く場合にちょっと不便になってしまいます。
MarketInfo 関数を使う
そこで、MQL4 言語で用意されている「MarketInfo」関数を使います。
「MarketInfo」関数は、MT4上の「気配値表示」ウインドウに表示されている様々な情報を取得できる関数となっています。
スプレッドを取得する場合は、以下のように、第1引数に通貨ペアを指定し、第2引数に「MODE_SPREAD」を指定します。
1 |
double spread = MarketInfo("USDJPY", MODE_SPREAD); |
結果は、0.1 pips 単位で返ってきます。
0.1 pips は 0.1 銭なので、「5.0」のような値が入ります。
正確にドル円のスプレッド「0.5銭」を取得することができました。
これらの2種類の方法で取得したスプレッドを「Comment」関数でチャート上に表示させた画像を載せておきます。
以上で、MQL4 で対象通貨ペアのスプレッドを取得する方法の紹介でした。
関連記事
-
-
【MQL4】EAファイルを作成・実行する方法【FX自動売買】
EAファイルとは、為替の価格データが更新されるたびに繰り返し実行してくれるプログラムのことです。
-
-
【MT4】日付と時間を指定してPCを自動起動させる方法【DELL】
今回は、日付と時間を指定してPCを自動的に起動させる方法について紹介します。 なぜPCの自動起
-
-
【MQL4】注文を出す関数について調べてみた【OrderSend】
今回は、EAで注文を出すMQL4の関数「OrderSend()」について調べてみました。 Or
-
-
【楽天証券CFD】調整金(金利/配当)について調べてみた【MT4】
今回は、楽天証券CFDで日経平均(JP225)や SP500(US500)、ダウ(US30)、ナスダ
-
-
【楽天CFD】取引口座を開設してみた【MT4】
今回は、楽天CFDの取引口座(本番口座)の開設方法について紹介します。 以前、楽天CFDのデモ
-
-
【MT4】チャート上にボリンジャーバンドを表示(削除)する方法。
今回は、MT4(メタトレーダー4)上に、ボリンジャーバンド(Bollinger Bands)を表示・
-
-
【MT4】複数口座を同時に起動させる方法【FX・CFD】
今回は、MT4(メタトレーダー4)で複数口座を同時にログインし、起動させる方法について紹介します。
-
-
【MT4】デモ口座で無効な口座になっているときの対処方法。
FXツールのMetaTrader4(メタトレーダー4)のデモ口座で色々と試そうとしていたら、
-
-
【楽天CFD】デモ口座を開設してみた【MT4】
CFDとは、Contract For Difference の略で、差金決済取引(さきんけっさいとり
-
-
【MT4】EAを移行する方法【FX自動売買】
今回は、MT4(メタトレーダー4)で EA を別のPCに移行して動かす方法について紹介します。