MetaTrader 5をダウンロードする

通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III

26 2月 2018, 09:24
Andrei Novichkov
0
608

イントロダクション

通貨ペアのバスケットをトレードするときに発生するテストパターンの最後のパートに近づいています。 前回の記事で覚えているかもしれませんが、結合インジケーターチャートが移動平均を越えるときに形成されるパターンについて説明しました。 また、買われ過ぎ/売られ過ぎラインの画期的パターンのフィルタとしての可能性を検討しました。 

すでに結合インジケーターオシレーターのチャートで発生するパターンを評価しています。 このトピックはこれで完全なものと見なすことができます。

最後のタイプのパターンをテストしてみましょう。 トレード通貨ペアについての主要な記事では、番号4と番号5の下に記載されています。 このようなパターンを見つけることができる箇所を連想させます。

各ペア通貨はそのバスケットに属します。 たとえば、EURUSD は2つの通貨バスケット (EURと USD ) を表します。 このペアの動作は、バスケットごとに1つずつ組み合わせた2つのインジケーターを使用して分析できます。 インジケーターの測定値の差を分析し、互いに相対的な対の弱体または強化を検出します。 したがって、トレンドの方向性についての結論を引き出すことができます。

結合インジケーターのチャートは、説明した原則に基づいており、その上にパターン4とパターン5を探します。 すでに一般的な特徴が分かっています。: 1つは、買われ過ぎのブレイクスルーに基づいています。2番目は、複合インジケータと移動平均の交点にあります。

このパターンの利点を思い出してみましょう:

  1. この分析はペア両方の通貨の行動を考慮に入れるので、より正確になります。 (前の記事のようにここにおよびここです)。
  2. このパターンによる相場参入は、バスケット全体ではなく、1つのペアでのみ実行されます。 これは代わりに、他の利点があります。:
    • ドローダウンが少なくなります。;
    • トレーダーの心理的負担軽減と日々のポジション管理の利便性があります。

リサーチパターン

新しい統合インジケーターチャート上でこれを探しますが、リサーチパターンは、同じままです。 最初に、結合されたインジケーターのチャートによってブレイクした買われ過ぎ/売られ過ぎたレベルのパターンを見てみましょう。 すでにこのレベルのポジションを知っていると仮定しましょう。 このパターンは、テクニカル分析でよく知られており、ここで説明しています。 ロウソクの終値でこれを識別します。 これは慎重に見るべきです:

ターゲットパターン
パターンなし




研究を開始するためのツール

以前のように、"ユナイテッド WPR " インジケータとツールを使用してください。 メインインジケータコードは既にこの前に表示されています。 現在の記事では、test.zip として添付されています。 まず、トレードの可能な数を定義してみましょう。

トレードの可能な数

すでに複数回トレードの可能な数を決定しています。 買われ過ぎと売られ過ぎのレベルのポジションを評価するためにこの結果を比較します。 覚えているかもしれませんが、親WPRインジケーターのレベルの場所は次のとおりです。

  • 買われ過ぎレベル-20%
  • 売られ過ぎレベル-80%

しかし、 "組み合わせ WPR " は-100 パーセントから + 100 パーセントに変化します。それゆえ、水準は、それぞれ + 60 パーセントと-60 パーセントに移ります。 ブレークスルーの数は、すでに得られた結果と同等である場合、レベルが自分のポジションを保持すると仮定します。

