FX サイコロトレードで損益比を検証してみる

FX に限らず相場において損益比をできるだけ大きくすることは、重要とされる。曰く「相場は、上がるか下がるかどちらかだ。下手な取引をするくらいなら、損益比を1対3以上にしてサイコロを振ってエントリー方向を決めた方がいい。」

そこで、MT4の自動売買を使って検証してみた。

サイコロトレード

ロジックは、単純。疑似乱数で偶数なら買いエントリー、奇数なら売りエントリー。ポジション保有中は、新規追加なし。通貨ペアは、テクニカル分析が効きやすいドルストレートでボラティリティが大きいポンドドルの5分足。スプレッド 5pips。損切りは、25pips 固定。これは、簡単には損切りにかからず利確がありえない値にならない現実的なポイントとして決めた。サイコロトレードにおいて重要なのは、損益比であとはテキトーで良いと考えるからだ。また利確は、25pips から25刻みで125pips まで損益比1対1から1対5までを想定。概要が知りたいだけなので、2019年6月中の始値のみで検証。

まずは、利確 25pips 損益比1対1の利益曲線グラフで右肩下がり

そして、50pips 損益比1対2のすり鉢状グラフ

続いて、75pips 損益比1対3の底ばいグラフ

100pips 損益比1対4の山なりグラフ

最後に 125pips

見ての通り、どれも利益になっていない。良くてトントンといったところ。確かな優位性が見られないのは、損切り幅にあるやもしれん。てことで、5pips 刻みで150pips までで最適化してみた。最もプロフィットファクターが良かったのが損切り 140pips 利確 70pips って、思いっきり利小損大なトレード右肩上がりのグラフ とはいえ、あくまでカーブフィッティングの結果。なので、この値で2019年5月を検証すると ダダ下がりのグラフ

と、ここまで書いていて思い至ったのが、確率を語る上で大数の法則は外せない。ならば、期間を揃えることと取引回数を揃えること両方必要?!

期間は、上記の通り。なので以下、取引回数100回で検証。

サイコロトレード100回

基本的には、上記と同じ疑似乱数での取引。2019年6月開始。取引100回を満たすため、5分足始値取引。損切りは、25pips固定。

まずは、利確25pips右よりV字、損失で終わるグラフ

そして、利確50pips右肩下がりのグラフ

続いて、利確75pips右肩下がりのグラフ

利確100pips右肩下がりのグラフ

最後に、125pips右肩下がりのグラフ

以上のように、見事に右肩下がりのグラフ。5分足だとエントリーポイントが似すぎているかもと、1時間足でやった結果が↓

25pips右肩下がりのグラフ

50pips右肩下がりのグラフ

75pips右肩下がりのグラフ

100pips右肩下がりのグラフ

125pips右肩下がりのグラフ

5分足よりかは、変化のあるグラフなるも右肩下がりなのは変わらず。

ついでに利確125pipsで1度に1取引、つまり利確するまで新規ポジションは、取らないパターン。2019年4月から6月まで取引回数91回。波打ちながらの右肩下がりグラフ

サイコロトレード結論

損益比だけのサイコロトレードでは、負ける。

まぁ、想定通りの結果ですな。これで勝てるなら、EAが負けるはずがない。上記先人の発言は、無意識の裁量判断が働いてサイコロを振るタイミングがそもそも絞られている。もしくは、試行回数が少ないためタマタマ良い結果だった、とか。確かに最初の検証トレードでも損益比1対4は、途中まで右肩上がりのグラフである。

コンパイル済みのEAファイルはこちらサイコロトレード。1取引1ポジで検証する時は、Count -1 に設定。あくまで検証用のEAなので、これで本番トレードは決してしないように。

//+------------------------------------------------------------------+
//|                                                    DiceTrade.mq4 |
//|                                           Copyright 2019, weblog |
//|                                          https://weblog.4141.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, weblog"
#property link      "https://weblog.4141.biz"
#property description "サイコロを振って、偶数なら買い・奇数なら売り"
#property description "損益比で勝てるのか検証する。"
#property description "1取引1ポジで検証:Count -1"
#property version   "1.01"
#property strict
//--- input parameters
input int      TakeProfit=250;
input int      StopLoss=250;
input int      Count=100;
input double   Lot=0.1;

int count = Count;

void DiceTrade (){
   if( rand()%2 == 0 ){
      OrderSend( _Symbol, OP_BUY, Lot, Ask, 3, Ask-StopLoss*Point,
         Ask+TakeProfit*Point, NULL, 12345, 1 );
   } else {
      OrderSend( _Symbol, OP_SELL, Lot, Bid, 3, Bid+StopLoss*Point,
         Bid-TakeProfit*Point, NULL, 12345, 1 );
   }
}
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if( count > 0 ){
      DiceTrade();
      count--;
   }
   if( count < 0 ){
      if( OrdersTotal() == 0 ){
         DiceTrade();
      }
   }
  }
//+------------------------------------------------------------------+

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください