これは,暗号通貨や株式などのトレンド市場のために設計された完全な価格アクション戦略です.これは2つの異なる長さ,より速く,より遅いものを使用して最高高と最低低の計算を純粋にします.
この戦略は,入口と出口を決定するために,最低低値と最高高値の2つの異なるサイクルの長さとそれらの平均値を使用します.具体的には,平均最低値,平均最高値,およびそれぞれ9サイクルと26サイクルのこれらの2つの平均値の平均値を計算します. 閉じる価格が異なるサイクルの2つの平均値よりも高くなるときに長くなり,閉じる価格が異なるサイクルの2つの平均値よりも低くなるときに短くなります.
ロングの具体的な論理は,閉じる価格が9サイクルの最高値と最低値の平均値よりも高く,26サイクルの平均値よりも高く,そして2つの平均値の平均値よりも高く,すべての3つの条件が満たされると,ロングになります.
ショートとは,閉じる価格が9サイクルにおける最高価格と最低価格の平均値を下回り,26サイクルにおける平均値を下回り,両方の平均値を下回り,三つの条件が満たされるとショートになります.
ロングかショートか 逆信号があるときに 損失を減らすことを選びます
この戦略には以下の主な利点があります.
二重タイムフレーム分析を使用することで 傾向をよりよく判断し 精度を高めることができます
最高価格と最低価格を基に breakouts を効果的に捉えることができます
複数の移動平均値をフィルターに使うことで信号の信頼性が向上し,騒音の干渉を避ける.
傾向の特徴を持つほとんどの市場に適用される純粋な価格アクション戦略です.
完全に自動化された取引は 人間のエラーの可能性を排除します
この戦略には,注意すべきいくつかのリスクもあります.
ストップ・ロスのモジュールが組み込まれていないため,損失が拡大するリスクがあります. 移動ストップ・ロスまたはパーセントストップ・ロスは単一の損失を制御するために追加できます.
範囲限定市場では,誤った信号を生成し,過剰取引することが容易です. 期間パラメータを調整したりフィルターを追加したりできます.
個々の株式と市場の関係の影響は考慮されていない. システムリスクはまだ存在している. このようなリスクを制御するために多因子モデルを検討することができます.
バックテストのデータが十分でない場合,過剰なフィットメントが発生する可能性があります.耐久性テストは,より長い時間枠とより多くの市場で実施する必要があります.
この戦略にはまだ最適化できる余地があります.
最適な組み合わせを見つけるため,周期パラメータをテスト最適化し続けることができます.
移動ストップ・ロスを追加すると 単一の損失を制御できます
適用性を調べるため,異なる市場や異なる品種をテストすることができます.
意思決定を支援するために,機械学習などの特定のアルゴリズム取引モジュールを追加することができます.
多要素モデルでは判断に多くの変数を取り入れ,信頼性を向上させることができる.
概要すると,このダブルタイムフレーム最高低平均戦略は,強いトレンド追跡能力を備えており,暗号通貨などの高波動性市場に適しています. 信号品質を改善するために複数の層のフィルタリングを使用しながら,エントリータイミングのためにブレイクアウト判断を効果的に使用します. パラメータ最適化,ストップ損失モジュール追加,補助アルゴリズムやその他の手段を使用して戦略をさらに強化し,長期的に保持する価値のある効率的で安定した戦略になります.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-04 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © exlux99 //@version=4 strategy(title = "Avg HH/LL Crypto Swinger", overlay = true ) varLo = input(title="Fast Line", type=input.integer, defval=9, minval=1) varHi = input(title="Slow Line", type=input.integer, defval=26, minval=1) a = lowest(varLo) b = highest(varLo) c = (a + b ) / 2 d = lowest(varHi) e = highest(varHi) f = (d + e) / 2 g = ((c + f) / 2)[varHi] h = ((highest(varHi * 2) + lowest(varHi * 2)) / 2)[varHi] long=close > c and close > f and close >g and close > h short=close < c and close < f and close<g and close < h strategy.entry("long",1,when=long) strategy.entry('short',0,when=short)