クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

Roman Klymenko | 22 8月, 2019

イントロダクション

すでにこのシリーズの前の記事で2つの異なるグリッドEAを開発しました(クロスプラットフォームグリッドEAの開発クロスプラットフォームグリッドEAの開発(パートII):トレンド方向の範囲ベースのグリッド)。

当初このEAは、長期間にわたって利益を上げることができませんでしたが、それ以外は良好でした。 2番目となるこのEAは、数年以上にわたって動作する可能性があります。 しかし、残念ながら、最大ドローダウンが50%未満で、年間利益の50%以上の条件は得ることができませんでした。 また、最大ドローダウン自体を制御することはできませんでした。 この点で、すべてが相場に依存していました。 では、グリッドEAは安全に利益を積み重ねることができないのでしょうか? この記事ではその質問に答えてみましょう。

タスクの設定

この記事では、グリッドEAの次の (場合によっては直近の) バージョンを開発します。 価格が好ましくない方向に移動した場合にのみ、グリッドを設定するマーチンゲール戦略をとります。 グリッド内のオーダーの量は常に増加します。 したがって、価格が反転または修正が発生するとすぐに、グリッド内のすべてのオーダーは、全体的にプラスで閉じられます。

したがって、価格が反転または修正が発生するとすぐに、グリッド内のすべてのオーダーは、全体的な利益で閉じられます。 ... TPは、現在オープンしているすべてのポジションの全体的な利益がEAパラメータで設定された値を超えると有効になります。

実際には、グリッドが正式に設定されていないため、単語そのままの意味であるところのグリッドではありません。 代わりに、一般的にはマーチンゲールと呼ばれることがあります。 一方、価格が反転する場合、明らかにグリッドを形成することを意味し、前のポジションと同じ距離で各ポジションを開きます。 実際のところ、用語をいじることに意味はありません。 主な目的は、EAを以前に開発した他のグリッドEAよりも収益性の高いものにすることです。 これが今回やろうとしていることです。

リスク管理

すべてのグリッドと同様に、マーチンゲールには 1 つの主要な問題があり、使用時にリスクを管理することは不可能です。 これより、資産全体がすぐに失われる可能性があります。 グリッドとマーチンゲールの両方を使用すると、一見完璧な爆発的なミックスになります。 では、その場合、どのようなリスク管理について議論できるのでしょうか。 "安全な"EAは開発できるのでしょうか。

(可能であることが判明しました) リスクは少なくとも2つの方法で管理できます。 まず、残高が一定額減少した場合、グリッド全体を損失でクローズすることができます。 次に、N 番目のステップに達した場合、グリッド全体をマイナスで閉じることができます。 いずれの場合も、それまでの戦略の何かが間違っていることを認め、未来の利益が現在の損失を上回ることを期待して、新たにトレードを開始します。 その希望が正当化されるかどうかは、テストだけが示すことができます。

減少を伴う選択肢には1つの欠点があります- 1つのアカウントで複数のシンボルを同時にトレードすることはできません。 口座の株式は全体像を示しているので、各特定のシンボルでどのような損失があるかは不明です。 したがって、2 番目のオプションを使用してリスクを管理します。

最初のトレードのエントリー

1つ疑問がまだ残っています。 最初のトレードの方向を定義する方法はなんでしょうか? なぜ最初のトレードだけがここで重要なのかと疑問に思うかもしれません。 その理由は、残りのポジションが最初のポジションと同じ方向に開かれ、EA設定で指定されたポイントの数に対して価格が反転して移動した場合にのみ開かれるためです。

もちろん、コイントスも可能です。 しかし、その場合、テスト結果は毎回異なります。 また、常に一方向にのみエントリーします。 しかし、これは合理的な解決策には見えません。 したがって、少なくとも少しばかりの知性をEAに追加し、最初のエントリーの方向を決定する方法をテストしてみましょう:

エントリー メソッドは、個別に使用でき、すべてを一度に使用できます。 ただし、使用するエントリーの方向を決定するタイプが多いほど、エントリーは関連するすべてのエントリー定義メソッドによって承認された場合にのみ実行されるので、EAが行うトレードは少なくなります。

EAインプット

すでに2つのグリッドEAを開発しました。 したがって、詳細に記述しても意味がありません。 代わりに、新しいEAが持つインプットを見てみましょう。 EAのソースコードは記事に添付されています。