H1、H4、D1 の各タイムフレームについて、以下のオーダーで研究を行います。

  1. チャートに testDistance.mq5 インジケーターを配置します。 testWPRjpy.mq5 と testWPeur.mq5 の2つのインジケーターがあります。
  2. 最初に、最後の2つのインジケーターのコードを変更します。: 各々は、ペアの1つの通貨で動作するはずです。testDistance.mq5 インジケーターが置かれています。 たとえば、testWPRjpy.mq5 インジケーターには、円バスケットの通貨ペアが含まれていますが、testWPReur.mq5 は EUR です。 したがって、testDistance.mq5 は EURJPY に配置されます。
  3. testDistance.mq5 インジケーターチャートの上に testIndexZig-Zag1.mq5 インジケーターを配置します (既に前の記事で説明しています)。 0から99までの間隔で testWPReur.mq5 値 (100% ~-100%) の範囲を区切り、各間隔内でのブレークスルーの数を計算します。得られた値は、testIndexZig-Zag1.mq5 インジケーターのタスク結果として想定されます (以下のように "結果 " と呼びます)。 このようなファイルを生成することが、現在の段階の主な目標です。 下記は、便宜上テーブルの形で提供されるファイルの断片です:
    間隔番号 インジケーターの範囲 最小インジケーター値
    最大インジケーター値 
    ブレークスルーの数
    ... ... ... ... ...
    47 -4 -6 -4 3
    48 -2 -4 -2 5
    49 0 -2 0 5
    50 2 0 2 7
    ... ... ... ... ...
  4. 結果のファイルを分析してみましょう。

すべての解析されたペアと同様に、それぞれ testWPRjpy.mq5 と testWPeur.mq5 インジケーターを変更することができます。 例として EURJPY と EURUSD を使用します。

2つのペアの買われ過ぎ/売られ過ぎのレベルのブレークスルーとその通貨 (EUR、USD、JPY) の3つのタイムフレーム-H1、H4 と D1 を比較してみましょう。

最も可能性が高いのは、以前に考えられていた場合よりも、検出されたパターンが大幅に少なくなります。 この理由は簡単です: この組み合わせのインジケーターのチャートは、買われ過ぎ/売られ過ぎのレベルをブレイクするために、2つのイベントが同時に発生する必要があります:

  1. 基本通貨は売られ過ぎです。
  2. クオート通貨は買われ過ぎです。

またはその逆です。 つまり、1つの通貨ができるだけ弱く、他方が同時に可能な限り強いことが必要です。 これはよくある状況ではないので、ブレークスルーの比較数は小さくなります。

上記の2つのイベントの偶然は、相場以外による性質の場合もあります。 たとえば、同時リリース "反対向きの " ニュースなどです。 このような場合、 "買われ過ぎ " と "売られ過ぎ " の概念は完全には正しくありませんが、問題を複雑にしないために固執します。

testIndexZig-Zag1.mq5 操作 (生成されたファイル) の完全な結果は、添付ファイルFiles.zipにあります。 テストは、利用可能な全体のヒストリーに実施しました。 

表の中で最も重要な結果をまとめましょう。

Symbol

Timeframe
D1 H4 H1
EURJPY 2 / 3 19/19 39/46
EURUSD 3 / 1 17/17 31/50
EUR 5 / 1 15/16 67/73
JPY 5 / 5 20/17 79/62
USD 2 / 9 13/9 80/69

内容を明確にしましょう:

  • 最初の2行は、選択した2つの通貨ペアに対する testIndexZig-Zag1.mq5 の結果です。
  • 最後の3行は、3つの別々のの通貨ペアバスケットに対する testIndexZig-Zag1.mq5 インジケーターの結果です。 各バスケットは、基本通貨のいずれか、または最初の2行のペアのクオート通貨で構成されます。
  • 右の3つの列の数値データは、売られ過ぎ (-60%)/買われ過ぎ (60%) のレベルのデータで、添付ファイルFiles.zipから見つかりました。 たとえば、80/69 はレベル 60% の80のブレークスルーとレベル 60% の69のブレークスルーが検出されたことを意味します。


今回のタスクは、最後の3つと最初の2行のデータを比較することです。 セクションの冒頭で提供されるブレークスルーの数を減らすための最初の予測は、H1 の時間枠と "failed" で H4 と D1 で正当化されました。 H4 と D1 のタイムフレームは、統計的に結論付けるのための十分なブレークスルーを持っていないと仮定することができます。 しかし、まだこれを行いません。 この分析は正当化された結論に対し不十分で、2つの組だけで行われました。 したがって、統計値が蓄積されるとすぐに、買われ過ぎ/売られ過ぎのレベルのポジションを調整する必要があるかもしれません。

