私たちのファンページに参加してください
- ビュー:
- 1416
- 評価:
- パブリッシュ済み:
- 2016.10.21 14:02
- アップデート済み:
- 2016.11.22 07:34
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
この指標を使用すると、選択した2つのペアに基づいた合成銘柄を作成することができます。
指標のアルゴリズムは下記の通りです。
- 開始日 - 合成銘柄を構築するための開始日を選択します。不要な古い履歴データの使用を回避するために必要です。
- 銘柄 1/2 - 2つの初期ペアを選択します。
- アクション- 2つのシリーズをマージするのに使用する算術演算を選択します。- + / *の4つの利用可能な操作があり、私は - と / を使いました。おそらく和と積も必要でしょうが、私は使ったことがありません。どなたかがやり方をメールしていただければ幸いです。
- 銘柄反転 1/2 - 相関が負の場合に選択された系列を反転します。
- 銘柄次数 1/2 - 選択されたシリーズの累乗それが必要であることはわかっていますが、私はシリーズをなぜ累乗するかを正確に理解していないので、このオプションを使用したことがありません。このオプションは両方のシリーズの次元を均一化するために使用することができると思いますが、私はこの目的のために乗算を使用しています。仮定が正しい場合、アプローチを比べた場合の利点は何でしょうか?<
- 銘柄乗数1/2 - 一定数によってシリーズを乗算します。私はシリーズの次元を等しくするためにはこれを使用しています。
- 対数- 結果のシリーズを対数スケールに変換します。対数を使用する場合、私は2つのオリジナルシリーズの違いを使用して最終的なシリーズを用意します。あなたがそれを使用しない場合は、アクションとして比率を選択してください。一般に、このスケールに変換することによって、次のトレンドの影響の回避が可能です。しかし、短いセグメントでは違いがないので、私は頻繁にそれを使用せずに割合をアクションとして選びます。私が間違っている場合、コメントをいただけたら幸いと思います。
- 平滑化期間 - すべてのアクションが完了したら、2つのシリーズを1つにマージする前に、時には得られたデータの簡単な平滑化が使用されます。私は指定された期間での単純MAを使用してこのシリーズを平滑化します。ほとんど歪みを出さず、いくつかのスパイクを切り出すことができます。このパラメータに0を指定することによって平滑化を使用しないことも選択できます。トレンドを除去する短い期間を使用する場合は、私は平滑化を使用しません(後でのオプションをご参照ください)。平滑化は大きな値に適用されたときにはデータの損失にはつながらず、最終シリーズはノイズがより少なく平滑になります。
データを準備し合成銘柄を作成するために必要なのはこれですべてです。それがここでやってきたことです。
EURUSDを取りました。
GBPUSDを取りました:
これは合成銘柄です:
最後のステップは、参入ポイントを見つけるために必要な偏差を決定することです。
- アルゴリズム選択 - シンプルMAまたは第1の差分を使用してのトレンド除去。結果のシリーズから動向を削除します。私はこれを行う2つの方法を知っています(2番目を好みます)。<最初の方法は、結果のシリーズから必要とされる期間(遅れ)を持つMAを削除することです。期間は投資期間に基づいて選択されます。MAは簡単なアルゴリズムに基づきます。指数関数を使用する意味があるかや差が何であるかはまだ明らかではありません。これについてコメントをいただけるとありがたいです。第二の方法:すべてのペアの最初の差を2回取り、各ペアの初めを取り、結果間の差分を取ります。シリーズの1つに強い動きが存在しない場合、2つの方法の最終結果は類似しています。強い動きがあるときには、1番目の方法は、多くの場合、合成結果をより早く0として返します。これはしばしば誤っています。第1の差分のためのメモ:私はClose[1]-Close[2] の代わりにClose[1]/Close[2] つまり「first ratio」を使います。この用語は他では見たことがありません。
- アルゴリズムの期間 - ラグ、オフセット。0に設定すると、合成銘柄は変更されません。
- レベルの表示 - 偏差レベルや市場に参入する決定を示す交差を表示/非表示にします。私は両方の方向で緑、黄、赤の3レベルを使用します。
- レベルの計算法 - 私はこれらのレベルを決定する3つの方法を知っています。方法1(オフセットを持った0..1における正規化と呼ばれる)- トレンドの除去された合成銘柄はユニットの範囲で正規化されて変動がほぼ0になるようにオフセット=-0.5で続かれます。私はほとんどの場合この方法を使用します。しかし、安定した両極端がないときの初期データは標準化されておりこれらの値は考慮されるべきであることにご注意ください。<指標は極値が更新された後に過去を再描画しないので、チャート上でそれは以下のように見えます。
しかし、最初のシリーズの2、3の良い発散の後、これらのレベルを信頼し始めることができます。データは蓄積されるので正規化のための両極端は失われません。
方法2(極値レベルと呼ばれる) - 市場に参入するための3つのレベルの絶対最大偏差とその3レベルへの分裂を追跡します。
特長は、正規化の場合と同じです。安定した極値を受け取るまでこのようなレベルを信頼することは推奨されません。
この方法を使用すると、以下の画像が見られます。
レベルの描画に上記の方法のいずれかを使用することには、レベルが狭くされていないという重要な利点があります。 しかし、欠点も1つあります。 スパイクがある場合ば、後続する計算はそれによってガイドされます。それを削除するには、指標にはLevels Coefficient と呼ばれるあと1つのパラメータがあります(手動で狭いまたは市場参入レベルを狭めるまたは展開することができる要因です)。
描画レベルのための方法3は標準偏差の計算です。この方法は、私の意見では許容されないレベルの狭小化の原因となるため、指標には実装されていません。<その結果、レベルは継続的に狭められ拡張される気泡のように見えます。残念ながら、私はすべての指標からこの計算方法を削除したのでスクリーンショットを提供することはできません。別の欠点は、このすべてを正しく計算するためには使用可能なすべてのデータを常にチェックする必要があるということです。
追記この指標はマルチテスターでいくつかのアイデアを確認するためにMetaTrader 4から移動されましたが、言及すべきことがいくつかあります。
- すべてのデータを取得できない場合、指標はいくつかのノイズを描画します。これはMetaTrader 4は発生せず、理由を見つけることができませんでした。
- 履歴中のデータが欠落している場合、指標は以前のデータを使用することができますが、第1項にあるように空のデータが残されているため、どこでデータが欠落しているかを正確に見ることができます。
- 変な物が描画されている場合は、チャートを更新して、期間や期間を変更してください。
- データが存在しない場合にタイマーを使用しようとしましたが、結果に納得できなかったのでタイマーを削除しました。
- 1~4は私のMQL5知識の不十分さの結果だと思うので、多くのご意見をいただければ幸いです。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/2197

ボリンジャーバンドのあと一つの変形。この指標では標準偏差の計算に終値の代わりに高値と安値が使用されています。

入力パラメータでの時間枠選択オプションを含むBBands_Stop_v1指標