Lot size. グリッドの最初のステップでロットサイズ。 トレーリングのステップのロットサイズは、 "チェーン " パラメータで増やすことに依存します。

Increasing a lot in a chain. このパラメータを使用すると、トレーリングのグリッドステップでロットサイズを選択できます。 次の値を使用できます。

テストによると、固定ボリュームを使用することは最悪のオプションです。 チェーン(ジオメット)のロットの指数的な増加は、外国為替で最良の結果を示します。 ほとんどの株式相場の商品では、多くの指数的増加もより良いオプションですが、算術の進行が望ましい場合には例外があります。 したがって、以下のすべてのテストは、明示的に明記されていない限り、 Geometに設定されたパラメータで行われる必要があります。

Grid size in points. グリッド内の開いているポジション間の距離。 たとえば、パラメータが 30 に設定され、現在の価格が最初のロングオーダーから 30 ポイント減少した場合、グリッドの 2 番目のオーダーが開きます。 2番目のグリッドオーダーに対して価格が30ポイント下がった場合、3番目のオーダーが開かれます。

Do not open Long及びDo not open Short このパラメータは、ロング/ショートポジションを開くことを無効にします。

株式相場の商品の大半は長期的には強気であるため、このパラメータを使用すると収益性が向上する可能性があります。 もし株式がほとんどの場合強気である場合、トレンドの方向にのみトレードすることが合理的です。

'Closing all positions' group. このグループのパラメータを使用すると、チェーン内のすべてのポジションに対してTPレベルと ストップロス レベルを設定できます。

TPによるポジションのクローズは次のパラメータで制御されます。"Profit, $", "Profit at step 1, $", " Profit at step 2, $", ..., "Change take profit level after a step"。 "Profit, $" パラメータのみが必須です。 その他のパラメータでは、特定のチェーンステップで"Profit, $" パラメータを変更して、チェーン全体をさらにステップで閉じる可能性を高めます。

SLは" に次のパラメータによって管理されます"If equity decreased, $" 及び "Close all at trade number。 これらはすでに上記で説明しました。

'Use entry by bar only' group. このパラメータを使用すると、前の足の方向に最初のポジションを開きます。 これを行うには、" 足のみ "Use entry by bar only(パラメータでエントリーを使用する)" に TRUE を割り当てます。

'Bar series' group. これらは、単方向足シリーズの方向に従って最初のポジションを開くか、移動する設定です。 チェックを有効にするには、"Enter if N bars in one direction(Nバーを一方向にエントリー)パラメータで一方向に移動する足の数を設定します。

MA group. このパラメータを使用すると、移動平均で最初のポジションをエントリーするように設定できます。 このエントリーオプションを使用するには、"Period"パラメータで移動平均期間を 0 と異なるように設定します。

テストルールとツールのリスト

理論的には、このEAは、レンジとトレンド相場の両方で動作する必要があります。 したがって、外国為替と米国株式相場の両方でテストします。 一般的に、EAはほぼすべての商品で効率的にトレードする可能性があります。 特にこれは、株式相場に当てはまり、1~2の商品のみが設定の下で利益をもたらさない。 したがって、EAが最高の上に示したツールでのみテストを実行します。 しかし、これは他の対象では役に立たないことを意味するものではありません。

Tested instruments. このテストは、USDCAD、NZDUSD、SBUX、XOM、INTC、CMCSAおよびPGで行いました。

Period. すべてのテストで、EAはM5で動作させます。 繰り返しますが、このテストでは、グリッドEAに最も適した期間であることを示します。

Test rules. USDCADおよびNZDUSDでは、テストは2010年から2019年にかけて行われる予定です。 適切なパラメータの検索は、"1分 OHLC"モードで実行されます。 見つかった最良の結果は、"実際のティックに基づくすべてのティック"モードでテストされます。

株式相場の商品は、2013年から2019年の期間にテストします。 テストが実行されるブローカーは、データを持ち、最適化と検出された最良の結果の最終テストの両方を"実際のティックに基づくすべてのティック"モードで実行します。

最良の結果の選択は、"バランス""最大リカバリ係数"パラメータによって実行されます。

前の足によるエントリーのテスト

シリーズの前の記事で前の足の方向に従って探求しました。 D1と時にはMNバーを使用する際のEAの収益性が向上しました。 次に、 D1 足と W1 および MN の時間枠の両方をテストします。

