MT4採用FX会社での取引の一般的な理解は、ソフト(MT4)のライセンス料がコストの一部となるので、その分スプレッドが広めであるということであった。そのためMT4利用者は高機能のチャートが魅力でデモ口座のみを利用する人と自らプログラムを組んで自動売買に徹するという人とに大きく分けることができた。ところが、最近ではMT4採用業者といえども市場の競争は激しさを増しており、大手の老舗会社でもドル円やユーロドルではスプレッド0.3~0.5というところも多くなっているので、取引環境は一般のFX会社と変わらなくなってきている。
また、日本でのレバレッジ規制強化で海外口座を利用する人も多くなってきている。スプレッドもそんなに見劣りがしないので、自動・裁量に拘わらずデイトレを始めてみたい向きもあるかもしれない。そのような人には、事前に調査していただきたいことがある。FXで好結果を収めるには、相場のトレンドに従った取引に徹することが重要といわれるが、そのためには逆指値取引も多用しなければならない。この逆指値が有利に使えるかどうかが、デイトレ適正業者であるか否かの判断材料の一つとなる。
日本語のホームページを設けて本邦トレーダーを勧誘している海外業者X社のドル円を例にとると、指値・逆指値は現値から4ピップス以上離れていなくてはならない。現値が105.50であるとすると、逆指値の売りは105.46以下でなければ注文は通らない。短期デイトレで4ピップスは大きい。相場が4銭下げてもそこまでで、反転してしまうかもしれない。損切りの頻度が大きくなってしまう。一方、本邦に本拠を有するO社では、指値・逆指値幅はゼロである。狭い方がよいとは言わないが、X社と比較してその自由度は高い。よくよく事前調査を怠ることなかれということである。
調査の方法は簡単だ。MT4にはMarketInfo()という便利な関数が用意されている。この関数では、最小・最大ロット数、スプレッド、スワップ値等10種類以上の業者の情報を知ることができ、問題の指値・逆指値幅の情報も含まれる。これ等全てを一発で知るには、MarketInfo.mq4というスクリプトを使うのがお勧めだ。「FXメタトレーダー実践プログラミング」の著者豊嶋久道教授が開発されたスクリプトであるが、ダウンロードできない人のため、下記のコードをそのまま紹介しておく。コピペでメタディターに取り込めばよい。必ずScriptsファイルに保管すべきこと。またドラッグアンドドロップでチャートに挿入しても何も起こらなかったように見えるが、ターミナルのエキスパートタブを開くと、詳細な情報が書き込まれている。
//+------------------------------------------------------------------+
//| MarketInfo.mq4 |
//| Copyright (c) 2009, Toyolab FX |
//| http://forex.toyolab.com |
//+------------------------------------------------------------------+
#property copyright "Copyright (c) 2009, Toyolab FX"
#property link "http://forex.toyolab.com"
// スタート関数
int start()
{
Print("MODE_MAXLOT : 最大ロット数 = "+MarketInfo(Symbol(), MODE_MAXLOT));
Print("MODE_LOTSTEP : ロットの最小変化幅 = "+MarketInfo(Symbol(), MODE_LOTSTEP));
Print("MODE_MINLOT : 最小ロット数 = "+MarketInfo(Symbol(), MODE_MINLOT));
Print("MODE_SWAPSHORT : 1ロットあたりの売りポジションのスワップ値(口座通貨) = "+MarketInfo(Symbol(), MODE_SWAPSHORT));
Print("MODE_SWAPLONG : 1ロットあたりの買いポジションのスワップ値(口座通貨) = "+MarketInfo(Symbol(), MODE_SWAPLONG));
Print("MODE_TICKVALUE : 1ロットあたりの1pipの価格(口座通貨) = "+MarketInfo(Symbol(), MODE_TICKVALUE));
Print("MODE_LOTSIZE : 1ロットのサイズ(通貨単位) = "+MarketInfo(Symbol(), MODE_LOTSIZE));
Print("MODE_STOPLEVEL : 指値・逆指値の値幅(pips) = "+MarketInfo(Symbol(), MODE_STOPLEVEL));
Print("MODE_SPREAD : スプレッド(pips) = "+MarketInfo(Symbol(), MODE_SPREAD));
Print("MODE_TIME : 最新のtick時刻 = "+TimeToStr(MarketInfo(Symbol(), MODE_TIME), TIME_DATE|TIME_SECONDS));
Print("MODE_HIGH : 当日の高値 = "+MarketInfo(Symbol(), MODE_HIGH));
Print("MODE_LOW : 当日の安値 = "+MarketInfo(Symbol(), MODE_LOW));
return(0);
}