にもかかわらず、1つの合理的な結論を引き出すことができます。: 以前のように、D1 の相場エントリの数は無視されます。

テストの開始

すでに同様のパターンをテストしています。 したがって、既製の testEAbasket2.mq5 を使用してみましょう。最小限の変更を実装します。

  • このEA は testDistance.mq5 インジケーターを呼び出します。
  • このEA はすでにオープンされたオーダーにもかかわらず、各パターン検出 (各買われ過ぎ/売られ過ぎレベルのブレークスルー) で相場に参入することができます。

トレード数を増やすためにパターンフォームを少し変更してみましょう。 変更は EA のパラメータに反映されます。

  • SELLPROFIT. 結合 WPR がこの値に達すると、バスケット売りのすべてのポジションを閉じます。 デフォルト値は 0% です。
  • SELL1LIMIT. ポイント 1 (上の画像を参照) の組み合わせ WPR の最小値であり、バスケットの売りパターンの識別を開始します。 デフォルト値は 65% です。
  • SELL2FROM。バスケットの売りパターンを識別するためのポイント2の組み合わせ WPR の最大値。 デフォルトでは、60% は買われ過ぎレベルです。
  • SELL2TO. バスケットの売りパターンの最終的な識別のポイント2の結合された WPR の最小値。 デフォルト値は 40% です。
  • BUYPROFIT. 結合された WPR がこの値に達すると、バスケットの買いのすべてのポジションをクローズします。 デフォルト値は 0% です。
  • BUY1LIMIT. ポイント1の組み合わせ WPR の最大値で、バスケットの買いパターンを識別します。 デフォルト値は-65% です。
  • BUY2FROM。バスケットの買いパターンを識別するための、ポイント2の組み合わせ WPR の最小値。 デフォルトでは、60% は売られ過ぎのレベルです。
  • BUY2TO. バスケットの買いパターンの最終的な識別のポイント2の結合された WPR の最大値。 デフォルト値は-40% です。

その上、主要なインジケーター testDistance.mq5 はある特定のバスケットの結合された WPR の価値を提供する testWPRХХХ. mq5 を適用します。 最後のインジケーターの計算メソッドを算術平均から幾何平均に変更します。 インジケーターの値を計算するためのさまざまなメソッドは、詳細な説明でここで提供されました。 ここでは、メインの計算を担当するテストインジケーターコードのフラグメントのみを示します。

double m_dParam = 0.143; // 1/LG

double GetValue(int shift) 
  {
   double dBuf[1];
   double res=0.0;
   
         res = 1;
         for (int i = 0; i < LG; i++) {
            CopyBuffer(h[i],0,shift,1,dBuf);
            if (bDirect[i]) res *= dBuf[0];
            else            res *= dBuf[0] + 100;            
         }  
         res = -MathPow (MathAbs(res), m_dParam);  
   return (NormalizeDouble((res + 50) * 2, _Digits) );
  }

適用されたインジケーターと EA の完全なセットは、添付のアーカイブ test2.zip に記載されています。

EURUSDを使ってタスクを始めましょう。 昨年の結果:

AUDUSDおよびUSDJPYの以上のテストはトレードをもたらさない。 どうやら、バスケットの1つの通貨で買われ過ぎと売られ過ぎが同時に発生するのは非常にまれです。 パターンパラメータを変更し、テストを継続して、ブレークスルーの数を増やしてみましょう。 エントリーの更新されたリストを以下に示します。

  • SELLPROFIT. 変更はありません。
  • SELL1LIMIT = 50%。
  • SELL2FROM = 40%
  • SELL2TO = 20%。
  • BUYPROFIT. 変更はありません。
  • BUY1LIMIT  = -50%
  • BUY2FROM  = -40%
  • BUY2TO =-20%。