前の足の方向にエントリーすると、現在のローカルトレンドの方向にトレードすることができます。 したがって、この特定のエントリー メソッドのテストから始めましょう。 EAが現時点でオープントレードを持っていない場合、選択した時間枠の前の足が強気の場合、最初の足はロングになります。 足が弱気の場合、最初に開かれたトレードはショートです。

最良のテスト結果は、次の表に示されています。

シンボル
 リカバリーファクター
年間の%
 最大ドローダウン
 プロフィットファクター トレード合計
年間のトレード
最大ステップ
ストップロス 
 USDCAD
 8.12  90%
 948.76  1.68  3 577  397  8  2017.02
 NZDUSD
 8.03  89%
 1 404  1.91  2 850  316  9  -
 SBUX * **
 5.31  88%  93.17  2.36  386  64  9  2013.05, 2014.11, 2016.02, 2016.11, 2019.05
 XOM
 5.94  99%  180.78  2.52  506  84  8  2013.08
 INTC *
 6.7  111%
 88.13  3.02  289  48  8  -
 CMCSA **  7.74  129%
 34.02  3.7  281  46  8  -
 PG **  6.42  107%
 102.85  2.2  767  127  9  2013.01, 2013.09, 2014.11, 2018.04

*月足.
** チェーン内の多くの算術増加。

すべての列の内容は自明です。 ただし、次のことに注意してください。

"リカバリーファクター" 列は、とって最も興味深い要素です。 列値は、EAによって取得された最大ドローダウン(リカバリーファクター = 利益/最大ドローダウン)の比率を示します。 したがって、値が大きいほど、EAはテスト済みのツールでより収益性が高くなります。 このテスト期間も比較に際し考慮する必要があります。

FXのテスト期間は9年で、株式相場では6年です。 したがって、例えば、FXのリカバリーファクター9は年間利益の100%に等しく、株式相場の商品の場合は年間利益の150%です。

残高チャートは以下の通りです。

USDCAD:

前の足エントリー、USDCAD

NZDUSD:

前の足エントリー、NZDUSD

SBUX:

前の足エントリー、SBUX

XOM:

前の足エントリー、XOM

INTC:

前の足エントリー、INTC

CMCSA:

前の足エントリー、CMCSA

PG:

前の足エントリー、PG

ストラテジー テスター レポートはこの記事に添付されています。

移動平均(MA)を使ったテストエントリー

この移動平均というものは、おそらく相場の理解を容易にするためにトレーダーによって発明された最初のインジケータです。 長年にわたり、その関連性は無傷のままです。

当初、移動平均はD1足でのみ使用されていました。 このテストによると、D1バーの移動平均は、今回のEAに最も適しています。 したがって、時間枠ではなくMA期間(30~54の範囲)のみを最適化します。

MA は最も簡単な解釈で使用します。 EAによってまだトレードが開かれていない場合、現在の価格がMAの上にある場合、ロングが開かれます。 現在の価格が MA を下回っている場合は、ショート取引が開かれます。

最良の結果は次のとおりです。

シンボル
 リカバリーファクター
年間の%
 最大ドローダウン
 プロフィットファクター トレード合計
年間のトレード
最大ステップ ストップロス 
 USDCAD
 7.18  79%
 939.88  1.72  1 861  206
 8  -
 NZDUSD
 6.51  72%
 1 672.77  1.74  3 232  359  9  -
 SBUX
 6.95  115%
 159.67  2.62  536  89  9  -
 XOM *
 5.64  94%
 179.15  2.2  513  85  9  -
 INTC
 5.13  85%
 149.67  2.34  525  88  9  2015.06
 CMCSA *  12.26  204%
 33.39  11.35  218  36  9  -
 PG **  7.37  122%
 85.86  2.27  846  141  8  2014.09, 2014.11, 2015.08, 2016.12

*ロング取引のみ.
** チェーン内の多くの算術増加。

一般的に、株式相場の結果は、前の足に続く場合よりもわずかに良いです。 外国為替の場合、最初のオプションの方がより好ましいです。

では、バランスチャートを見てみましょう。 テストによると、単一のSLがなかった場合、チャートは通常の線が上向きに傾いているように見えます。

USDCAD:

MA ベースのエントリー、USDCAD

NZDUSD:

MA ベースのエントリー、 NZDUSD

SBUX:

MA ベースのエントリー、SBUX

XOM:

MA ベースのエントリー、XOM

INTC:

