FX:確率論と優位性をロジックに落とし込む ~ 実践編

机上の空論では面白くない

 

先週の記事ではコイントスやサイコロを例に

確率論とFXについてお伝えしました。

 

私自身はこのような話はとても興味深く

その本質を突き詰めていくことが好きなのですが

机上の空論になってしまっては本末転倒です。

 

そこで、確率論や優位性を実際のロジックに

どのように落とし込んでいるのか、という具体的な作業内容をお伝えしますね。

 

昨日、動画はアップしていますが

つい熱くなって30分ほどの長話になってしまいました^ ^

 

今日は、その内容をまとめてみます。

 

勝率50%超えでプラス損益を継続するロジック

 

今回のロジックのテーマは、「 コイントスよりも少しだけ優位性を高くする 」ことを目指します。

つまり、勝率50%より上を目指すということになります。

 

ロジックのエントリータイミングに使うのは押し目買い戻り売り(プルバック)になります。

このロジックであれば、相場では一般的に数十年も優位性を保っている、

と考えられます。

 

多くの人が意識しているエントリータイミングなので、

その人たちについていけば、勝率50%を超えていけると考えました。

 

次に考えたのはリスクリワードです。

負けた時の損失と、勝った時の利益の比率です。

 

勝率が50%を超えていれば、リスクリワードが  1:1 でも

結果はぎりぎりプラスになります。

まず、そこをクリアしたいと考えました。

 

ただ、取引コストにはスプレッドと手数料(ILC口座の場合)がかかります。

スプレッドコストは、買いエントリーの場合は、エントリー時に、

売りエントリーの場合は、決済時にそれぞれ支払うことになりますので

リミットとストップの値を同じpips数にしても問題ありません。

 

ただ、手数料(ILC口座)はトレードごとに別途費用としてかかってくるので

リスクリワードが 1:1 で勝率がジャスト50%の場合は

手数料分マイナスになります。

 

そこで、リスクリワードは 1:1.1 としました。

獲得pips数にもよりますが、

リミットを1割多くしておけば、ほぼ手数料分をまかなえます。

 

 

文章で書くだけでは分かりづらいので

チャートに落とし込んでみます。

 

 

 

フィボナッチリトレースメントのラインを使って、

エントリーレート、ストップレート、リミットレートを表示しました。

リスクリワードは 1:1.1 で表示しています。

 

これはショートエントリーの場面なので、戻り売りのタイミングです。

 

このチャートを見ると、

「 こんなに早く利確しないで、もっと利益が伸ばせばいいのに!

もったいない!」

と思われるかもしれません。

 

「 ところがどっこい(笑) 」

このロジックでは一度のトレードで利益を伸ばすことを考えません。

応用編としては、半分決済で残りを伸ばす、ということをやってもいいのですが

それをやると、確率論を使ったロジックとしては

計算が成り立たなくなりますので、ここでは考えません。

 

ひたすらリスクリワード 1:1.1 で

エントリーを繰り返します。

 

 

勝率を上げるためにフィルターを搭載する

 

ロジックを作る時には、まず、基本の機能を搭載してインジケーターを作ります。

その動きを見ながら、

「 ここでは裁量ではエントリーしないなあ 」

といったところをフィルターで削っていく作業に入ります。

 

今回は、プルバックと相反するタイミングでサインが出るダイバージェンスを

フィルターとして採用することを考えました。

 

ダイバージェンスというのは、

ローソク足の高値は更新して上昇しているのに

オシレーター系のインジケーターの高値の山は、直前の山よりも下がっている状況です。

 

トレンドの勢いが弱くなって、そろそろ反転が近いサインと言えます。

 

プルバックとダイバージェンスの特徴をわかりやすく書くと

こうなります。

 

● プルバックロジック

・トレンド中は優位性が高い

・トレンド終了付近では負ける確率が高い

● ダイバージェンスロジック

・トレンド終了付近で優位性が高い

・トレンド中は負ける確率が高い

 

全く逆の性質だということがわかります。

 

そこで、ダイバージェンスのサインが出たら

その後のローソク足数本は

プルバックのエントリーをしないようにフィルターをかければ

無駄な負けエントリーを減らすことが出来ると考えました。

 

ただ、このフィルター機能を使ってみると、

ダイバージェンスをフィルターで使うのではなくて

エントリーサインとして使うともっと面白い、

ということに気が付きました。

 

エントリーポジションは常に1つ以上持たないようにすれば、

ダイバージェンスエントリーでポジションを持っている間は

プルバックロジックのエントリータイミングになっても

ポジションを持つことができないので

フィルターの役割も果たしてくれますよね。

 

 

それでバックテストを行った結果が下記になります。

今年の6月1日~15日までを検証してみました。

 

この段階では、まだEAはできていないので

インジケーターでサインを表示させて

地道にチャートで勝敗を拾っていきます。

 

 

 

ちょっと小さくて分かりづらいかと思いますので

勝敗の合計部分だけ拡大しますね。

 

 

一番左が、プルバックとダイバージェンスでエントリーした結果で

21勝26敗で勝率は44.7%でした。

これでは目標の勝率50%超えを達成できていません。

 

次に、真ん中の結果はフィルターを使った場合で

18勝16敗で勝率52.9%でした。

なんとか目標達成です。

 

そして、右端の結果。

さらにフィルターをかけました。

16勝8敗で勝率66.7%。

これは非常に出来すぎなので

長期間でデータを取ると50%台まで落ちてくると思いますが

とてもいいですよね。

 

ちなみに、上のエクセルファイルで、四角の空欄があります。

これは、フィルターをかけることでエントリーサインが出なくなったところです。

当然、エントリー回数は減ってきますが

それにともなって勝率が上がっているので

負けエントリーを減らしていることがわかります。

( 四角の中に緑色で数字が入っているところは、フィルターをかけることで

逆にエントリーして勝った結果です)

 

 

ここまでの結果のまとめと今後のアプローチ

 

・勝率50%を超えるロジックが見えてきた

・リスクリワード 1:1.1 で損失%でロット計算を行う複利を使えば
 獲得pips数に関係なく利益を伸ばせる可能性が見えてきた 

・インジケーター機能はほぼ完成したので
 RangeBreak_EAにエントリー機能を搭載してバックテストを行う

・EAのバックテストで勝率が安定していれば資金管理ロジックをEAに搭載

 

このインジケーターに確率論の考えを取り入れた段階で

ダランベールや限定マーチンの資金管理ロジック

を搭載することを意識して、これまで進めてきました。

 

そのためには連敗数を少なくする必要があります。

その面でも、プルバックとダイバージェンスという

2つのロジックをエントリー機能に取り入れたのは

いい影響が出ているように感じています。

 

フィルターをかける前でも、この期間の最大連敗数は2に抑えられていて

フィルターをかけることで連敗がなくなっていることがわかります。

 

この、連敗についてもEAでのバックテストの検証が必要です。

そこで、使える見込みが見えてきたら資金管理ロジックを搭載してみます。

 

引き続き楽しみながらロジックを作っていきますね。