主通貨ペアの EA テストレポートは、添付のアーカイブresult.zipにあります。 得られた損益が表に表示されます。

  AUDUSD EURUSD GBPUSD NZDUSD USDCAD USDCHF USDJPY
H1 -27.63 48.28 49.34 -20.02 -20.04 29.82 -19.99
H4 -35.10 14.44 1.60 -49.18 -38.75 -15 2.46

D1 のタイムフレームはほとんどトレードを示していないため、レポートには含まれません。 他のタイムフレームでは、トレードも不足しています。 許容できる結果は H1 でのみ検出されています。 3組 (EURUSD、GBPUSD および USDCHF) の利益を示します。 アルゴリズム上の失敗だとすることはできませんが、多くは損失を示しています。 フィルターなしで最も簡単な EA のバージョンをテストしたことを忘れないようにしましょう。 もちろん、それでは実際のトレードには不十分です。 EAを改善し、効率的にします。 得られた結果を分析して、次のステップがアルゴリズムにどのように対処すべきかを調べてみましょう。

テスト結果の分析

最初は、H1 と H4 のトレードの数の差です。 同じ時間間隔に対して H1はH4よりも4倍のロウソク足があるので、H1のトレード数が多いのは理解できます。 トレードの数も4倍以下にする必要があると思われるかもしれません。 これまで研究では、この法則性はやや異なります。: すべての分析ペアでは、H4 に比べて 5倍近いトレードがあります。 H1 もトレードがあるので、疑問があります。: このメソッドに従って H4 でトレードしたい場合、何をすべきか? 1つのソリューション- "expand" パターンをすることができます:

  • SELLPROFIT. 変更はありません。
  • SELL1LIMIT = 45%。
  • SELL2FROM = 40%
  • SELL2TO = 10%
  • BUYPROFIT. 変更はありません。
  • BUY1LIMIT  = -45%
  • BUY2FROM  = -40%
  • BUY2TO =-10%

わずかにトレードの数が増えるかもしれませんが、どのように利益とドローダウンに影響があるでしょうか? 2つのペアで追加のテストを実行してみましょう-GBPUSD (H1に良い利益を示した) とAUDUSD (損失を示した)。

この結果が取得され、アーカイブ result-1.zip として接続されます。 確かに、パターン "expansion " 予想は、トレードの数が増加しています。 特に、収益性/非収益性においては、AUDUSDが損失を被ったが、GBPUSD は、利益があるため H1の"継承" であることが分かります。 しかし、パターンが "拡張 " されており、頻繁に自分自身を識別し始めたことは良いのでしょうか。 最初に、パターンが売られ過ぎ/買われ過ぎラインのブレークスルーに表示されます。 2つの "expansions " の後、突破口とラインの新しい場所について特定することは困難です。 おそらく、トレーダーは、H1 よりも高い期間にそのパターンを探してはいけません。

また、テスト中に検出されたドローダウンを見てみましょう。 EURUSD 上の EA の上記のスクリーンショットで見ることができます。 ドローダウンから離れて、オーダーが多くのポジション後に利益が戻っています。 すでに同じようなパターンをテストするときにここでこれを見ています。 考えられる理由は何でしょうか。

  1. 相場の決済のルールの欠点。 覚えているかもしれませんが、相場における決済は、複合WPRがそのゼロレベルを突破するときに実行されます。 言い換えれば、ベースとクオートの通貨間の均衡です。 どうやら、これは十分ではなく、決済時間を定義するための他の方法が必要です。 しかし、この場合、外部の影響を除外するための追加の手段が適用されません。
  2. パターン識別の欠点。 H1 と H4 の両方のエントリーを拡大しています。 売られ過ぎ/買われ過ぎレベルをシフトしています 45-40%. したがって、システムが自動的にパターンを検出すると、実際の売られ過ぎ/買われ過ぎラインのブレークスルーはまだ発生する可能性があります。 たとえば、このラインはある通貨でブレイクしているかもしれませんし、また両方の通貨が実際にこれをクロスせずに売られ過ぎ/買われ過ぎレベルの周りにある可能性があります。 このような場合、現在のトレンドはおそらく継続し、反転は行われません。 このようなイベントが発生する可能性が増えると、追加のパターン "拡張 " が実行されます。 パターンエントリーの幅が広くなるほど、重要ではなくなります。 説明されたイベントは、ドローダウンを引き起こす可能性があります。

