
クロスプラットフォーム グリッドEAの開発(最終パート):収益性を高める方法と多様化
イントロダクション
このシリーズのこれまでの記事では、多かれ少なかれ収益性の高いグリッドEAを作成するためのさまざまな方法を試しました。 2回目のパートで "多かれ少なかれ収益性"を達成するという実装ができました, 最初のパートでは問題が発生しました。 このEAは、長い期間利益を上げていたが、利益はオーダーグリッドやマーチンゲールの使用を正当化するのに十分なものではありませんでした。
究極の目標は、最大20% 以下のドローダウンで年間100%の利益を達成することです。 これまで、この目標を達成できませんでした。
この記事では、この究極のパフォーマンスを実装します。 いっそのこと、これらの数字を超えることができれば尚良いです。
EAの収益性を高める方法
基礎となるトレードシステムを変更しない場合、収益性を高める上で可能性が他に 2 つあります。
最初の方法は、EAパラメータが最適化される期間を短縮することです。 これより、EAを現在の相場サイクルに正確に調整し、最大利益を得ることができます。
ただし、この方法には大きな欠点があります。 過去の利益は未来の利益を保証するものではありません。 EAテストに使用する時間間隔が短いほど、相場の変化によって戦略がブレイクダウンされるリスクが高くなります。
第2の方法は、多通貨トレード(多様化)です。 各金融商品のロットサイズは、単一通貨トレードよりも低くなります。 このような損失管理では、いずれかの商品に対してドローダウンまたはSLが発生した場合でも、最大残高ドローダウンは単一通貨トレードよりも少なくなります。 さらに、他のシンボルの利益は、資産をより速く回復するのに役立ちます。
このような分散は主にトレード利益を増やすのではなく、最大ドローダウンを減らすために設計されています。 唯一の例外は、別の商品のトレードがまれであり、異なる商品のトレードの開始がほとんど重複しない場合です。
繰り返しますが、理想的な選択肢を考えると、1つのシンボルにドローダウンが発生しても、他のシンボルで同じように発生するとは限りません。 現実ではどうでしょうか。 主要な外国為替ペアの強い動きは、ほとんど常に他の通貨ペアに影響を与えます。 シンボルの1つに何かしらの問題がある場合、自動的に他の通貨ペアにも問題が発生するでしょうか。 この場合、ドローダウンを回避するというよりも、さらに大きなドローダウンが発生するかもしれません。
金融銘柄が独立しているかどうかを確認するためには、複数の商品を一度にトレードできるEAが必要です。
新しいEAを検討
もちろん、このEAは、前の記事(クロスプラットフォームグリッドEA(パートIII)の開発:マーチンゲールによる補正ベースのグリッドを使用して、1つのシンボルしか取引できません。 異なる商品に対して別々のテストを実行し、最適化結果を比較して、複数の通貨取引が最大のドローダウンにどのような影響を与えるかを検証しましょう。
ただし、このプロセスには時間がかかりすぎます。 このような比較の結果も疑わしいでしょう。
したがって、この記事では、同時に複数のシンボルで実行できるように、直近のEAを改訂しました:一度に11までのシンボルをトレードすることができます:
新しいEAの名前はgriderKatMultiAEAです。 そのソースコードとコンパイルされたバージョンは以下に添付されています。
新しいEAの構造とソースコードは考慮しません。 以前のEAのバージョンとの唯一の差は、トレード銘柄ごとに個別のインプットパラメータが存在するということです。 現在のバージョンでは 11 セットのパラメータが提供されていますが、以前のEAには 1 セットしかありませんでした。 各セットに対して、テストで使用するシンボル名を追加できます。
EAのテストと最適化
クロスプラットフォームEAではありますが、MetaTrader5でのみテストされ、最適化することができます。
MetaTrader4は、複数のシンボルでのテストをサポートしていません。 また、現在起動している通貨ペアと異なる場合は、そのシンボルをテストすることはできません。 にもかかわらず、この記事で開発されたものを含むこのEAは、(リアルタイムの場合)MetaTrader4で実行することができます。
時間枠はM5です。 最適化は、実際のティックに基づいてすべてのティックモードで実行されます。 テスト結果は、バランスとリカバリーファクターに基づいて評価されます。
前回の記事では、EAは5年間でテストされました。 ここで、テスト間隔を 1 年に減らしましょう。 2018.10.01 から 2019.10.01 までのテスト期間です。
上記のように、間隔を減らすことで、現在の価格変動の性質に合った最適なEAパラメータを選択できます。 ただし、テスト間隔を短くする場合は、EAパラメータを時々再最適化してください。 たとえば、1 年間の期間で最適化を実行する場合、毎月EA設定を再最適化する必要があります。
トレードシステムの見直し
前の記事以来、多くの時間が経過しています。 この時間は、実際のアカウントで gridEAon をテストするために必要でした。 この間、1つの口座資産が完全に失われ、2番目の口座はほとんど失われ、3番目の口座ではEAが資産を倍増しましたが、その後すべての利益を失いました。
このような落胆した結果に、この記事内のEAを最適化するときに従う新しいルールを追加しました。
失われた口座とほとんど失われた口座は、証券トレード所トレードで開かれました。 ここでは、問題はトレードシステム全体に関係しませんが、オープンポジションを維持するために必要なマージンレベルに関係します。
実際には、株式相場では大きなポジションチェーンは受け入れられないことが判明しました。 株式相場で通常利用可能な小さなレバレッジに、ポジションを開いて維持する際に、かなりの金額が口座に凍結されます。 不利な方向の5番目のポジションの後、残高は新しいポジションを開くには十分ではありません。 この場合、このEAは、基礎となるアルゴリズムに従ってトレードすることができなくなります。 チェーンが可能な最大ステップに達していないため、新しいポジションを開くことができず、SLによって決済するポジションを閉じることさえできません。
この特徴とインテル株式の下落により、最初のアカウントは負けました。 株式相場でも稼働した2番目の口座では、1つの商品のポジションの最大チェーンは4に制限されていました。 しかし、ナイキ株がさらに高くなると、マージンが新しいポジションを開いてチェーンを完了するのに十分ではないので、負けました。
十分なマージンがあれば、何が変わったでしょうか。 これは別のアカウントで確認できます。そのシグナルはこのリンクで入手できます。 当初、この口座で400ドルの利益が得られましたが、先月は140ドルの利益しか残っていません。 でもプラスです。
FX相場のシグナルは、1つの商品の強い動きが始まり、15トレード日に獲得した利益の100%が失われるまで好調でしました。
このEAは、この商品をトレードするときにフローティングストップレベルを使用しました。 これは、シンボルの追加ポジションが固定レベルではなく価格行動に応じて開かれたことを意味します。 つまり、ロールバック時に開かれました。 このアイデアは良いように見えましたが、その後、ほとんどロールバックなしで動きが始まり、その間に利益全体が失われました。
その結果、テストには次のルールが追加されました。
- 第一に、トレードはFXでしか行われず、大きなレバレッジを使用できるため、限られた残高でより多くのポジションを開くことができます。
また、チェーン内のオープンポジションの最大数は2です。 つまり、価格がチェーン内の3ポジションのオープンが必要なレベルに達した場合、EAはチェーン内のすべてのオープンポジションを閉じます。
ステップが例えば、40ポイントに等しいと仮定します。 その後、価格が最初のポジションオープンレベルに対して80ポイント移動すると、SLがトリガーされます。 SLサイズは 120 ポイント(最初のオープンポジションの 80 ストップロス ポイント、2 番目のポジションの 40 ポイント)になります。
もちろん、チェーンが1つのポジションに制限されている方が良いでしょう。 ただし、グリッドではなくなります。 さらに、トレードの連鎖がなければ、戦略はほとんど実質的な利益を得ることができません。
- もう一つの新しいルール:ポジション間のステップはポイントで固定する必要があります。
このトレード戦略の中で、価格が直近のオープンポジションとは反対のポイント数を移動した場合にのみ、追加ポジションを開きます。
ポジションのオープン原則についても変更します。
前回の記事では、最初のポジションを開くための方法をテストしました。
- 前日の移動方向でした。
- または一連の一方向足の動きに反対します。
- 移動平均に対する現在の価格の相対的なポジションに依存します。
次に、RSIインジケータ値に基づいて最初のポジションを開くという別の方法をテストします。 RSIが80を超える場合は、ショートトレードを開きます。 RSIが30を下回る場合は、ロングトレードを開きます。 これは、ポジションが現在のトレンドに対して開かされていることを意味します。
観察に基づいて、5分の時間枠を持つRSIは、EAに最適なので、テストと最適化にこの時間枠を使用します。 また、RSIインジケータ期間も固定されます。 35に設定されます。 テストは、任意のシンボルで、35以上の期間値が急激にトレードの数を減らすことを示しています。これは、受け入れられないです。 値が35未満の場合、SLの数は増加し、トレードは不採算になります。
したがって、3つのパラメータを使用してEAを最適化します。
- グリッドサイズ
- インプット方向(任意の方向、ロング、ショートのみ)
- TPレベル
別々のシンボルで新しいシステムをテストする
以下のとおり稼働します。
- まず、各FXシンボルでテストと最適化を行います。
- 受信した結果に基づいて、5つの最もパフォーマンスの高いシンボルを選択します。
- その後、シンボルを組み合わせようとし、多様化を通じてEAのリカバリーファクターを増加させることができるかどうかを確認します。 つまり、トレーディングの収益性を高めることができるかどうかです。
結果は次のとおりです。 すべてのテストと最適化が実行されました。 以下の勝ちパターンは、得られた結果に基づいて決定されました: USDCAD, EURUSD, EURGBP, EURAUD, AUDNZD. ストラテジーテスターレポートは以下に添付します。 テスト結果を含むサマリー テーブルを次に示します。
シンボル |
リカバリーファクター |
Max. ドローダウン、 $ |
取引数 |
インプット方向 |
---|---|---|---|---|
USDCAD |
7.78 |
39 |
104 |
Any |
EURUSD |
6.05 |
52 |
49 |
Short |
EURGBP |
5.17 |
51 |
51 |
Long |
EURAUD |
3.61 |
77 |
42 |
Long |
AUDNZD | 2.57 | 63 | 75 | Any |
チャートは高値のリカバリーファクター値と類似しているので、ここでバランスチャートを提供する意味はありませんが、AUDNZDを除きます。 しかし、ここに追加しておきました。 また、スクリーンショットには、ポジションオープンポイントが表示されるD1時間枠を持つ1年間の金融商品価格チャートがあります。 したがって、テストされた年の間に価格の動きの性質を見ることができます。
USDCAD、任意の方向:
ユーロドル、ショート:
EURGBP、ロング:
エEURAUD, ロング:
AUSNZD、任意の方向:
一連の商品でトレードシステムをテストする
前のテストに基づいて、EAは USDCAD シンボルで最もパフォーマンスが高いパフォーマンスを発揮しました。 リカバリーファクターは7.78でありました。 最大利益が$ 100で、固定ロットをトレードしている間に1年間$778を獲得したことを意味します。
しかし、$100のドローダウンは100%に等しいです。 目標ドローダウン20%を達成するためには、ロットを5倍に減らす必要があります。 この場合、リカバリーファクターも5倍減少します:7.78 / 5 = 1.5.
したがって、テスト間隔を減らすことで目標値を超えることに成功しました。つまり、20%のドローダウンで100%の年間利益の代わりに、150%を獲得することができました。
しかし、リスクはまだ大きいです。 資産全体を1つのシンボルに委ねられています。 SLがチェーンで発生した場合、利益の大部分を失うことになります。 研究を続け、多様化がシステムにどのような影響を与えるかを見てみましょう。
最適化は、選択した金融商品セットを使用して実行されます。 5 つのシンボルの組み合わせをテストし、相互作用を確認します。
テストが実行された後、選択した5つのシンボルを同時にトレードする際に最良の結果が得られました。
- リカバリーファクター: 17.11;
- 最大ドローダウン, $: 77;
- 総トレード数: 324.
一度に5つの銘柄をトレードする際の最終残高チャート:
リカバリーファクターは 17.11 に増加しました。 つまり、戦略の多様化により、収益性を2.25倍近く伸ばしました。 すべてのシンボルに使用する固定ロットで達成されました。 上の表に示すように、トレード銘柄の最大ドローダウンは異なります。 したがって、最大ドローダウンが低かったシンボルのポジションボリュームを増やすことができます。 このようにして利益はさらに増加することができます。
上記の設定でも、100%の年間利益で十分ですが、多様化はトレード量を2.25減らし、リスクを減らすのに役立ちました。
株式相場トレード戦略
株式相場の商品をトレードする方法はあるでしょうか。 以前は、小さなレバレッジに株式相場でトレードしないことにしました。 しかし、株式相場に合わせて戦略を調整してみましょう。
ロット増加方法の変更. 最初の変更は次のようになります。グリッド内の幾何学的ロット増加原理は算術的なものに置き換えられます。 EA設定のChain increase(チェーン増加)パラメータで行うことができます。
この効果は何でしょうか。 10のオープンポジションを持つグリッドの例を考えてみましょう。 最初のグリッドロットは 0.01 です。
- geometric increase: 0.01 + 0.01 + 0.02 + 0.04 + 0.08 + 0.16 + 0.32 + 0.64 + 1.28 + 2.56 = 5.44 total lot
- arithmetic old: 0.01 + 0.01 + 0.02 + 0.03 + 0.05 + 0.08 + 0.13 + 0.21 + 0.34 + 0.55 = 1.45 total lot
- arithmetic new: 0.01 + 0.02 + 0.03 + 0.04 + 0.05 + 0.06 + 0.07 + 0.08 + 0.09 + 0.1 = 0.55 total lot.
ご覧のとおり、幾何学的な増加は、他のタイプよりもはるかに高い総ロットを生成します。
"古典算術法 " は、従来の算術の増加を指します。 以前の記事で添付された以前のEAバージョンで使用されていました。
このEAバージョンでは"新しい算術法(arithmetic new)"オプションが使用され、実際には最初のロットを追加して次のポジションボリュームを増加させます。 元の算術の進行とは何の関係もありません。
エントリー方向. 株式相場でトレードされている主要な商品の99%の月次チャートを開くと、すべてのシンボルチャートが成長していることがわかります。 したがって、インプット方向を試す必要がない。 トレンドは親友です! 株式相場では、この"親友"はほとんど常にロング方向に動いています。
すべてのグリッドもロング方向に開きます。 条件なし。 オープンシンボルポジションがない場合、初期ロットサイズのロングポジションが開かれます。
ブローカーが株式に対して配当を支払う場合、ロングポジションのみをオープンすると、配当の形で追加の収益が得られます。 ショートポジションでは配当で資金を失わないという意味でもあります。
テスト期間. 相場は100%の上昇ではないことがわかります。 その一例は2008年です。
株価が40以上下落した場合、戦略がどのように反応するかは言い難い。 残念ながら、利用しているブローカーは2008年のヒストリーデータを提供していません。 しかし、過去4年間のイベントで株は上向きにしか動いていない。 価格修正がありました。 修正の場合にグリッドがどのように生き残ることができるかがわかります。 テスト期間は2015.10.01から2019.10.01です。
バランスチャートに加えて、4年銘柄価格チャートがさらに表示されます。 このチャートは、グリッドベースのシステムが耐えられるドローダウンを示します。
部分的なポジション決済. さらに、このシリーズの前の記事では言及されていない機能を使用します。 それは、グリッド内で最も遠いポジションの部分的な決済です。
たとえば、価格がグリッドに対して移動します。 このグリッドには既に 5 つのポジションがあります。 0.01ロットのボリュームを持つ最初のポジションは、1ドルの損失があります。 直近のオープンポジションのボリュームは0.05ロットです。 その後、銘柄価格は有利な方向に動き始めます。
最も近いポジションは、グリッドの最初のものよりもはるかに大きなボリュームがあるので、その利益はすぐに1ドルを超えます。 よって、損失がある最初のオープンポジションと一緒に、プラスでこのポジションを閉じることができます。
この2つのポジションを決済した結果、まだプラス利益を受け取ります。 希望の利益額はEA設定で指定します。
部分的な決算の利点は何でしょうか。
- グローバルな価格反転ではなく、小さな修正である場合は、グリッドポジションの一部を閉じて利益を得ることができます。 これは、最悪の価格でポジションを閉じ、グリッドを現在の価格に近づけることを意味します。 価格が再び不利な方向に動き始めると、一部のポジションが決済されるため、ドローダウンは少なくなります。
- 横向きの動きで、さらにオープンポジションをクローズすることができます。 価格が前後に移動する間、レンジな動きの下部に大きなボリュームで新しいポジションを開き、サイドムーブメントの上部の最も遠いポジションと一緒に閉じるので、グリッドのボリュームを減らします。 長い横向きの期間の間に、価格が最終的に上向きにならなかったとしても、グリッド全体を閉じることができます。
- グローバル反転の場合、部分的な閉じなしで使用した場合よりも、グリッドは大幅に後に閉じられます。 しかし、長期下落による世界的な価格反転は、修正や横向きの動きほど一般的ではありません。 この場合でも、部分的な決済は、グリッドが最終的に閉じられるので、プラスです。
株式相場のテスト結果
トレード戦略ルールの概要が説明されています。 さて、株式相場の商品にテストし、最適化しましょう。
戦略は以下の方法で最適化されます。
- グリッドステップ:35 - 250ポイント
- 部分的な決済の利益サイズ: 2 - 9 USD
- 境界ポジションの部分的な決済の利益サイズ: 0.5 - 2 USD。
この戦略は41のシンボルでテストされました。 この記事では、最良の結果を示したそのうちの9つだけが考慮されています。
41のテスト済みシンボルのうち、すべての最適化オプションで1つだけが失われました。 株式相場を頻繁にチェックする人は、シンボルを推測することができます。 ゼネラル・エレクトリック:株価はかなり長い間着実に下落します。
他のすべてのシンボルは、過去4年間でプラスの利益を示しました。 さらに、テストされたシンボルのほとんどは、EAの設定でポジティブな利益を示しました。 言い換えれば、設定の組み合わせのどれも損失を生じなかった。
悪いところは、最高のシンボルでさえ、最大ドローダウン100%で年間150%の利益をほとんど示せなかったことです。 したがって、20%のドローダウンを維持するためにロットを減らすと、年間利益はわずか30%になります。
最高のパフォーマンスを発揮する金融商品は次のとおりです。
シンボル |
4年間/平均のリカバリーファクター。 1年間 |
Max. ドローダウン、 $ |
取引数 |
---|---|---|---|
VZ |
5.24 / 1.3 |
50 |
306 |
MCD |
5.39 / 1.3 |
176 |
522 |
JPM |
6.41 / 1.6 |
156 |
774 |
KO |
7.18 / 1.8 |
27 |
197 |
MSFT |
11.2 / 2.8 |
67 |
429 |
NKE | 6.37 / 1.6 |
116 | 384 |
ORCL |
5.52 / 1.3 |
106 | 367 |
CSCO | 5.48 / 1.3 |
43 | 139 |
EBAY | 5.15 / 1.3 |
102 | 677 |
ご覧のとおり、4年間の平均トレード数は130から780まで変化し、数日間で1回以下のトレードです。 他のシンボルの結果も似ています。 トレード数が多いほど、総利益は低くなります。
これは頻繁に起こります。EAがポジションを開く頻度が低いほど、最良の結果が得られます。
しかし、これは個人的な意見です。 そこで、上記の商品のバランスチャートと価格の動きを見てみましょう。
VZ:
MCD:
JPM:
KO:
MSFT:
NKE:
ORCL:
CSCO:
EBAY:
最初のテストは事前に実行され、スクリーンショットはこの記事の公開直前に行われました。 そのため、最近更新されたストラテジー テスターが 2018 年 5 月以降に MSFT および CSCO のテストを行わなかったことに気付くかもしれません。 以前のテストでは、テストは正常に実行されました。
しかし、このことはあまり重要ではありません。 EBAY、KO、MCD、VZの価格チャートを見てみましょう。 実質的な価格修正があります。 ただし、バランスチャートには影響を与えませんでした。
もちろん、デポジットは、より深いドローダウンの場合に影響を受ける可能性があります。 これが時々利益を回収することをお勧めする理由です。 また、1つの口座で1つの商品をトレードすることも望ましいです。 この場合、いずれかの会社の株式が大幅に下落した場合や、倒産した場合でも、他のシンボルは影響を受けません。 資産が失われた場合でも、他のシンボルの利益はをカバーすることができます。
無限グリッドによる多様化
この記事の主な目的に戻りましょう。 まず第一に、多様化の可能性を検証します。
この記事の最初のパートでは、グリッド内のステップ数が少ない場合の多様化の効果をテストしました。 この場合、ドローダウンはすぐにSLで終わるので、深くて長い株式ドローダウンはありません。 この場合、シンボル同士の影響は、ドローダウンを続ける場合よりも小さくなります。 しかし、このトレード戦略の考え方は、ステップ数に制限のないグリッドを使用して損失の可能性に耐えるものです。
多様化の機会は、同時に9つのシンボルを使用してテストされます。 シンボルの使用は最適化されます。 シンボルは強く相関するかもしれません。この場合、そのようなシンボルを除外することで、一般的なリカバリーファクターを増やすことができます。
テストは、シンボルを除外する意味があることを示しました。 しかし、ORCL と CSCO の 9 のうち 2 つのシンボルしかありません。 トレード9シンボルと7シンボルの差はほど大きくはありません、 約0.5のリカバリーファクターです。 にもかかわらず、差があります。 これらのシンボルを除外すると、次の結果が得られます。
シンボル |
4年間/平均のリカバリーファクター。 1年間 |
Max. ドローダウン、 $ |
取引数 |
---|---|---|---|
VZ, MCD, JPM, KO, MSFT, NKE, EBAY |
10.92 / 2.73 |
368 |
3 055 |
この結果は予想外です。 株はより同期的に動いていると思っていました。 つまり、いずれかがドローダウンを発生した場合、他の多くもドローダウンを持つことになります。 ほぼすべての株が下落した2018年12月を思い出してください。 したがって、ドローダウンは重複し、リカバリーファクターを減らすことができます。 しかし、実際には、全体的なリカバリーファクターは、テストされたシンボルMSFTの最高のものとほぼ同じです。 この場合のリスクは、1つの銘柄をトレードする場合よりも低くなります。
多様化 — 神話か現実か
多様化は神話なのか現実なのか。 多様化は良いと言われます。 しかし、誰も論拠を示しません。 独自の実験を行うことで、多様化がバランスに役立つことがわかります。
しかし、特別なケースであることを理解する必要があります。 これは、多様化を使用すべきではない場合もあることを意味します。 理想的な解決策は、トレードしたいシンボルを使用して多様的なバックテストすることです。 しかし、残念ながら、それが常に可能であるとは限りません。
いずれにしても、1つのシンボルに大きなボリュームをインプットするよりも、異なるシンボルで小さなボリュームでトレードを開く方が良いと言えます。
結論
グリッドトレードEAに関する一連の記事を完了しました。 この記事では、さまざまな種類のグリッドEAをテストしました。 チェーン内の少数のポジション、平均数と資産サイズによってのみ制限されている無限チェーンをテストしました。 各バリエーションには利点があります。 例えば、小さいチェーンは多様化に適します。 大きなステップは、不利な動きでも利益を上げることができます。
もちろん、EAのパフォーマンスを向上させるために可能なオプションをすべて検討しているわけではありません。
たとえば、EAが一定数のポジションに達したときにトレードする時間枠を増やすオプションをテストできます。
トレーリングはEAのトレードにも影響を与える可能性があります。
最初のポジションを開くための追加条件も実装できます。 RSIを使用しましたが、他にも多くの選択肢があります。
ご覧のとおり、さらに多くのアイデアを実装できます。 このシリーズの素材やアイデアが役に立ち、面白いものになれば幸いです。
MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/7219





- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索