MA ベースのエントリー、INTC

CMCSA:

MA ベースのエントリー、CMCSA

PG:

MA ベースのエントリー、PG

一方向の N バーに対するエントリーのテスト

ワークショップセッションの一つで、このエントリー方法について知りました。 スピーカーによると, この方法は、ロング一方向の動きの後に修正の可能性が増加するので、利益を得るチャンスを増加させます。 理論的には、合理的に見えます。

したがって、価格が一方向に5つの足を移動した場合、修正が途中であると仮定して価格に対してエントリーさせてみましょう。

このエントリーメソッドもテストしてみましょう。 足の時間枠(M5、M15、H1、H4、D1の選択)と単方向足の数(3-7)の両方を最適化します。

最良の結果は次のとおりです。

シンボル
 リカバリーファクター
年間の%
 最大ドローダウン
 プロフィットファクター トレード合計
年間のトレード
最大ステップ ストップロス   タイムフレーム
 USDCAD
 7.75  86%  575.26  2.09  1 123  124  8  -  H4
 NZDUSD
 6.13  68%  1 184.53  1.83  3 224  358  9  -  H1
 SBUX
 5.67  94%  127.49  4.93  202  33  8  -  M15
 XOM
 8.07  134%  143.81  2.06  963  160  8  2013.08, 2015.01, 2015.08  M15
 INTC
 7.53  125%  56.08  2.03  521  86  6  13 ストップロス  M15
 CMCSA  10.04  167%  28.4  16.1  97  16  6  -  M15
 PG  7.98  133%  137.02  3.34  446  74  8  -  M15

一般に、いくつかの点で、前述の方法と比較して結果が優れています。 しかし、ある点では、悪化します。

利益残高を見てみましょう。

USDCAD:

Nバーに対するエントリー、USDCAD

NZDUSD:

N バーに対するエントリー, NZDUSD

SBUX:

N バーに対するエントリー、SBUX

XOM:

Nバーに対するエントリー、XOM

INTC:

Nバーに対するエントリー、INTC

CMCSA:

Nバーに対するエントリー、CMCSA

PG:

Nバーに対するエントリー、PG

Nバーに続くエントリーを一方向にテストする

一方向にNバーに対してエントリーをテストしたので、一方向にNバーに続くエントリーをテストしてみましょう。 サンクエントリーメソッドもこの場合、合理的に見えるかもしれません。 たとえば、価格が一方向にノンストップで移動する場合、トレンドの始まりを意味します。 では、この方向にエントリーするべきでしょうか。

このエントリー方法は、前の足に続いて、最初に調べた足に似ています。 ただし、この場合、少なくとも 3 つの足が同じ方向に移動し、足の時間枠が D1 より小さいことを確認します。 このテストはM15、H1、H4およびD1足に行います。 一方向の足の数は 3 から 7 まで変化します。 最良の結果は次のとおりです。

シンボル
 リカバリーファクター
年間の%
 最大ドローダウン
 プロフィットファクター トレード合計
年間のトレード
最大ステップ ストップロス   タイムフレーム
 USDCAD
 7.39  82%
 63.77  4.25  120  13  7  -  D1
 NZDUSD
 4.86  54%
 546.01  1.66  1 504  167  7  -  D1
 SBUX **
 7.39  123%  82.26  3.35  312  52  9  2014.01, 2014.10, 2017.03  M15
 XOM
 12.52  208%  114.98  2.92  723  120  8  2013.10  H4
 INTC
 9.34  155%  72.56  3.62  283  47  8  -  M15
 CMCSA  8.68  144%  32.41  4.35  289  48  8  -  M15
 PG  10.28  171%  152.61  2.21  1 444  240  9  2013.04, 2016.03, 2019.01  M15

** チェーン内の多くの算術増加。

株式相場の結果は興味深いです。 しかし、FXの場合はあまりいい結果ではありません。

USDCAD:

Nバーの後のエントリー、 USDCAD

NZDUSD:

Nバーの後のエントリー, NZDUSD

SBUX:

Nバー、SBUX の後のエントリー

XOM:

Nバー、XOM の後のエントリー

INTC:

Nバー、XOM の後のエントリー ...

CMCSA:

Nバー、CMCSA の後のエントリー

PG:

Nバーの後のエントリー、PG

条件なしのテストエントリー