さて、テストが完了したので、全体の結論付けを行いましょう。

結論

  • このパターンは D1 のタイムフレームでは識別されず、H4 ではめったに表示されません。 H1 よりも高いタイムフレームではお勧めしません。
  • 可能なトレード数を増やすために、そのフォームと品質を下げることによって、パターンを "展開"することができます。 しかし、無理に行うと力を失い、実際の買われ過ぎ/売られ過ぎレベルのブレークスルーを反映しません。 したがって、細心の注意を持ってパターンを展開します。
  • パターンの収益性を確認することは驚きに値しないでしょう。 しかし、有望な特徴があります。 以前のテストでは、H1 の時間枠は完全にレッドでしたが、このペアでは深刻な損失が検出されませんでした。 このパターンは標準的なテクニカルな手段を適用することによって安定した利益をもたらす可能性があります。(トレーリングなど)
  • 説明されているパターンはあまりありません。 追加のシグナルとしてではなく、他のパターンを強化する、相場参入の決定を行うための主要なツールとみなす必要があります。 これはまた後でトライします。

この記事で使用されるプログラム

 # 名称
種類
 詳細
1 test.zip Archive
トレードの可能な数を決定するためのツール。
2
Files.zip Archive 潜在的な相場参入の数を決定する結果。
3 test2.zip Archive EA のテストツール。
4 result.zip Archive html レポートをテストするパターン。
5
result-1.zip Archive
H4 の追加テストに関する Html レポート。

MetaQuotes Software Corp.によりロシア語から翻訳された
元の記事: https://www.mql5.com/ru/articles/4197

添付されたファイル |
test.zip (8.36 KB)
test2.zip (16.62 KB)
result.zip (832.8 KB)
result-1.ZIP (127.29 KB)
Files.zip (11.54 KB)
チャネルブレイクアウトパターン チャネルブレイクアウトパターン

価格トレンドは、金融銘柄チャートで観察できる価格チャネルを形成します。現在のチャネルのブレイクアウトは、強いトレンド反転シグナルの1つです。本稿では、そのようなシグナルを見つける手順を自動化し、チャネルブレイクアウトパターンを取引戦略の作成に使用できるかどうかを確認する方法を提案します。

エントリを指標によって分類する技術を用いた新たな取引戦略の作成 エントリを指標によって分類する技術を用いた新たな取引戦略の作成

本稿では、個々の指標セットを組み立てることでカスタム取引戦略を作成するとともに、カスタム市場エントリシグナルを開発する技術を提案します。

サポートラインおよびレジスタンスラインの自動構築 サポートラインおよびレジスタンスラインの自動構築

この記事では、価格チャートにおける位置的なトップとダウンを使用して、サポート/レジスタンスラインの自動構築を行います。 極値を定義するには、よく知られたジグザグインジケーターが適用されます。

高速数学的計算に基づくカスタムストラテジーテスター 高速数学的計算に基づくカスタムストラテジーテスター

この記事では、カスタムストラテジーテスターと最適化パスのカスタムアナライザーを作成する方法について説明します。 これにより、数学の計算モード、いわゆるフレームの仕組みを理解することができ、計算のカスタムデータをロードしその圧縮の効果的なアルゴリズムを使用できるようになります。 この記事は、EAの中でカスタム情報を保存する方法に興味がある方にも有意義なものになります。