口座通貨とバックテストの通貨は必ず揃えよう
TradeviewのILC口座でバックテストする時の注意点でお伝えした通り、口座通貨とバックテストの通貨を揃えないと手数料が正しく計算されません。
揃えないとどうなっちゃうのか以下の4つのパターンで検証してみました。
- ①円口座でバックテストの通貨をJPYに設定
- ②円口座でバックテストの通貨をUSDに設定
- ③ドル口座でバックテストの通貨をJPYに設定
- ④ドル口座でバックテストの通貨をUSDに設定
全パターンの共通事項は以下の通りです。
- 通貨ペア:USDJPY
- 仕掛け価格:104.913円/ドル
- 手仕舞い価格:104.890円/ドル
- 損益:-2.3pips
- ロット数:0.1(1万通貨)
- 1pips当たりの金額:100円/pips
- 1lot当たりの手数料(往復):5ドル/lot
正常動作するのは①と④の2パターン
まずは①のパターン。総損益は-280円となりました。
計算式は-2.3pips * 100円/pips – 50円(手数料)となります。
想定通りの金額で問題ありません。
続いて②のパターン。総損益は-52.19ドルとなりました。
計算式は(-2.3pips * 100円/pips) / 104.890円/ドル – 50円(手数料)となります。
なぜ手仕舞い価格で割っているかというと円からドルに変換するためです。単位だけに注目して掛け算割り算してみれば分かります。
手数料が50円というのは明らかにおかしいですね。本来は、0.5ドルであるべきです。
ドルと円をそのまま足し引きしているので、異常な損失になっています。
そして③のパターン。総損益は-230.5ドルとなりました。
計算式は-2.3pips * 100円/pips – 0.5ドル(手数料)となります。
これも異なる通貨をそのまま足し引きしちゃっています。
最後に④のパターン。総損益は-2.69ドルとなりました。
計算式は(-2.3pips * 100円/pips) / 104.890円/ドル – 0.5ドル(手数料)となります。
想定通りの金額で問題ありません。
結果として、口座通貨とバックテストの通貨が揃っている①(どちらも円)と④(どちらもドル)のパターンのみ正しく計算されていることが分かりました。
考察
さて、4つのパターンを見比べてみて分かったことが2つあります。
- 手数料の単位は口座通貨によって決まる(円口座:50円、ドル口座:0.5ドル)
- 円→ドル変換はバックテストの通貨がUSDの時に行われる
この特徴のせいで、②と③のパターンの計算がおかしくなっちゃったわけです。
ん~不具合のような気もしますが、TradeviewのMT4を使う以上、従うしかありません。
TradeviewのILC口座でバックテストする際は、上記の事象を必ず考慮するようお願いします。
そうしないと全トレードが負けトレード(本当は勝ってるのに)の右肩下がりレポートに出くわすことになりますから!