[EA制作] 性格の悪いEAを作る
こんにちは、2payです!
今日は日曜日なので(?)EAを作って遊びます。
今回のテーマは「性格の悪いEA」です。
私は過去記事で「MAは使えない」と批判してきました。
使えないのは事実なのでその批判を取り消すことはないのですが、"仮想敵にMAを使わせる" という方法なら有意な結果が出るということが検証から判りました。
ここで扱う仮想敵は、"負け裁量トレーダー" と定義しています。
つまり、負けトレーダーにMAを使わせて勝つ というアイデアです。
MAはテキトーに使用すると負けるツールです。であれば、負ける使い方を逆利用すれば勝てるはずです。
(人の心とかないんか?)
環境
・USDJPY M5
・EMA13
・EMA25
・EMA75
期間はメジャーな数値です。初心者ドル円好きそう、最近のトレンドはSMAよりEMA、みたいな意図があります。
"特別良い組み合わせ" という訳ではなく、最もミーハーなセッティングを意識しました。
仮想敵の取る戦略
戦略は初心者向けFX解説本やネット上の初心者向けコラムなどで共通して書かれているような事をまとめました。
・トレンドについて行く(トレンドフォロー、トレンドはフレンド)
・MAの傾きに従う
・押し目買い、戻し売り
・ゴールデンクロス、デッドクロス
・複数のインジケーターを使用し、ダマシを減らす
・エントリーしたらTPとSLを設置する
どれも一度は聞いたことがあると思います。
初心者向けの情報は大量にあるので収集しやすいですね。
これを基に、
・3本のMAがゴールデンクロスしたら買い
・3本のMAがデッドクロスしたら売り
・ポジションを取った後はSLを設置する、TPは使わず、短期MAのトレーリングストップ
としました。
ゴールデンクロスはいつ判定しますか?
→ 足の確定を待ちましょう。なぜならダマシになる可能性があるからです。
SLはどこに設置したら良いでしょうか?
→ 直近安値・直近高値 と習いましたね。
という具合で、戦略は決まりました。
個々トレーダーのこだわりは除外し、同じ層のトレーダーが共通して考えそうな事だけをルール化します。
自身の戦略
仮想敵の戦略に対し、自身が有利に立ち回るにはどうすれば良いでしょうか?
答えはシンプルで、
SLを抜けた時に攻めます。
板(book)を見た方が理解が早いのですが、
直近高値・直近安値には逆指値が溜まる傾向にあります。
そして、逆指値が溜まっている所に価格が到達するとオーダーが次々約定していきます。
逆指値が多く集まっているポイントはリクエストを全て捌くまで逆指値の方向に走ります。
これが1つの優位性です。
これは初動(直近高値・直近安値を抜けた瞬間)に宿るものです。
その後トレンドが継続する・しないは切り分けて考えなければなりません。
それから、直近高値・直近安値に接近しても消えないオーダーは裁量トレーダーに多い特徴です。
(アルゴならQuote danglers, Spoofing 等でキャンセル、誘導)
キャンセルせず逆指値が残り続けるようならば、HFTが逆指を助長してくれます。
これに便乗して順張りし、板が薄くなるまでついて行けば良いということです。
簡単に言えば、直近高値・直近安値のブレイクに順張りし、数pips抜きます。
これで、仮想敵の損切 → 自身の利益 という構造になります。
(お前のものは俺のもの、俺のものも俺のもの)
人の行く 裏に道あり 花の山
みたいなことですかね。
まぁ実際待ち構えているのは花山薫みたいに屈強なシステムですが。
なぜ数pips抜けるのか?
→ 直近安値ピッタリにSLを置く人もいれば、少し離してSLを置く人もいるからです。
逆指値オーダーが厚い範囲は動くゾーンです。
そのゾーンを抜けたら価格は停滞します。
利ザヤを小さくするほど確度が上がりますが、コスト負けとのバランスを考慮しなければなりません。
Stop(逆指値)の推定
直近高値・直近安値の算出に関してです。
裁量トレーダーなら、視覚的に目立つ所に置いたら良いかと思います。
問題はシステム化する場合です。
以下は簡便な例です。
仮想敵の行動からすれば、
①GCでBuy
②ポジションにSLを付与
という順序になります。
GCで入ったということは、入るまではGCではなかったことを意味します。
GC(およびパーフェクトオーダー)とは上昇相場の只中にあるという状況を示すものです。
エントリー時点ではGCになる前の地合いが直近動向になります。
であれば、"1つ前のGC終了から新しいGC開始の間" の最安値を直近安値とすれば良いのです。
非GC期間は、"上昇だと思っていない参加者" が主導していた期間です。
この期間の最安値を抜けるということは、"上昇だと思っていない参加者" が再び主導を取り戻したことを意味します。
つまりGC支持者にとっては完全なシナリオ否定となるため、この直近安値の推定は上昇支持者にとっての最終防衛ラインの突破とみなされます。
組んでテストする
散々長ったらしく解説しましたが、結局やる事は
直近高値・直近安値のブレイクで数pips抜く
だけです。
以下、テスト結果です。
USDJPY M5 2021-2025 (5年間)
SL : 15 pips
TP : 10 pips
保有時間最大 34分
少しパラメータを変えました。
SL : 12 pips
TP : 7 pips
保有時間最大 34分
SLTP比率を殆ど変えていませんが、勝率が4~6%程向上しているのが分かるでしょうか?
基本的に勝率はリスクリワードとトレードオフの関係ですが、利幅に依って期待値が変化するような環境下ではこのような現象が起こります。
この戦略のポイントは直近安値・直近高値の選定です。
仮想敵の逆指値が多く集まっていなければ、価格は走りません。
それが分かるようになれば裁量でも再現できます。
実はFX億トレーダーがスキャルピングでやっているのも同様の戦略だったりします。
jさんが「MAはエントリーのタイミングを測るためには使わないけど、大衆の動きを読むために表示している」というニュアンスの発言をしたのはこういう使い方をしているからです。
この取引モデルは人間心理に基づいた設計なので多くのミクロ市場で使えますし、将来的にも機能し続ける優位性です。
人間は過ちを繰り返す生き物であり、多くの人は怠惰で習慣を改善しようと考えません。
そんなのがいなくならない限り半永久的に食い続けられます。
FXは板が見れないので、どこに溜まりやすいのかを違う手段で推定するか、OANDAブックを参照するなど工夫してください。
今回の内容はここまでになります。
最後まで読んでいただきありがとうございました。
Is it OK?