博打の強力な戦略としてマーチンゲイル法があります。負けたら掛け金を倍にするというやり方で一連のトレードの収支を必ずプラスにするという一種の必勝法です。多数のマーチンゲイル系 EA は驚くべき安定した利益曲線でとても魅力的です。もちろん落とし穴があって負けが続くと損失が指数関数的に増えるために資金不足になる可能性があり、資金不足は破綻、破産をもたらします。資金不足を避けるために最初の掛け金を小さくしたり、回数制限をすると利益が小さくなって資金効率が低下したり、大損失が確定したりします。
別売の TMea や VMea はマーチンゲイル法を、負けたらポジション保有時間あるいはポジション保有出来高を二倍にするという形で応用した EA で裁量トレードの損切、途転を補助します。損益がポジション保有時間あるいはポジション保有出来高に比例すればマーチンゲイル法に準じた高い安定性が確率的に期待できるのがその有用性の基礎となります。しかしその確率的というところが曲者で大きく儲かることがある反面、大きく損する場合もあります。そこでもっと直接的に一定の損益で利確ないしは損切し、負けたら途転し次のトレードの利確/損切幅を 2 倍にするという 「PMea 損益マーチンゲイルスキャル EA」 を作成しました。途転せずに次のトレード機会を待ち 2 倍の利確/損切幅のトレードを行うというトレードも当然考えられます。「SPMea 単純損益マーチンゲイルスキャル EA」 がそのようなトレードを行うための EAです。
さらには PMea や SPMea とは異なり利確/損切幅が一定で途転売買も行わない普通の EA も考えられます。それがおまけとしてつけてある SCL スキャル EAです。
PMea/SPMea/SCLea はシンプルですが必要かつ十分な機能を盛り込んだスキャルピング EA です。まずはストラテジーテスターでの動作確認、次いでデモ口座でのバーチャルトレードをお勧めします。ストラテジーテスターでトレードの練習をすることも出来ます。PMea/SPMea/SCLea は売買開始後の挙動が異なりますが基本的には全く同じように操作できますので PMea でその操作法を説明します。
3 つのスクリプトBuy_order_PM, Sell_ order_PM, Exit_ order_PM で EA をコントロールします。ストラテジーテスターのビジュアルモードで PMea の使い方を説明します。下図は注文が出ていない通常の画面で pending, PMea と左上に表示されています。
サブウィンドウにはおまけとして付けました MADind (移動平均乖離のインディケータ) が表示されています。小さなプルバックから下方ブレイクしたところで Sell_order_PM スクリプトをチャートにドロップしますとグローバル変数を介して指令が EA に送られ、即座に売り注文が実行されます。左上の表示は SELLING, PMea に変わります (下図)。
この場合、よくあるように売りが継続せず急速に戻します。一定の損失 (10 pips) で損切り決済をします。すぐに反転したと判断して反対方向のエントリー (途転) を行い左上に BUYING, TMea と表示されます (下図)。
この場合、下図のように最初のトレードの2 倍の損切り幅での損失決済となり再途転し左上に SELLING, TMea と表示されます (下図)。
その後、再度反転しますが損切には至らず下図のように利確決済となります。
損切になった場合は 3 回目の途転売買は行いません。PMea は別売の「MADsigAT 売買シグナル」 等でグローバル変数を介して駆動して自動売買を行うことができますが三連敗した場合はボラティリティーが高くトレードに不向きと判断してロット数を小さくすることができます (市場が変わると元のロット数にリセットされます)。
この一連のトレードで設定時間経過後の決済を待たずに Exit_order_PM で利益確定あるいは損切りすることも出来ます。その場合、損失確定でも途転売買は行われません。一方、一回目あるいは二回目のトレードの途中で手動決済しますと損益にかかわらず途転売買が開始されます。
どのような場合にPMeaでトレードすべきかは TMeaと同じですので別売の「TMea 時間マーチンゲイルスキャル EA」の商品概要をご参照ください。
MT4 のストラテジーテスターによるバックテスト/トレードの練習はビジュアルモードのチャートとは別のチャートも表示させてそれをスクロールしながら行います (下図参照)。
左はストラテジーテスターの 5 分足チャート、右は通常の 5 足チャートです。Skip_time_PM スクリプトを右のチャートにドロップしますと黄色の縦破線が表示されその破線で指定される時刻までテスターブレーキを一時的に解除しチャート展開を速めることができます。
ストラテジーテスターを灰色点線のところで停止して右のチャートの灰色点線より先にあるエントリーポイントを探します。仮に MAD がゼロクロスしたところでエントリーした場合、バックテスト用のスクリプト Sell_time_TMをそこにドロップすることにより EA に時間指定の売買指令を出すことができます。
緑の破線が出て一回目の売買の時刻と方向が指定されます (売りの場合はスクリプト Sell_time_PM で指定して赤の破線となります)。その後、ストラテジーテスターの停止を解除します。下図のようにトレードが終わったら再度停止して次のエントリーポイントを指定するということを繰り返します。
途中で早めの利確や損切を各種テクニカル指標を参考に Exit_order_PM スクリプトで行うことにより裁量トレードの練習でできます。
SPMea (単純損益マーチンゲイル EA) は途転売買を行わず、負けたら損益幅を勝つまで倍化させる EA です。また SCLea は途転売買も損益幅の倍化も行わない基本的標準的なスキャル EA です。
PMea, SPMea, SCLea は裁量取引補助のための EA でテクニカルな状況を判断して売買する機能は全くありませんが売買指令を出すインディケータと組み合わせると自動売買が可能になります。売買指令を出すインディケータとしては別売の 「MADsigAT 売買シグナル」などを用いることができますがここでは MAsigAT およびそれに iMOind のフィルターをかけた iMOsigAT (「iMOsigAT 売買シグナル (MAsigAT 売買シグナルのおまけつき)」 として別売) を使用した場合について検討しました。
PMea, SPMea, SCLea の売買パラメータを変化させてUSDJPY (0.01 ロット) で行った約 2 ヶ月間 (2024年8月1日から9月27日) のバックテストの結果を表にします。
PMea, SPMea, SCLea の売買パラメータを変化させてUSDJPY (0.01 ロット) で行った約 2 ヶ月間 (2024 年 8 月 1 日から 9 月 27 日) のバックテストの結果を表にします。
——————————————————————————————————————————————-
EA 売買シグナル 利確幅/損切幅 総利益 平均利益 トレード数 勝率 pf
(US$) (US$/トレード) (%)
——————————————————————————————————————————————-
PMea MAsigAT 14 pips /14 pips 48.8 0.17 290 55.5 1.26
PMea MAsigAT 18 pips /18 pips 11.1 0.05 237 52.3 1.05
PMea iMOsigAT 14 pips /14 pips 11.3 0.08 148 54.7 1.11
PMea iMOsigAT 16 pips /16 pips 34.5 0.26 135 60.7 1.37
PMea iMOsigAT 18 pips /18 pips 15.5 0.13 122 59.0 1.15
SPMea MAsigAT 12 pips /12 pips 14.1 0.12 113 53.1 1.11
SPMea MAsigAT 15 pips /15pips 48.7 0.43 114 58.1 1.46
SPMea MAsigAT 20 pips /20 pips 56.9 0.65 88 53.4 1.54
SPMea iMOsigAT 12 pips /12pips 41.6 0.48 87 57.5 1.76
SPMea iMOsigAT 15 pips /15pips 51.3 0.65 79 64.6 1.96
SPMea iMOsigAT 20 pips /20 pips 34.9 0.51 68 66.2 1.41
SCLea MAsigAT 20 pips /20 pips 24.8 0.22 227 43.2 1.26
SCLea MAsigAT 25 pips /25 pips 27.0 0.13 212 41.0 1.29
SCLea MAsigAT 30 pips /30 pips 19.3 0.09 204 38.2 1.21
SCLea MAsigAT 35 pips /35 pips 17.0 0.09 197 37.6 1.18
SCLea iMOsigAT 20 pips /20 pips 22.8 0.22 103 46.6 1.69
SCLea iMOsigAT 25 pips /25 pips 17.9 0.19 94 40.4 1.58
SCLea iMOsigAT 30 pips /30 pips 22.4 0.25 91 41.8 1.77
SCLea iMOsigAT 35 pips /35 pips 22.6 0.25 91 40.7 1.74
—————————————————————————————————————————————————-
途転するため売買方向が一定でない PMea では iMOind フィルターの効果はトレード数の減少以外は明らかでありませんが SCLea では明らかに損益が改善しています。一般に長期間のバックテストあるいはフォワードテストで pf が 1.25 – 1.5 であれば優秀な EA とされているようです。短期間のバックテストではありますが SCLea の pf は 1.5 以上であり有望であると考えています。
最も好成績を収めたのは SPMea です。その損益曲線はロットサイズを倍化していく通常のマーチンゲイル法の EA の損益曲線と酷似しています。下図は SPMea * MAsigAT (15 pips /15 pips) の場合です。
MAsigAT を iMOsigAT とした場合は下図です。
これだけ見ますと (単一ポジションですので) ロットサイズを倍化していく通常のマーチンゲイル法のような破滅的な危険性はなく、ほぼ直線的な右肩上がりで申し分ありません。しかし連敗から本当にいつも逃れられるかという疑問が湧きます。連敗すると決済損益幅が指数関数的に増加する SPMea ではエントリーの際の短期テクニカルのトレードに対する重要性が低下します。つまりエントリーの際の短期的テクニカルの優位性に期待できない、運任せということになります。
そこでより長い時間足でみたトレンドを反映する機能を SPMea には付与しました。VWAPind_week や CSind から派生した VWAPenv_week, rCPSenv といった環境認識系のインディケータを作成しました。
VWAPind_week と VWAPenv_week についての詳しい説明は別売しておりますインディケータ「VWAPind_week 週初からの VWAP を直近 3 週分表示」の商品概要をご覧ください。また CSind と rCPSenv ついての説明は別売しておりますインディケータ「CSind 通貨の強さ」の商品概要にあります。
SPMea はこれらのインディケータに時刻指定でトレンドインデックス (-1 から +1 の実数) をグローバル変数経由で請求、取得します。面倒なことをするようですがこうすることにより通常ストラテジーテスターでバックテストができない CSind 派生のインディケータが使用可能となります。rCPSenv は最強の通貨ペアの強さを 1 として相対的な通貨ペアの強さを計算します。SPMea では買いトレードと売りトレードの rCPSenv の閾値を設定できます。一時間足 rCPSenv の買いと売りの閾値設定を (buy_thr = 0, sell_thr = 0) としてみますと MAsigAT では下のような損益曲線となり、若干改善されたように見えます。
また iMOsigAT では下のような損益曲線となりました。
また一時間足 rCPSenv の買いと売りの設定値を (buy_thr = 0.5, sell_thr = -0.5) として、より強いトレンドに限定してみますと MAsigAT では下のような損益曲線となりました。
より強いトレンドでトレードすれば勝率が高まりパフォーマンスが向上すると期待したのですが結果は逆で 7 連敗して大きくマイナスとなりました。7 連敗は買い、売り、売り、買い、買い、買い、買い (そのあと買いで勝ち) となっており、間違った売買 (トレンド) 判断をし続けたことにより起きています。7 連続でトレンドが継続することは非常に稀でしょうから負けた時には下手に売買の方向を変えない方がよさそうです。ロブ・ブッカーが「超カンタン アメリカ最強のトレード理論」(扶桑社) で説くように行き過ぎたトレンドは必ず元に戻ります。
また iMOsigAT では下のような損益曲線となっています。
買いのみの設定は例えば (buy_thr = -2, sell_thr = -2) とすればできます。売りのみ (2/2), 買いのみ (0, -2), 売りのみ (2, 0), 対照 (-2, 2) もバックテスト (USDJPY 0.01 ロット、2024 年 8 月 1 日から 9 月 27 日) で検討してみました。結果をまとめた表を下に示します。
——————————————————————————————————————————————————————–
EA 売買シグナル 利確幅/損切幅 buy_thr /sell_thr 売買 総利益 平均利益 トレード数 勝率 pf
(US$) (US$/トレード) (%)
———————————————————————————————————————————————————————-
SPMea MAsigAT 15 pips /15 pips -2 /-2 買い 32.1 0.46 70 57.1 1.52
SPMea MAsigAT 15 pips /15 pips 2 / 2 売り 21.6 0.32 68 51.5 1.27
SPMea MAsigAT 15 pips /15 pips 0 /-2 買い 19.8 0.41 48 58.3 1.42
SPMea MAsigAT 15 pips /15 pips 2 / 0 売り 18.6 0.30 63 52.4 1.27
SPMea MAsigAT 15 pips /15 pips -2 / 2 両方 47.6 0.41 115 57.4 1.44
SPMea iMOsigAT 15 pips /15pips -2 /-2 買い 10.6 0.23 46 60.9 1.20
SPMea iMOsigAT 15 pips /15 pips 2 / 2 売り 29.8 0.66 45 68.9 2.67
SPMea iMOsigAT 15 pips /15 pips 0 /-2 買い 7.9 0.28 28 53.6 1.25
SPMea iMOsigAT 15 pips /15 pips 2 / 0 売り 18.9 0.70 27 70.4 3.25
SPMea iMOsigAT 15 pips /15 pips -2 / 2 両方 50.2 0.63 79 63.3 1.92
———————————————————————————————————————————————————————–
売り買いの方向性をうまく選択すれば連敗を避けられ、ほぼ右肩上がりの損益曲線となりますし pf も高くなります。MAsigAT の場合は買いのみ、iMOsigAT の場合は売りのみが好成績となっています。いずれにせよ下図 (MAsigAT, 15 pips /15 pips, buy_thr = 2, sell_thr = 0 売りのみ) のような連敗による大きなドローダウンがあるもののすべての場合で損益がプラスになっているのは心強いことです。
VWAPenv_week は当該週初起点 VWAP よりレートが上か下か、前週初起点 VWAP よりレートが上か下か、前々週初起点 VWAP よりレートが上か下かで ± 4, ± 2, ± 1 のポイントを付与しトレンドインデックス (-1 から +1 の実数) を計算します。一時間足 VWAPenv_week の買いと売りの閾設定値をいろいろと変化させてみた結果を表にまとめました。なお buy_thr /sell_thr の * 印は逆転モードで閾値より下で買い、上で売ります。
———————————————————————————————————————————————————————-
EA 売買シグナル 利確幅/損切幅 buy_thr /sell_thr 売買 総利益 平均利益 トレード数 勝率 pf
(US$) (US$/トレード) (%)
———————————————————————————————————————————————————————-
SPMea MAsigAT 15 pips /15 pips -2 / 2 両方 43.2 0.41 115 57.4 1.44
SPMea MAsigAT 15 pips /15 pips 0.7 /-2 買い -19.3 -1.92 10 40.0 0.34
SPMea MAsigAT 15 pips /15 pips 2 /-0.7 売り 1.8 0.05 35 54.3 1.06
SPMea MAsigAT 15 pips /15 pips -0.7*/2* 買い 20.5 0.56 37 59.5 1.99
SPMea MAsigAT 15 pips /15 pips -2* / 0.7* 売り 16.6 0.72 23 69.6 2.78
SPMea MAsigAT 15 pips /15 pips 0 /-2 買い 31.0 0.60 52 63.5 2.10
SPMea MAsigAT 15 pips /15 pips -2 /-2 買い 32.1 0.46 70 57.1 1.52
SPMea MAsigAT 15 pips /15 pips 0* /2* 買い 21.7 0.47 46 58.7 1.47
SPMea MAsigAT 15 pips /15 pips 2 / 0 売り 6.4 0.20 32 43.8 1.14
SPMea MAsigAT 15 pips /15 pips 2 / 2 売り 21.6 0.32 68 51.5 1.27
SPMea MAsigAT 15 pips /15 pips -2* / 0* 売り 24.1 0.60 40 52.5 1.52
————————————————————————————————————————————————————————-
一番上の行は買いも売りも行う通常の売買でトレード数が多く、総利益も一番多くなっています。pf も 1.44 で悪くはないのですが敗けが続く可能性があり、売買を買いか売りかのどちらかに限定するトレードについて検討しました。
VWAPトレンドインデックスが 0.7 以上で買い、あるいは -0.7 以下で売りの強いトレンドでの順張りは悲惨な結果 (2-3 行目) となりました。他方、逆張りモードで VWAP トレンドインデックスが -0.7 以下で買い、あるいは 0.7 以上で売りとしますと結果は全く逆になり、平均利益、pf は申し分ないものとなります (4-5 行目)。残りの 6 行は買い、あるいは売りに限定したトレードを順張り的に行った方がよいか逆張り的に行った方がよいかを検討しています。買いと売りで結果が異なりますが 9 行目のような低い勝率、pf のトレードを避けることを優先しますとこれも逆張り的トレードを行うのがよいと結論してよさそうです。0* /2* の設定 (8 行目) での損益曲線と -2* / 0* の設定 (11 行目) での損益曲線を下に示します。
時たま訪れる連敗対策が SPMea の最大の課題です。ほぼ確実に挽回できるのですが絶対とは言い切れません。ロット数を増やす通常のマーチンゲイル EA のようなリスクはないにしても週末決済で完全に挽回できずに連敗から脱出、大損失確定となることもあります。そこで損失が大きくならないうちに 3 連敗したら利確/損切り幅をリセットする場合について検討しました。また 1倍、2 倍、4 倍のマーチンゲイル法ではリスクが大きすぎるということでフィボナッチ比 1倍、1.618 倍、2.618 倍にしました。3 回目のトレードで勝った場合の総損益は 0 でマイナスを避けることを優先します。
SPMea, iMOsigAT の組み合わせで最小の利確/損切り幅を 15 pips /15 pips とした場合の損益曲線を下に示します。
大きなドローダウンはなくなり、3 連敗は 3 回発生しましたがほぼ右肩上がりの損益曲線となりました。なお pf は 1.87, 勝率は 65.6 % で申し分ありません。
3 連敗した場合、上記バックテストではすぐに利確/損切り幅を最小にリセットしましたが 3 連敗は何らかの相場状況の異常を示唆していると考えることができますので翌日あるいは翌週までトレードを中止しても良いと思います。
詳細・購入