すでに最初のポジションを開く4つの方法をテストしました。 しかし、それも使用しないのも自由です。 条件なしで最初のポジションを開くテストをしてみましょう。 つまり、EAに現在オープンポジションがない場合は、設定で選択した方向にポジションが直ちに開きます。 ロングポジションが有効化されている場合、EAは常にロングポジションを開きます。 ロングポジションが無効化されている場合、EAは常にショートポジションを開きます。

テスト結果を見てみましょう。

シンボル
 リカバリーファクター
年間の%
 最大ドローダウン
 プロフィットファクター トレード合計
年間のトレード
最大ステップ ストップロス 
 USDCAD
 7.92  88%
 1 236  1.98  2 484  276  9  -
 NZDUSD
 7.54  83%
 1 101  1.63  2 843  315  8  2011.10, 2013.04, 2013.10
 SBUX *
 8.49  141%
 122.29  3.15  413  68  8  2016.01, 2018.06
 XOM
 7.09  118%
 232.14  2.61  789  131  9  -
 INTC *
 5.08  84%
 81.65  2.07  481  80  7  2019.05
 CMCSA **  8.85  147%  48.59  2.9  611  101  9  2015.08, 2018.03
 PG  5.9  98%  118.29  1.87  514  85  7  2013.01, 2013.11, 2014.12, 2015.10, 2016.01, 2019.03
*ロングトレード。

** チェーン内の多くの算術増加。

エントリー条件がなくても、EAが世界的なトレンドに従えば、マーチンゲールは利益を得ることができます。 ほぼすべての株式相場の商品にあてはめられます。もちろん、ロングです。 ただし、最初のポジションを定義する方法のいずれかを使用する場合は、結果が良くなる可能性があります。

テスト結果の合計

このテストによると、前のD1足に続いて、外国為替の最良の選択ですが、株式相場では、この選択は最悪です。 この場合、他のオプションに注意を払う価値があります。 特定のエントリー方法は、特定のツールに最も適している場合がありますが、他のツールでははるかに悪いタスクが必要です。 テストのみが特定のツールの最適な戦略を見つけるのに役立ちます。

また、このテストは、グリッド内のステップの最大数を制限することで、リスクを管理し、最初のトレード量を使用しない限り、資産全体の損失を回避しながら、実際に相場で優位性を得ることができることを示しました。 このグリッドは、中期的な修正に耐えるのに十分な大きさでなければなりません。 表から分かるように、株式相場では年間100件を超えるトレードはめったにありません。

多くを増やすオプションについては、幾何学的な進行のみが外国為替相場で動作しますが、幾何学的および算術的な進行の両方が株式相場で動作する可能性があります。

テストから引き出されたもう一つの結論は、長期取引の間に、特に資産の90%以上を危険にさらしたくない場合は特に、FXの年間利益の100%以上と株式市場の年間利益の150%以上を期待する意味が無いということです。 資産の最大ドローダウンが必要な場合、予想利益が年間20~25%を超える可能性は低くなります。

リアルタイムテスト

EA操作をテストするために2つのトレードシグナルが作成されました。

最初の1つは、デモアカウントsignalでした. USDCAD、SBUX、CMCSA、GM、KO、MCD、MSFT、ORCL、HPEをトレードします。 適用されるボリュームは最小限であり、シグナルはEAのバランスと収益性によって動きの一般的な性質を定義するためにのみ使用できることを意味します。 資産に入れた資金を考慮して、利益の割合を表示することはできません。

second signalは最近、実際のアカウントで起動されました。 執筆時点では、SBUX、MCD、KO、MSFT、NKE、ORCL、ADBE、CMCSA、LLY、HPEの株式相場の商品のみをトレードします。

両方のアカウントのEAトレードは、本稿で説明されているもの修正版です。 ここで説明したエントリー メソッドとは異なるエントリー メソッドを使用します。 後で記事シリーズで検討します。

third signalもあります。 これは、以前に反転(シリーズの最後の記事)を使用してトレードするために使用された古いシグナルです。 その後、シリーズの 前の部分からグリッドEAによって使用されました。 現在、USDCAD および NZDUSD の前の足フォローエントリーメソッドを使用して、このEAによって使用されています。 しかし、以前のEAからのUSDCHFトレードはシグナルに残ります。 最終的に時間をかけて決済され、現在のEAのトレードのみが残ります。

結論

今回開発したEAには、2つの大きな欠点があります。

このシリーズの次のパートで、これらの欠点を克服し、取り組みます。