なぜ売買ルールを反転しても売買結果が反転しないのか

まずこちらのグラフを御覧ください。

このグラフは1分足で、判定した分が偶数ならば買い、奇数ならば売りというロジックでバックテストを行ったものです。例えば10時2分なら買い、10時3分なら売りという具合です。

結果としては1754円の赤字となりました。

よくお客様がバックテストの結果がこのように芳しくなかったときに、売買ルールを反転してほしいと言われることがあります。このときのよく当方はそれは意味がないことだというコメントをします。結果としては下記のようなグラフになります。

売買ルールを反転したのだから、結果は右肩上がりになるはずだと思われる方もいらっしゃるかもしれません。では、なぜそうならないかというと、FXにはスプレッドがあるからです。スプレッドというのは御存知の通り、買値と売値のマージンです。これがあるがゆえに、FXの事実の一つとして買った瞬間、売った瞬間は確実に損失が出ています。つまりこの事実があるがゆえに売買ルール反転したとしても結果がそのまま反転することはありません。スプレッドがどんなに狭かろうと、スプレッドがある以上、FXは損失から始まります。

意外とこの事実を認識しないまま取引をされていない方は驚くほど多いです。ロジックを検討する際や損益計算をする際に是非心に留めておいてほしいものです。

ストップロスが入らないときは

当方が納品するEAは標準でストップロスやリミットを設定可能なのですが、時折お客様に問い合わせを受けるのが、ストップロスやリミットが設定されないというケースです。その場合多くの場合、最低取引pipsに違反しています。

最低取引pipsとは

MT4で取引可能なブローカーは現在価格と近すぎると指値を入れられません。指値を入れられる最低の価格差を最低取引pipsといいます。またこれはデモ口座と本番口座で異なるブローカーが多く、ブローカーのWEBサイトで確認する際にも注意が必要です。

エラーが出ている場合

バックテストとリアルトレードで確認する箇所が異なります。いずれも OrderSend Error 130 というエラーが出力されます。

バックテスト

バックテストの場合、バックテスト時の操作履歴を確認してください。

リアルトレード

リアルトレードの場合は、ターミナルのExpertタブを確認してください。