MT4/MT5でFXのスプレッド推移表を作成する

2018年10月28日

偽りのニュース

スプレッドはFX業者を選択する大きな基準の1つにも関わらず、結構グレーだと思いませんか?

各業者は原則固定のスプレッドを提示したうえで、「取引高の低下又は売買が一方向に集中しているなどの状況においてはスプレッドが広がる場合がある。」旨を記載します。

海外では平均スプレッドを出している業者もありますが、いずれにしても算出方法はよくわかりませんし、グレーです。

日本の業者に問い合わせても、「そういったものは提供していません。」といわれる始末です。

そこで、無いなら自分でスプレッド推移表を作ってしまおうと思い、記事にしました。

スプレッドの重要性

スプレッドは手数料

FX業者のホームページには、ほぼ必ず「手数料は無料です。」と書いてありますが、そんなわけはありませんね。

何百人もの社員を養わないといけないのですから、無料なわけがありません。

スプレッドやスワップはFX業者の主要な収益源であり、利用者からすれば確実に手数料です。

 

口座を管理して、ツールを提供して、サポート体制を作って、証拠金取引をさせてくれて・・・

もちろん手数料を取って当たり前です。

ただ、スプレッドやスワップのように動きのあるものは予測がぶれるので、利用者目線ではとても難しい手数料です。

 

スプレッドが売買に与える影響

スプレッドが1pipsなら、1万ドル取引した場合に100円の手数料です。

1万ドルの取引に対して100円の手数料は激安です。

でも、よく考えてみてください。

「いくら利益を得ようとしていますか?」

[プラス10pipsになったら利食いの場合]

  • エントリー時点で-1pipsからスタート
  • +10pipsするにはエントリーから+11pipsする必要がある

10pipsの利益を得ようとして、1pipsの手数料を払っているのですから利益に対する割合は10%になります。

[マイナス10pipsになったら損切りの場合]

  • エントリー時点で-1pipsからスタート
  • -10pipsするにはエントリーから-9pipsする必要がある

スプレッドを支払ったせいで損切り幅は-10ではなく-9になっています。

10pips得るには+11pips必要で、10pips失うには-9pips必要です。

これはとても不利なことです。

だから取引頻度が高いトレーダーほど、スプレッドが狭い業者にこだわる必要があります。

スプレッドの影響を無視できるほど取引頻度の低いトレーダーは、気にする必要はありません。

 

原則固定のスプレッドだけ狭くても意味がない

例えば、通常時のスプレッドが0.5pipsの業者があったとします。

通常時は0.5pipsかもしれませんが、日本時間で7時~8時(サマータイム時は6時~7時)は流動性が無く、数倍~数十倍のスプレッドになることもあります。

スプレッドが広い時にスキャルピングすれば、負ける確率はかなり高くなるでしょう。

自動売買なら、その時間帯は取引しない前提でバックテストしなければライブ口座で運用した時と結果に差異が出てしまいます。

手動での売買でも、スプレッドが広がる時間帯を把握しておくのは勝率に大きく影響すると思います。

そして、実は気付いていないだけで他にもスプレッドが広がる時間があるかもしれません。

そう考えると、「手動・自動」にかかわらず、自分が取引している業者のスプレッド状況の詳細を把握しておく必要があるのではないでしょうか。

 

スプレッド推移表作成用のプログラム作成

ソースコードと説明

本当に単純なプログラムです。

 

「スプレッド」と「時間」を取得して、”|”区切りでログに出力します。

区切り文字はログに使われていなそうなものであれば何でも大丈夫です。

 

スプレッドはMT4では、以下のように一行で取得できるのですが、MT5でも利用できるようにgetSpread()の中でAsk-Bidで計算しています。

MT4でスプレッドを取得する場合string usd_jpy_spred = IntegerToString(((int) MarketInfo(Symbol(), MODE_SPREAD)));

スプレッドを取得すると小数点以下までついてきますので、先頭に(int)を付けて整数化しています。

更に、ログに出力する際は文字列型にする必要がありますので、IntegerToString([int型])で文字列に変換しました。

 

プログラムの使い方

通常のEAを動かすときと同様です。

チャートにドラッグ&ドロップしてください。

コンパイルの仕方やEAの動かした方が分からない方は、先に「メタトレーダー(MT4/MT5)で自動売買するための事前準備(第1回)」をご覧ください。

スプレッドを取得したい間隔のタイムフレームを選択してください。

今回は5分単位で取得するため、5分足を選択しました。

5分ごとに以下のようなログが、MT4/MT5の「エキスパート」タブに出力されます。

2018.10.25 06:50:04.960 CheckSpred USDJPY,M5: |2018.10.25 06:50|25
2018.10.25 06:44:58.944 CheckSpred USDJPY,M5: |2018.10.25 06:45|12
2018.10.25 06:40:03.335 CheckSpred USDJPY,M5: |2018.10.25 06:40|9

 

ティック単位でスプレッドを確認したい場合は、ソースコードの以下の行を削除してください。

※ティック単位ではデータが大量になってしまうので、基本的には推奨しません。(どうしてもやりたい場合は数分程度で実施してください。)

if (!checkFirstBar()) return;

スプレッド推移表の作成

先ほどのログを表計算ソフトやPythonで集計すれば、スプレッド推移表の完成です。

検証のスプレッド推移表

このように自分自身が使っている業者のスプレッドを全て並べて表示すれば、時間ごとの特徴が分かると思います。

[追加] 2018/10/29~30の1日分のスプレッド推移表を作成しましたので掲載します。各業者と通貨で特色がありますね。

[USDJPY]

USDJPYのスプレッド推移表

 

[EURUSD]

EURUSDのスプレッド推移表

 

[EURGBP]

EURGBPのスプレッド推移表

 

 

[追加] 2018/10/29~11/2の一週間分のスプレッド推移表を作成しましたので掲載します。平均するとOANDAが圧倒的に有利という結果になりましたね。

[USDJPY]

USDJPY1週間分のスプレッド

 

[EURUSD]

EURUSD一週間分のスプレッド

 

[EURGBP]

EURGBP一週間分のスプレッド

 

 

OANDA JAPAN 口座開設
OANDA JAPAN 口座開設

OANDA JAPAN 口座開設?|?fx-on.com

最後に

ここまでやれば曖昧な情報に振り回されることはありません。

自信を持って「FX業者選択」や、「EAの稼働時間選択」ができるのではないでしょうか。

スプレッドについては、「国内FX業者と海外FX業者の両方を使うのがおすすめな理由」でも記載していますので、よろしければご確認ください。