![リバーシング: エントリポイントを形式化し、裁量トレードアルゴリズムを開発する](https://c.mql5.com/i/articles/overlay.png)
リバーシング: エントリポイントを形式化し、裁量トレードアルゴリズムを開発する
イントロダクション
すでに2つの記事(リバーシング: 聖杯?危険な妄想? リバーシング: 最大ドローダウンを削減と他の相場のテスト)で、リバーシングトレード戦略を研究してきました。 これまで、異なる相場でのトレード戦略の使用を考慮しました。そして、最も適した相場を発見し、適切なリバーシングの基本ルールを形式化しました。 この主題は完全に考察されているようです。 リバーシングテクニックについて他に何か書くことがあるでしょうか。 これについては、前に述べた問題がありますが、解決策には近づいていませんでしました。
この問題は、戦略で形式化されていないエントリポイントに起因しています。 これは、トレードエントリーが任意の時点で実行することができることを意味します。 この結果は予測できない場合があります。 また、ある人はTPによってトレードを閉じる可能性があります。 またあるトレーダーは、5分後にエントリーし、SLによって閉じられたトレードのチェーン全体を取得するかもしれません。
そのため、以前の記事で実行されたすべてのテストは、ストラテジーテスターで行ったように、同じヒストリー日、時、分に正確にエントリーすることを決定した場合にのみ、信頼性があると考えられます。 1分前またはそれ以降にエントリーすると、同じ利益を保証することはできません。
したがって、「取引をエントリーするタイミング」と「エントリーの方向」を決定するルールが必要です。 このようなルールは、利益チャートを悪化させるべきではありません。 そのようなルールを見つけましょう。
テスト済みシンボル
テストは、前回の記事で最高のパフォーマンスを示したシンボルに対して実行します。 また、このシンボルは、得られた結果のランダム性を避けるために、十分な量のヒストリーを持つ必要があります。
前回の記事のように、いくつかのブローカーで戦略をテストします。 異なる相場のシンボルを、外国為替のペアを除いて、テストに使用します。 標準的なインジケータを使用して、より良いまたは比較的類似の結果を達成できなかったためです。 よって, テストされたインジケータのいずれも外国為替相場でランダム時間のエントリーに類似した結果を生成することができることを最初の記事で発見しました。
この記事では、次の証券をテストします。
Broker 1, Stock Market: TripAdvisor, Sberbank, Nintendo_US, Tencent, Michael_Kors, Starbucks, Gazprom, Petrobras, Snap, SQM.
Broker 2, Stock Market: ORCL.m, INTC.m, FOXA.m, SBUX.m, NKE.m, HPE.m, MSFT.m, KO.m, ATVI.m.
Broker 1, indices: YM.
Broker 2, commodity: BRENT.
RevertEAの新しい内容
次の変更は、前回の記事と比較して RevertEAに実装されています。
- 新しい閉じるボタンは、任意のオープンポジションを閉じることができます。
- チャート上の現在のポジションの利益を表示するための追加 (Closeボタンの横にあります);
- 現在の価格の割合として ストップロスの設定を追加しました。
- 追加されたパラメータは、 N 利益ポイントの後に一定のトレーリングとポイントで一定のトレードを使用します。
- ORDER_FILLING_IOC 塗りつぶしモードを使用するUIを追加しました。
RevertManualEAの新内容
RevertManualEAでは、次の変更が行われています。
- 新しい [Close all] ボタンを使用すると、EAによって管理されるすべてのオープンポジションを閉じることができます。
- EAによって管理されるすべてのポジションの総利益は、[Close all] ボタンの近くに表示されます。
- EAが管理するすべてのポジションのボタンがチャートに表示されます。
- ORDER_FILLING_IOC 塗りつぶしモードを使用するUIを追加しました。
EAによって管理されたポジションのボタン. シンボルボタンをクリックすると、対応するシンボルのチャートが開きます。 また、ボタンには、シンボル名、現在のステップ、および現在のポジションの利益などの関連情報が表示されます。 ボタンの色が変更された場合は、ポジションが完全に閉じていることを意味します (TPによって、またはチェーンステップの最大数に達したとき)。
また、新しいパラメータに注意してください。シンボルボタンクリックによる直近の損失の合計を表示 デフォルトではtrueに設定されています。 直近の損失額は、適切なシンボルボタンをクリックすると開き、チャートへのコメントに表示されます。 これより、チェーン内のすべての損失をカバーするために必要な最小限の利益に関するデータへの高速アクセスが可能になります。
エントリポイントの形式化
エントリー時間におけるトレードシステムの結果の依存を排除するために、特定の条件の下でエントリーすることができるルールを見つける必要があります。
私の意見では、移動平均は、このようなエントリポイントを決定するための最も適したツールです。
まず, グローバルトレンドの決定をし、移動平均が成長した場合, ロングポジションをエントリーします, そうでなければショートです。
次に、追加のルールによってエントリーを制限します。 例えば、前の足が移動平均を上向きまたは下向きにクロスさせた後です。
これらのルールは、エントリー条件として使用します。 このようなルールの使用の可能性は、RevertEAのEAに実装されました。 移動平均の使用を有効にするために必要なことは、次のパラメータを変更することだけです。
- Open short positions— trueに設定すると、EAはロングポジションのみを開き、ショートシグナルは無視します。
- [Period]-インジケータ MA #1ブロックの下で、このパラメータに希望する期間を設定します。
- 必要に応じて、インジケータ MA #1ブロックの下にある他のすべての設定を構成します。
以下に添付されているアーカイブは、特定のシンボルの適切な設定を含むすべてのセットファイルがあります。
この記事では、単純移動平均を使用します。 他のタイプを希望の場合は、EA設定のインジケータ ma #1ブロックの下にある適切なパラメータで選択することができます。
株式相場. 前回の記事では、株式相場はリバーシング戦略の最も適したものであることがわかりました。 この相場から始めましょう。
まず、ブローカー1のさまざまなシンボルと結果を比較します。 このブローカーはシンボルごとに個別のスワップを提供しています (前の記事で公開されているテーブルからスワップをチェックすることもできます) が、いずれにせよ、ロングポジションのスワップはブローカー2が提供するものと少なくとも2倍の大きさです。 しかし、このブローカーにも利点があります。スワップは、ショートポジションでプラスです。すなわちスワップは、ショートポジションに支払われます。
すべての相場のテスト結果は、適切なテーブルに表示されます。 各テーブル行は、最初にインジケータを使用せずにテスト結果に関する情報を表示します。 すなわち、前のチェーンがTPまたは ストップロス によって閉じられた直後にポジションが開かれます。 次に、同じテーブル行の新しい行は、同じ ストップロス とテイクプロフィットの値を持つ同じシンボルのテスト結果を示しますが、単純移動平均インジケータを使用します。
RevertEAもリバーシングせずにトレードをサポートしているので、, また、移動平均を使用して、古典的なトレードの収益性をチェックします。 テストの最良の結果は、各テーブル行の3行目に表示されます。
リバーシングを伴うトレード戦略のテスト結果は、前の記事で公開された結果とは異なります。 発行から1か月以上が経過したためです。 よって、その時から何が変わったのか確認できます。
テスト結果に進む前に、テーブルコラムの目的を思い出してください。
- Annual : 値は次の式に従って計算されます((利益/最大)。 ドローダウン) * 100) ヒストリー的なシンボルデータが利用可能である年の数 、これはおおよその数であり、また、比較分析の目的に提供されています。
- Max. 損失 - 連続した損失の最大数, すなわち、TPに到達する前に行かなければならなかったチェーンです;
- Trades (year/total)-その銘柄に対して年ごとに開かれるポジションの平均数 (トレードの合計数は、ヒストリーデータが利用可能な年数で除算されます)。
ブローカー1、株式相場:
シンボル | トレード (年/合計) | プロフィットファクタ | 最大 ドローダウン | 利益列 | 年間 | 最大 損失 | SL | TP |
---|---|---|---|---|---|---|---|---|
TripAdvisor, revert TripAdvisor, revert + MA TripAdvisor, no revert | 98 / 246 46 / 116 65 / 164 | 1.36 1.6 1.69 | 98 53 6 | 231 156 49 | 94 % 117 % 326% | 6 4 9 | 155 155 60 | 195 195 155 |
Sberbank, revert Sberbank, revert + MA Sberbank, no revert | 150 / 225 118 / 178 231/347 | 1.34 1.31 0.79 | 45 17 43 | 86 49 -37 | 127 % 192 % - | 5 5 9 | 420 420 155 | 510 510 360 |
Nintendo_US, revert Nintendo_US, revert + MA Nintendo_US, no revert | 169 / 339 32 / 64 25/51 | 1.49 1.72 1.12 | 18 16 7 | 104 59 4 | 288 % 184 % 28 % | 6 4 5 | 55 55 35 | 80 80 55 |
Tencent, revert Tencent, revert + MA Tencent, no revert | 74 / 223 26 / 80 18/54 | 2.54 2.48 1.47 | 43 69 6 | 527 381 20 | 408 % 184 % 111% | 5 5 3 | 450 450 530 | 1500 1500 880 |
Michael_Kors, revert Michael_Kors, revert + MA Michael_Kors, no revert | 36 / 109 23 / 70 15 / 46 | 1.51 1.57 1 | 134 71 15 | 240 140 0 | 59 % 65 % - | 5 4 4 | 190 190 200 | 330 330 400 |
Starbucks, revert Starbucks, revert + MA Starbucks, no revert | 15 / 231 11 / 171 20 / 300 | 1.69 1.64 1.07 | 38 36 13 | 251 174 11 | 45 % 33 % 5 % | 4 4 6 | 160 160 95 | 195 195 105 |
Gazprom, revert Gazprom, revert + MA Gazprom, no revert | 265 / 398 101 / 152 36 / 54 | 1.33 1.42 1.03 | 59 18 20 | 142 55 2 | 160 % 203 % 6 % | 6 4 5 | 150 150 240 | 180 180 480 |
Petrobras, revert Petrobras, revert + MA Petrobras, no revert | 23 / 337 15 / 219 11 / 162 | 1.61 1.64 1.16 | 86 160 28 | 623 388 39 | 49 % 16 % 9 % | 5 5 7 | 240 240 240 | 300 300 410 |
Snap, revert Snap, revert + MA Snap, no revert | 62 / 93 24 / 36 24 / 37 | 1.97 3.47 1.49 | 44 12 7 | 227 95 12 | 343 % 527 % 114 % | 4 2 6 | 75 75 45 | 135 135 120 |
SQM, revert SQM, revert + MA SQM, no revert | 64 / 162 29 / 74 22 / 57 | 1.81 1.89 1.02 | 55 68 12 | 288 142 1 | 209 % 83 % 3 % | 5 5 5 | 125 125 150 | 240 240 185 |
今はまだ、結論を導き出さないようにしましょう。 最初に、対応するチャートを表示します。 すべての相場について、このセクションの最後に結論が出されます。
チャートについては、以下の略語が使用されています。
- PLAIN—インジケータのないトレード戦略のチャート (ロングエントリーは、シンボルのポジションがないとすぐに実行されます)。
- MA —移動平均シグナルに基づくエントリー;
- NOREVERT —リバーシングテクニックを使用せずに移動平均シグナルに基づくエントリー。
TripAdvisor:
Sberbank:
Nintendo_US:
Tencent:
Michael_Kors:
Starbucks:
Gazprom:
Petrobras:
Snap:
SQM:
さて、ブローカー2の結果を見てみましょう。 このブローカーは、ポジションの方向に関係なく負のスワップになります。 ブローカー1との別の差: ブローカー2は、ロングポジションの配当を支払いません。 しかし、このブローカーはショートポジションの配当を請求しないという利点があります。
ブローカー2、株式相場:
シンボル | トレード (年/合計) | プロフィットファクタ | 最大 ドローダウン | 利益列 | 年間 | 最大 損失 | SL | TP |
---|---|---|---|---|---|---|---|---|
ORCL.m, revert ORCL.m, revert + MA ORCL.m, no revert | 44 / 246 26 / 147 13/76 | 1.07 1.64 1.51 | 275 65 9 | 46 281 24 | 3 % 78 % 48 % | 8 6 7 | 90 90 100 | 150 150 235 |
INTC.m, revert INTC.m, revert + MA INTC.m, no revert | 33 / 182 19 / 109 29 / 162 | 1.92 1.94 1.31 | 23 24 6 | 219 116 22 | 173 % 87 % 66 % | 4 4 7 | 130 130 70 | 180 180 145 |
FOXA.m, revert FOXA.m, revert + MA FOXA.m, no revert | 53 / 268 41 / 207 28 / 144 | 1.6 1.66 1.07 | 47 28 8 | 201 150 6 | 85 % 107 % 15 | 5 4 5 | 90 90 115 | 120 120 135 |
SBUX.m, revert SBUX.m, revert + MA SBUX.m, no revert | 49 / 270 28 / 154 31/173 | 1.5 1.86 1.11 | 58 22 11 | 217 143 9 | 68 % 118 % 13 | 5 4 8 | 130 130 70 | 160 160 150 |
NKE.m, revert NKE.m, revert + MA NKE.m, no revert | 35 / 197 22/123 26/146 | 2.26 2.32 1.29 | 140 75 11 | 947 422 28 | 122 % 102 % 46 % | 6 5 8 | 135 135 105 | 275 275 205 |
HPE.m, revert HPE.m, revert + MA HPE.m, no revert | 33 / 99 16 / 48 12/38 | 1.89 3.55 2.05 | 27 8 7 | 104 51 19 | 128 % 212 % 90 % | 4 2 5 | 55 55 55 | 70 70 85 |
MSFT.m, revert MSFT.m, revert + MA MSFT.m, no revert | 36 / 199 28 / 158 37 / 206 | 2.11 2.06 1.23 | 70 73 12 | 508 478 31 | 131 % 119 % 46 % | 7 5 9 | 150 150 100 | 275 275 205 |
KO.m, revert KO.m, revert + MA KO.m, no revert | 20 / 110 16 / 93 14 / 82 | 2.02 1.77 1.75 | 29 51 7 | 144 147 31 | 90 % 52 % 80 % | 4 5 3 | 100 100 120 | 160 160 150 |
ATVI.m, revert ATVI.m, revert + MA ATVI.m, no revert | 77 / 425 24 / 135 19/109 | 1.34 1.99 1.52 | 54 15 7 | 235 109 33 | 79 % 132 % 85% | 5 3 4 | 135 135 115 | 140 140 155 |
分析されたすべてのシンボルのうち、ORCL だけが過去1か月の間にネガティブな結果を示しています。 最大の8番目のチェーンステップに到達するために管理します。 その場合、チェーン全体が損失で閉じられました。 これはインジケータのない戦略でしました。 このため、年間の利益率は小さかった。 インジケータを使用してトレードした場合、損失を回避することができます。
ORCL.m:
INTC.m:
FOXA.m:
SBUX.m:
NKE.m:
HPE.m:
MSFT.m:
KO.m:
ATVI.m:
Indices. 1つだけのインデックスを検討します-ダウジョーンズ (YM) ブローカー1。 その利益チャートは完璧と言えます... より正確には、前回の記事からの利益チャートは完璧でした。 しかし、新しいテストでは、収益性の高いチェーンは2009で予期せず中断されました。 しかし、移動平均の追加は、チェーン全体の損失を回避するのに役立ちました。
ブローカー1、インデックス
シンボル | トレード (年/合計) | プロフィットファクタ | 最大 ドローダウン | 利益列 | 年間 | 最大 損失 | SL | TP |
---|---|---|---|---|---|---|---|---|
YM, revert YM, revert + MA YM, no revert | 106 / 1 287 76 / 958 54 / 678 | 1.46 1.51 0.9 | 2 797 1 343 820 | 20 089 13 216 -636 | 57 % 78 % - | 8 6 11 | 155 155 170 | 210 210 200 |
Commodities. ここでは、1つのセキュリティ、つまりブローカー2のブレントオイルについても検討します。 前の記事では、この銘柄だけが良い利益とバランスチャートを示していました。 移動平均の使用は、連続した損失の最大数を減らすのに役立ったが、合計結果ははるかに悪化しました。
ブローカー2、コモディティ:
シンボル | トレード (年/合計) | プロフィットファクタ | 最大 ドローダウン | 利益列 | 年間 | 最大 損失 | SL | TP |
---|---|---|---|---|---|---|---|---|
Brent, revert Brent, revert + MA Brent, no revert | 146 / 733 137 / 685 136 / 682 | 1.5 1.26 1.1 | 8 721 8 962 154 | 31 144 18 624 338 | 71 % 41 % 43 % | 21 19 17 | 70 70 60 | 275 275 215 |
要約
さて、まとめましょう。 エントリーポイントの形式化に成功しました。 したがって、テストの開始日はテスト結果にあまり影響しません。
さらに、ほとんどの有価証券の収益性が向上し、1-2 ステップによる連続損失の最大数も減少しました。
しかし、すべての銘柄の純利益は、実行されたトレード数が少ないために減少しました (合計数は 1.5 ~ 2 倍に減少しました)。 意志決定するのはあなた次第です。より大きな利益またはより低いリスクのいずれかを選択することができます。
価格と ATR のテスト ストップロス の割合
以前の記事へのコメントでは、ユーザーは固定 ストップロス と固定テイクプロフィット値を使用するのは適切ではなかったと述べ、ATR の割合を使用する方が良いとなりました。 これにはロジックがあります。 確かに、テストの15年間、同じストップロスとテイクプロフィットレベルを使用しました。 しかし、金融銘柄は異なる期間に異なるボラティリティを持つことがあります。 さらに、シンボル価格は15年以内に大きく変わる可能性があるので、15年前の ストップロス はもはや適していないかもしれません。
したがって、RevertEAは、現在の価格または ATR の割合として、ポイントで ストップロス 仕様を有効にするように変更されました。 目的のタイプは、EA設定のStop Loss typeパラメータを使用して選択することができます。
この場合の ATR は、Gerchik の方法に従って決定されます。 つまり、ATR は、あまりにも小さく、あまりにも大きな足を考慮せずに、日足チャート上で計算されます。 足の数が計算に十分でない場合は、標準の方法を使用します。
この ATR 決定関数が合わない場合は、自身のニーズに合わせてgetATR関数を書き直すことができます。 この関数は、ストラテジーフォルダのstrategy_base.mqhファイルで使用できます。 元のソースコードを以下に示します。
double getATR(string name){ MqlRates rates[]; ArraySetAsSeries(rates, true); double atr=0; double pre_atr=0; int count=0; // Get bar data for the last 7 days //(this is more than needed, because we will calculate ATR for 5 days) int copied=CopyRates(name, PERIOD_D1, 0, 7, rates); // Determine ATR for the last 7 days, excluding // too large and too small bars if(copied>=5){ for(int j=1; j<copied; j++){ pre_atr+=rates[j].high-rates[j].low; } pre_atr/=(copied-1); } // Determine ATR for the last 5 days or less, including // too large and too small bars // i.e. the bars having the size over 1.5 7-day ATR // and bars less than 0.3 of 7-day ATR // are discarded if(pre_atr>0){ for(int j=1; j<copied; j++){ if( rates[j].high-rates[j].low > pre_atr*1.5 ) continue; if( rates[j].high-rates[j].low < pre_atr*0.3 ) continue; if( ++count > 5 ){ count=5; break; } atr+=rates[j].high-rates[j].low; } // if there are not enough medium bars // calculate a normal ATR 5 if(count<2){ count=0; for(int j=1; j<=5; j++){ ++count; atr+=rates[j].high-rates[j].low; } } atr= NormalizeDouble(atr/count, _Digits); } return atr; }
TPレベルについては、ポイントだけでなく ストップロス の倍数としても指定できるようになりました (EA設定のTake typeパラメータです。 たとえば、始値から3つのSLの距離でTPを設定できます。
異なった ストップロス のレベルとのテストの比較の結果は下記にあります。 この方法は、より多くのエントリポイントを取得し、比較分析のより正確な結果があるので、テストは、移動平均を使用せずに行われました。
各テーブル行は、次の3行で構成されます。
- ポイント単位で ストップロス とテイクプロフィット;
- 価格の割合としてのSL、SL乗数としてのTP;
- ATRの比率としてのSL、SL乗算としてのTP。
シンボル | トレード (年/合計) | プロフィットファクタ | 最大 ドローダウン | 利益列 | 年間 | 最大 損失 | SL | TP |
---|---|---|---|---|---|---|---|---|
TripAdvisor TripAdvisor, percent TripAdvisor, atr | 98 / 246 532 / 1 331 56 / 141 | 1.36 1.41 1.42 | 98 310 386 | 231 1 161 366 | 94 % 149 % 37 % | 6 11 8 | 155 1 96 | 195 1.7 2.7 |
Sberbank Sberbank, percent Sberbank, atr | 150 / 225 178 / 267 196 / 295 | 1.34 1.63 1.78 | 45 223 67 | 86 713 257 | 127 % 213 % 255% | 5 11 6 | 420 1.2 73 | 510 2.6 1.7 |
Nintendo_US Nintendo_US, percent Nintendo_US、atr | 169 / 339 182 / 365 144 / 288 | 1.49 1.39 1.65 | 18 31 35 | 104 100 182 | 288 % 161 % 260 % | 6 5 9 | 55 1.2 82 | 80 1.4 4.1 |
Tencent Tencent, percent Tencent, atr | 74 / 223 25 / 76 213 / 640 | 2.54 2.18 1.38 | 43 24 42 | 527 168 177 | 408 % 233 % 140% | 5 4 6 | 450 3.6 76 | 1500 2 1.4 |
Michael_Kors Michael_Kors, percent Michael_Kors、atr | 36 / 109 46 / 140 84 / 252 | 1.51 2.6 2.18 | 134 281 266 | 240 1 452 1 352 | 59 % 172 % 169% | 5 7 7 | 190 3 77 | 330 2 2.3 |
Starbucks Starbucks, percent Starbucks, atr | 15 / 231 26 / 388 56 / 816 | 1.69 1.26 1.2 | 38 743 426 | 251 531 740 | 45 % 4 % 11 % | 4 30 17 | 160 2.8 75 | 195 3.5 4.1 |
Gazprom Gazprom, percent Gazprom, atr | 265 / 398 64 / 97 76 / 114 | 1.33 1.99 3.02 | 59 102 115 | 142 294 404 | 160 % 192 % 234% | 6 11 9 | 150 1.6 69 | 180 2.8 3.7 |
Petrobras Petrobras, percent Petrobras, atr | 23 / 337 25 / 375 55 / 803 | 1.61 1.45 1.92 | 86 391 650 | 623 456 3 743 | 49 % 8 % 39 % | 5 12 20 | 240 1.6 83 | 300 2.8 4 |
Snap Snap, percent Snap, atr | 62 / 93 55 / 83 - | 1.97 2.85 - | 44 83 - | 227 411 - | 343 % 330 % - | 4 5 - | 75 4 - | 135 2.7 - |
SQM SQM, percent SQM, atr | 64 / 162 58 / 145 170 / 426 | 1.81 1.79 1.32 | 55 128 249 | 288 337 314 | 209 % 105 % 50 % | 5 6 9 | 125 3.4 67 | 240 1.7 1.9 |
ORCL.m ORCL.m, percent ORCL, atr | 44 / 246 16 / 88 215/1 186 | 1.07 1.64 1.24 | 275 65 261 | 46 146 351 | 3 % 40 % 24 % | 8 5 8 | 90 4 70 | 150 1.4 1.4 |
INTC.m INTC.m, percent INTC.m, atr | 33 / 182 25 / 142 116/641 | 1.92 3.36 1.62 | 23 133 385 | 219 1 323 1 358 | 173 % 180 % 64 % | 4 6 14 | 130 2.4 56 | 180 3.2 4.1 |
FOXA.m FOXA.m, percent FOXA.m, atr | 53 / 268 93 / 467 234/1 171 | 1.6 1.57 1.28 | 47 133 165 | 201 407 305 | 85 % 61 % 36 % | 5 7 8 | 90 2 71 | 120 1.4 1.4 |
SBUX.m SBUX.m, percent SBUX, atr | 49 / 270 62 / 345 154/849 | 1.5 1.89 1.5 | 58 100 269 | 217 694 1 379 | 68 % 126 % 93 % | 5 7 15 | 130 1.8 57 | 160 1.7 3.2 |
NKE.m NKE.m, percent NKE.m, atr | 35 / 197 20/112 407/2 240 | 2.26 2.18 1.17 | 140 41 174 | 947 257 384 | 122 % 113 % 40 % | 6 3 12 | 135 4 47 | 275 1.4 1.7 |
HPE.m HPE.m, percent m, atr | 33 / 99 66 / 198 60/180 | 1.89 1.76 2.62 | 27 52 110 | 104 143 674 | 128 % 91 % 204% | 4 5 14 | 55 2.8 76 | 70 1.4 3.8 |
MSFT.m MSFT.m, percent m, atr | 36 / 199 28 / 154 126/693 | 2.11 1.39 1.42 | 70 340 434 | 508 288 1 042 | 131 % 15 43 % | 7 6 16 | 150 3.2 69 | 275 1.4 2.9 |
KO.m KO.m, percent M, ATR | 20 / 110 22/121 125/688 | 2.02 2.12 1.35 | 29 163 244 | 144 397 2 272 | 90 % 44 % 169 % | 4 6 14 | 100 2 64 | 160 2 2.9 |
ATVI.m ATVI.m, percent ATVI, atr | 77 / 425 15 / 83 194 / 1 072 | 1.34 2.86 1.46 | 54 302 235 | 235 1 313 1 198 | 79 % 79 % 92% | 5 6 9 | 135 4 60 | 140 3.2 2.3 |
YM YM, percent YM, atr | 106 / 1 287 157 / 1 969 234 / 2 927 | 1.46 1.29 1.02 | 2 797 13 288 19 984 | 20 089 41 936 2 669 | 57 % 25 % 1 % | 8 27 17 | 155 0.6 51 | 210 2.9 1.7 |
Brent Brent, percent Brent, atr | 146 / 733 114 / 574 81 / 407 | 1.5 1.21 1.34 | 8 721 13 883 9 368 | 31 144 12 988 16 587 | 71 % 18 % 35 % | 21 19 13 | 70 1.4 70 | 275 3.8 3.2 |
すべてのテストされたシンボルに最適な ストップロス 計算方法はありませんでしました。 いくつかのケースでは、ポイントでの ストップロス が優れていました。 他のシンボル価格または ATR パーセント ストップロス は、より大きな利益を示しました. しかし、1つの規則性があります。 価格の割合として、または ATR の割合として ストップロス を計算する場合、連続負けトレードの最大数は、大幅にすべてのトレードで増加します。 応じて最大ドローダウンが増加します。
一般に、SLとTPの計算方法のどちらが良いかを見極めることは不可能です。 しかし、私の意見では, ポイントで ストップロス とテイクプロフィットは、より良い結果を示しています。
トレーリングストップのテスト
多くのトレーダーは、フローティングトレーリングストップを使用することを好みます。 今すぐこのオプションをチェックしてみましょう。
このEAには2つのパラメータがあります。
- Use constant trailing after N profit points-このパラメータは、価格がTP方向に移動する必要があるポイントの数を設定し、その後トレーリングストップメカニズムがアクティブ化されます (この制限により、チェーンが損失で閉じられるのを防ぎます。特にロット増加がすべてのステップで使用されていない場合は、ステップをさらにリバーシングします)。
- Constant trailing in points—現在の価格からのポイントの数で、ポジション ストップロス は、 Use constant trailing after N profit pointsの条件が満たされた後に移動されます。
このEAは、各足の開始時に ストップロス をトレールする必要があります。 つまり、M15 時間枠でストラテジーをテストするため、チェックは15分ごとに実行されます。
トレーリングが必要な場合、SLの移動に加えて、EAはTPをキャンセルします。 SLはポジションをクローズする唯一の方法です。 すなわち、可能な価格方向の変化からの保護に加えて、トレーリングストップは、TPをキャンセルすることによって利益量を増加させることができます。
以下はトレーリングストップとトレーリングストップのない最良の結果の比較表です。
シンボル | トレード (年/合計) | プロフィットファクタ | 最大 ドローダウン | 利益 | 年間 | 最大 損失 |
---|---|---|---|---|---|---|
TripAdvisor TripAdvisor, trailing | 100/250 99 / 248 | 1.5 1.53 | 98 100 | 315 321 | 128 % 128 % | 6 6 |
Sberbank Sberbank, trailing | 157 / 236 158/238 | 1.37 1.55 | 45 44 | 98 148 | 145 % 224 % | 5 5 |
Nintendo_US Nintendo_US, trailing | 171 / 342 173 / 347 | 1.38 1.2 | 18 37 | 90 51 | 250 % 68 % | 6 9 |
Tencent Tencent, trailing | 78 / 234 69 / 209 | 1.9 2.3 | 150 82 | 415 438 | 92 % 178 % | 8 7 |
Michael_Kors Michael_Kors, trailing | 38/ 114 48 / 145 | 1.46 1.46 | 134 116 | 247 169 | 61 % 48 % | 5 5 |
Starbucks Starbucks, trailing | 16 / 234 15 / 227 | 1.66 1.6 | 38 51 | 247 234 | 44 % 31 % | 4 4 |
Gazprom Gazprom, trailing | 288 / 433 295 / 443 | 1.34 1.4 | 59 39 | 155 162 | 175 % 276 % | 6 5 |
Petrobras Petrobras, trailing | 24 / 349 23/344 | 1.4 1.52 | 126 102 | 547 541 | 29 % 36 % | 8 5 |
SQM SQM, trailing | 64 / 164 69 / 174 | 1.82 1.8 | 55 83 | 298 400 | 216 % 192 % | 5 5 |
ORCL.m ORCL.m, trailing | 44 / 246 46/254 | 1.07 1.46 | 275 225 | 46 294 | 3 % 23 % | 8 7 |
INTC.m INTC.m, trailing | 31 / 172 31 / 174 | 1.77 1.7 | 52 52 | 216 218 | 75 % 75 % | 5 6 |
FOXA.m FOXA.m, trailing | 52 / 260 68 / 342 | 0.91 1.38 | 413 62 | -57 126 | - 40 % | 8 5 |
SBUX.m SBUX.m, trailing | 49 / 272 49 / 269 | 1.5 1.49 | 58 63 | 218 214 | 68 % 67 % | 5 5 |
NKE.m NKE.m, trailing | 35 / 198 35 / 199 | 2.26 2.01 | 140 84 | 957 407 | 122 % 88 % | 6 5 |
HPE.m HPE.m, trailing | 30 / 90 41 / 125 | 1.4 1.4 | 46 21 | 75 43 | 54 % 68 % | 5 3 |
MSFT.m MSFT.m, trailing | 37 / 207 37 / 208 | 2.04 1.12 | 70 442 | 538 112 | 139 % 4 % | 7 8 |
KO.m KO.m, trailing | 20 / 105 20 / 109 | 1.56 1.86 | 107 44 | 133 164 | 22 % 67 % | 5 5 |
ATVI.m ATVI.m, trailing | 79 / 435 80 / 443 | 1.27 1.26 | 56 56 | 201 199 | 65 % 64 % | 5 5 |
YM YM, trailing | 106 / 1 288 106 / 1 290 | 1.3 1.3 | 7 285 6 989 | 15 090 14 622 | 16 16 | 8 8 |
Brent Brent, trailing | 151 / 759 149 / 748 | 1.3 1.44 | 8 721 8 790 | 21 950 28 537 | 50 % 64 % | 21 21 |
ご覧の通り、トレーリングストップは、いくつかのケースでは利益を増加し、いくつかのケースでは減少させました。 したがって、トレーリングストップは、この戦略でポジティブな機能として確信することはできません。 さらに、ヒストリーデータ期間が大きい (スターバックス、ペトロブラス、YM) シンボルをチェックすると、トレーリングストップによって収益性が低下します。 したがって、大きなヒストリーのないシンボルの結果の改善は、ランダムにすることができます。
しかし、トレーリングストップは、SLによってチェーン全体が閉じられる可能性をわずかに減らすことができます。 FOXA.mシンボルの結果を参照してください。 トレーリングストップなしで ストップロス で全チェーンを閉じました。 トレーリング関数は、それを排除するのに役立ちました。
現在のテストでのFOXA.mの結果は、前の表のものよりもはるかに悪いことは奇妙です。 このシンボル (以下に添付) のストラテジーテスターレポートから、チェーン全体の ストップロス がずっと昔に登録されたことがわかります。 この奇妙な事実は、すべての以前の多数のテストで、この ストップロス を持っていなかったということです。
残念ながら、ストラテジーテスターは同一のテストを実行しません。 0%、2%、$8 または同じ金融商品の実際のデータの他の任意のシェアを使用することができます。 そのため、テスト結果も変化します。
私にはなぜこれが起こるのか理由がわかりません。 (各テストの実行で同じ結果である原因を知っている場合は、コメントで共有してください)。 これが少なくともヒストリーデータで得られたテスト結果を完全に信頼してはならないもう1つの理由です。
リバーシングテクニックに基づくシグナル
リバーシングトレード戦略を適用する外国為替相のシグナルを開始してから3ヶ月以上が経ちました。 大きな期間ではありませんが、中間の結論を出すのに十分です。
最も重要な結果は、まだ利益があるということです。 平均で月あたり 8%、すなわち年間約 100% になります。
最初の月を除いて何ヶ月も負けませんでした。 しかし、最初の月の損失は理解しやすいです。 まず、シグナルは数日だけ実行されます。 第2に、1つの所定の方向にエントリーを使用しているので、最初のEA操作ステップが不成功であることが判明したのは当然です。
負の側面については、ゴールドはチェーンの第7ステップに到達しました。 18年間のテストでは、ゴールドが最大8番目のチェーンステップに達したことを思い出してください。 合図では、わずか3ヶ月の7番目のステップに達しました。 その場合、TPを待たず、利益がチェーン全体の損失を超えたとすぐにチェーン全体を終了しました。 スワップによって利益の一部が失われる可能性がありますが、他の銘柄の利益によって完全にカバーされていました。
上記の画像からわかるように、最大ドローダウンは、6番目の ストップロス とゴールドチェーンの7the ステップによって得られました。 幸いにも, 他のシンボルの利益は、このドローダウンを減らすために役立ちました。
他のシンボルについては、GBPUSD は6番目のステップに達しました。 他のチェーンは、最大4番目の第5の連鎖ステップでTPによって決済されました。
最初のステップでは、すべてのエントリーの 5-10% のみがクローズされました。 これはランダムなエントリーを示しています =)
シグナルを監視し、戦略のリスクと利益を評価し続けます。 このシグナルを止めるつもりはありません。
レベルを使用した裁量トレードアルゴリズムの作成
自動売買は、ロボットがトレードされている間に自由時間があるなど、多くの利点があります。 しかし、成功した裁量トレーダーは、それよりはるかに高い収益性を出します。 さらに、他の欠点があります。
- 全体のチェーンが ストップロス によって閉じた場合、巨大な損失になります。
- チェーンの直近のステップの大きな自由証拠金要件は、各ステップでロット倍増を使用する場合 (他のロット計算方法は、使用する ストップロス 対TP比には適していません)。
最初のステップでメンテナンスマージンが1ドルに等しい場合、7番目のステップでは64ドルです。 唯一のシンボルのポジションをサポートするためにアカウントに64の余分のドルがある必要があります。 得られた利益は、必要な資産と比較して比較的小さいです。
裁量トレードは、各ステップではなく、1、2または3ステップの後にロット倍増を適用することにより、最大必要証拠金を削減することができます。 トレードをエントリーするタイミングだけでなく、使用するTP比に ストップロス を選択します。
また、1つ、2つまたは3つのステップの後のロット倍増の使用は、チェーン内のステップの最大許容数を増加させることができ、したがって利益で決済する可能性を高めます。
このセクションでは、リバーシングテクニックを使用して、可能な裁量トレードアルゴリズムの1つを提供したいと考えています。 これが最高のバージョンであると断言することはできません。 しかし、リバーシングに加えて、この戦略は、程度に全体的なリスクを低減することができ、多様化を伴います。
さらに、多様化は柔軟なリスク管理を可能にします。 たとえば、アカウントの残高が1日または1週間の終わりまでに増加した場合、すべてのポジションを閉じることができます (負けを含む)。 この場合、価格が有利な方向に移動するリバーシングステップを待つ必要はありません。
マニュアルトレーディングツール. 特にマニュアルトレードに、メタトレーダー5にはRevertManualEAを、メタトレーダー4にはRevertmeManualEA4を作成しました。 (両方のEAがこの記事の添付ファイルで利用可能です). これらのEAは、手動で開くトレードを管理します。 トレードのシンボルはEAにとって重要ではありません。 EAがどのシンボルチャートを実行しているかに関係なく、すべてのシンボルを管理します。 よって、 VPS 上など、一度だけEAを起動する必要があります。 その後、メタトレーダー5を使用して任意のコンピュータからトレードを行うことができるようになります。
RevertManualEAがポジションを管理するには、トレードを実行する際に次のことを行う必要があります。
- RevertManualEAで使用するのと同じマジックナンバーを指定します (デフォルトは777)。
- [オーダーのコメント] で、ステップ番号 (つまり1) を指定します。
残念ながら、MetaTrader5 からの裁量トレードでは、コメントやマジックナンバーを指定することはできません。 したがって、適切なパラメータを持つポジションを開くための特別なEAが必要です。 ドルで固定ストップでオーダーを作成するEAなど。
MetaTrader4 では、コメントの設定は可能ですが、マジックナンバーの指定はサポートしていません。 したがって、ポジションをオープンするための別のEAも必要です。 ドル (MetaTrader4) で固定ストップでオーダーを作成するEAなど。
トレードエントリーアルゴリズム. したがって、SLで失われた金額がTPで獲得した金額よりも少ない場合、どのようなトレードアクティビティも収益性が高くなります。 このロジックは簡単です。
リバーシングのテクニックは ストップロス のレベルを打つことのチャンスを減らすことを割り当てます。 そして、実行するチェーンが多ければ多いほど、資金を失う可能性が少なくなります。 しかし、また、チェーン全体が ストップロス によって閉じられる場合に、潜在的な損失の量を増加させる可能性があります。
これがすべてのステップではなく、2つのステップの後にポジションのサイズを倍増することを示唆している理由です。 これより、チェーン全体が ストップロス によって閉じられた場合の潜在的な損失を減らし、直近のチェーンステップでの必要マージンを減らすことができます。
また、チェーン全体が ストップロス によって閉じられた場合の損失を減らすために、1つの銘柄トレードだけを開くのではなく、一度に5銘柄に分散してポジションをエントリーします。
$10 ストップロス の合計でポジションを開きましょう、すなわち、各ポジションの ストップロス は $2 です。 この場合、TPのサイズと倍増のステップに応じて、各銘柄で次の利益が得られることがあります。
TP3:1、2取引後のロット倍増:
- Step 1: $6;
- Step 2: $4;
- Step 3: $2;
- Step 4: $6;
- Step 5: $2;
- Step 6: -$2;
- Step 7: $6;
- Step 8: $2;
- SL: -$34。
TP4:1、2取引後のロット倍増:
- Step 1: $8;
- Step 2: $6;
- Step 3: $4;
- Step 4: $10;
- Step 5: $6;
- Step 6: $2;
- Step 7: $14;
- Step 8: $6;
- チェーン全体のSL: -$34。
TP4:1、3取引後にロットが倍増:
- Step 1: $8;
- Step 2: $6;
- Step 3: $4;
- Step 4: $2;
- Step 5: $8;
- Step 6: $4;
- Step 7: $0;
- Step 8: -$4;
- チェーン全体のSL: -$24。
上記の亜種では、チェーン全体の ストップロス の場合の損失は、各ポジションの利益よりもはるかに高いです。 したがって、全体の損失チェーンよりも収益性の高いトレードがかなり多くある必要があります。 自身の経験から、大きな ストップロス 値を使用することによってのみ達成できると仮定するかもしれません。 トレードの開始レベルが信頼できると信じている場合でも, 価格が上下に移動を開始したときの状況, ストップロス のレベルを打つ, 多くの場合、短期的なトレード中に発生する可能性があります。
したがって、短期トレードでは次のパラメータセットを使用できます。
TP5:1、ロットは3取引の後に倍増し、チェーンでわずか3取引:
- Step 1: 10 $;
- Step 2: 8 $;
- Step 3: 6 $;
- チェーン全体のSL: -$6。
このケースでは、3つのリバーシングステップのみを使用します。 最初のステップでは、価格が予想される方向に移動した場合、利益を得ることができます。 最初のステップでは、レベルからロールバックに関連する仮定が間違っていて、レベルがブレイクしていた場合、利益を得ることがあります。 3番目のステップで, ダマシのブレイクアウトだった場合、利益を得ることができます。 その後、完全にレベルが失われ、さらにチェーンステップが役に立たないと見越して、ポジションを決済します。
また、5:1 のTPレベルを使用することができます, 2 取引の後に倍増します。 例えば、20-30 などです。 許可するより多くのステップは、少ないが ストップロス によってチェーン全体を閉じる可能性があります。 主なものは、チェーンステップ全体でドローダウンに耐えることができることを確認するために必要な資産を計算することです。 また, 全体の資産は、全体のチェーン損失の場合に失われるべきではありません。 このような状況の後でも、さらにトレードするための資金がある必要があります。
ポジション決済. ポジションは RevertManualEA(または RevertmeManualEA4) によって管理およびクローズされます。 また、常に別のポジションまたはすべてのオープンポジションをクローズすることができます。
すべてのポジションを閉じるのは簡単です。 たとえば、すべてのオープンポジション結果が正であり、それぞれがTPによってクローズされるのを待つ必要がない場合などです。 EAが実行されているシンボルチャートを開きます。 [Close all] ボタンは、チャートで使用できます。 このボタンをクリックすると、EA設定で指定された同じマジックナンバーを持つすべてのポジションが閉じられます。 すべてのポジションをクローズするだけでなく、以降のチェーンステップのすべてのオーダーが削除されます。
マニュアルトレード例. 以下のビデオは、2つのEAを使用した裁量トレードを示しています。RevertManualEAとドルで固定ストップでオーダーを作成します。
マニュアルトレード中のこのシステムの収益性は、エントリポイントの精度に大きく依存します。
結論
結論として, リバーシングトレード戦略は本当にトレードに使用することができることをもう一度確認したいと思います。
巨大な利益をもたらすことはありません。 許容されるリスクで使用する場合の予想最大値は、年間約 100% です。
このシステムは損失がまったくないわけではありません。 チェーン全体はいつでも ストップロス によって終了する可能性があり、直近の N 年で受け取ったすべての利益を失うことになります。
しかし、システムは動作することができます。 動作させるには、2つの主なルールに従う必要があります。
- タイトなストップロス を使用しないでください。
- SLより大きいTPを使用してください。
自動売買テストとマニュアルトレードの両方において、チェーン内のトレード数が10-15 未満の場合、狭いストップロス レベルは利益になりません。 レンジの動きは、多くの場合、チェーン全体が ストップロス によって決済されます。 この場合, 以前に発生したすべての利益を失います。 したがって、問題やリバーシングテクニックを使用して日中トレードを行うことさえ不可能です。
狭いストップロスには別の問題もあります。 スプレッド拡大は、全体のトレードチェーンをダメにすることがあります。 ここでは、実際のトレードの例です:
チェインの直近のステップを見てください。 価格はTP方向に動いていたが、そのツールによってブローカーのスプレッドが突然大きく広がり、SLによって前のステップを閉じました。 その後、SLサイズがスプレッド値より少なかったので、指値オーダーがトリガされ、SLによってただちにクローズしました。 このEAは、このような条件で次の指値オーダーを作成することはできません。 ただし、別の指値オーダーがオープンされた場合は、同じ ストップロス で閉じることもできます。 上記の例は、フローティングスプレッドを提供するブローカーとタイトなストップレベルを使用すると、資産損失を完全につながる可能性があることの良い証拠です。
添付
以下の zip アーカイブが添付されています。
- RevertEA.zip. メタトレーダー5のEAと zip アーカイブ
- RevertManualEA.zip. メタトレーダー5のEAと zip アーカイブ
- RevertmeManualEA4.zip. メタトレーダー4のEAと zip アーカイブ
- SETfiles.zip. 様々なシンボルと異なるブローカーの最適設定を持つセットファイルと zip アーカイブ
- TESTfiles_ma.zip. 移動平均を使用してトレード戦略のテストレポートと zip アーカイブ
- TESTfiles_ma_norevert.zip. リバーシングのテクニックなしで移動平均を使用してトレード戦略のテストレポートと zip アーカイブ
- TESTfiles_plain.zip. 移動平均なしでリバーシングトレード戦略のテストレポートと zip アーカイブ
テストレポートアーカイブには、この記事で考慮されたシンボルに関連するレポートのみが含まれます。 この一連の記事内で考慮されるすべてのシンボルのアーカイブが大きすぎて、記事に添付できないためです。
次のサフィックスは、セットファイルとレポート名で使用できます。
- 接尾辞なし— ストップロス とTPをポイントで指定して、移動平均を使用せずにリバーシングテクニックに基づくトレードシステム。
- _ma —リバーシングテクニックと移動平均に基づくトレードシステム;
- _norevert —リバーシングテクニックなしで、移動平均に基づくトレードシステム。
- _inf —リバーシングテクニックとトレーリングストップを使用した移動平均のないトレードシステム
- _percent —価格に対する割合として指定された ストップロス で、移動平均を伴わないリバーシングテクニックに基づくトレードシステム
- _atr — ATRの割合として指定された ストップロス と、移動平均なしで、リバーシングテクニックに基づくトレードシステム。
MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/5268
![DIY マルチスレッド非同期 MQL5 WebRequest](https://c.mql5.com/2/34/Multi_WebRequest_MQL5.png)
![リバーシング: 最大ドローダウンの削減と他の相場のテスト](https://c.mql5.com/2/34/Graal.png)
![OpenCL を使用したローソク足パターンのテスト](https://c.mql5.com/2/34/OpenCL_for_candle_patterns.png)
![上位100件の最適化パス(その1)最適化分析器の開発](https://c.mql5.com/2/34/TOP100passes.png)
![MQL5 - MetaTrader 5クライアントターミナルにビルトインされたトレードストラテジーの言語](https://c.mql5.com/i/registerlandings/logo-2.png)
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索