正規化されたリスク値ダイナミックスレッショルド取引戦略

SMA ATH ATL 风险归一化 动态阈值 止损策略 价格偏离度
作成日: 2025-06-13 11:16:39 最終変更日: 2025-06-13 11:16:39
コピー: 0 クリック数: 251
2
フォロー
319
フォロワー

正規化されたリスク値ダイナミックスレッショルド取引戦略 正規化されたリスク値ダイナミックスレッショルド取引戦略

概要

統合されたリスク価値の動的減価取引戦略は,価格と長期移動平均の偏差を基にした量的な取引方法である.この戦略は,現在の価格と374周期のシンプル移動平均の対数差を計算し,統合処理を行い,0から1の間のリスク指標を得ている.リスク値は特定の値を下回ると,戦略は市場リスクが低いと判断し,多額の取引に適している.

戦略原則

この戦略の核心原則は,リスク値を統一して市場のリスク状態を量化し,取引決定を導くことである.具体的計算手順は以下の通りである.

  1. 長期トレンドの基準として,374周期の単純移動平均 ((SMA) を計算する.
  2. 現在の閉盘価格と374周期SMAの対数差を計算し,時間因子 ((bar_indexの0.395乗) を掛けると,原始リスク値が得られます。
  3. 原始リスク値の歴史的な高点 (ATH) と低点 (ATL) を追跡して記録する.
  4. 原始リスク値は, 0 から 1 の範囲を標準化して,統一処理されます.
  5. 集約されたリスク値に基づいて異なる取引の値が設定される:
    • リスク値は0.3以下で,買入シグナルを誘発します.
    • リスク値は0.6または0.7以上:平平多信号を誘発する
    • リスク値0.7以上: 売り込みシグナルを触発する
    • リスク値0.4以下:空白信号を誘発する

戦略は,単一取引の最大損失を制御するために,固定ポイントの (ポイント5) ストップロズメカニズムも設定しています. さらに,戦略は,潜在的取引機会を特定するために,タグ機能を使用して,さまざまなシグナル位置をグラフで直観的に表示します.

戦略的優位性

  1. リスクの量化: 一致化処理により,複雑な市場状態を0-1の間のリスク指標に簡素化し,直感的に理解しやすく,取引意思決定を容易にします.

  2. 適応力: 歴史的高点と低点を使用し,均一化することで,指標は異なる市場環境と周期的特性を適応させ,固定パラメータの制限を回避する.

  3. 平均値回帰原理: 戦略は,価格が長期平均線から偏った程度に基づいて,金融市場の平均値回帰特性に適合する超買超売を判断する.

  4. タイムファクター調整: タイムファクター ((bar_indexの0.395乗) を導入することで,リスク計算は時間の経過とともに動的に調整され,市場進化の法則により適合する.

  5. リスク管理機構: 組み込みの止損設定で,単一取引の最大損失幅を直接制御し,資金の安全性を保護する.

  6. ビジュアル信号: 各種のシグナル位置をタグで明確に標識することで,トレーダーの判断の難しさが軽減され,戦略の実用性が向上する.

  7. パラメータは簡潔です: コアパラメータが少なくなり,過度に適合するリスクが軽減され,異なる市場条件における戦略の適応性が向上する.

戦略リスク

  1. 長期移動平均の遅滞周期:374のSMAは著しく遅滞しており,急速な変化の市場では信号の遅延を引き起こし,最適な入場または出場時間を逃す可能性があります.

  2. 固定ストップは波動に適応しない戦略: 固定ポイントをストップ基準として使用し,異なる市場と期間の変動率の違いを考慮せず,ストップが過度に緩やかまたは過度に厳格になることがあります.

  3. 値感受性戦略の取引シグナルは,0.3,0.4,0.6,0.7の既定のリスクの値に大きく依存します. これらの固定値は,すべての市場環境には適用されない可能性があります.

  4. 統一性の限界: 歴史的極限値を用いて統一化が行われ,新しい極端な状況が発生したときに再調整が必要となり,歴史データ不足が統一化不正確につながりうる.

  5. 偏差のリスクを測る: 戦略は,歴史的な最高/最低リスク値に依存しており,これは,前向きな反省で将来の機能偏差を引き起こす可能性がある.実際の応用効果は,反省結果より劣る可能性がある.

  6. パラメータ最適化の課題:SMA周期,リスク値,ストップポイント数などの重要なパラメータは,異なる市場に対して最適化する必要があり,戦略の調整の複雑さを増加させる.

解決方法には,固定ポイントストップの代わりに自己適応のストップメカニズムを使用する. リスクの値調整のための波動率指標の導入; 多周期確認シグナルを使用する. 逆転取引を避けるためにトレンドフィルタリング条件を追加する.

戦略最適化の方向性

  1. 適応の停止メカニズム: 固定ポイントストップをATR (実際の波動幅) に基づくダイナミックストップに変更し,ストップレベルを市場の波動性に応じて自動的に調整できるようにします.例えば,ストップ距離を1.5倍ATRに設定します.

  2. 動的リスクの減值: 固定リスクの値 ((0.3,0.4,0.6,0.7) を市場状況の動態に基づく調整の値に変更し,波動率またはトレンド強度指標を使用してこれらの値を調整することを検討することができます。

  3. トレンドフィルターを追加: より長い周期の移動平均方向またはADX指数を使用するトレンド判断メカニズムを導入し,逆転操作を避けるために主トレンド方向のみで取引する.

  4. 信号確認メカニズム: 信号確認要求を増やし,例えば,リスク指標を連続して複数のサイクルで値を超えて信号をトリガーするように要求し,偽信号を減らす.

  5. 加入時のフィルター:取引時間ウィンドウの制限を増やし,既知の低効率の取引時間や高波動期を回避し,信号の質を向上させる.

  6. 移動平均周期を最適化する:異なるSMA周期 (例えば200,300,450など) を固定374周期に代わってテストし,特定の市場に適したパラメータを見つける.

  7. 資金管理の改善: ダイナミックなポジション管理機構を導入し,リスク値の絶対レベルと変動率に応じて取引毎の資金比率を調整し,リスクバランスを実現する.

  8. 多周期分析フレームワーク: 拡張策略は,複数のタイムサイクルのリスク指標を考慮し,異なるサイクルのシグナルが一致するときにのみ取引を実行し,シグナル信頼性を向上させる.

これらの最適化方向は,戦略の自律性を高め,偽信号を減らす,リスク管理を最適化し,全体的なパフォーマンスを向上させることを目的としています.複数の最適化点を組み合わせることで,より安定した取引システムを構築することができます.

要約する

統一リスク価値ダイナミック・デベリエーション・トレード戦略は,価格と長期移動平均の偏差度に基づく定量的な取引方法であり,リスク指標を計算し統一することで取引決定を導く.この戦略は,複雑な市場状態を0-1の間のリスク値に簡素化し,市場の超買超売状態を直視的に反映する.

戦略の核心的な優位性は,自主的な適応性とリスクの量化能力であり,動的に歴史的な極値を追跡し,均一化処理を行い,指標を異なる市場環境に適応させることができる.同時に,内蔵のストップ・メカニズムは,基本的リスク管理機能を提供する.

しかし,この戦略には,長期移動平均の遅れ,固定値と市場の変化に適応しないストップなどの限界があります.戦略のパフォーマンスを向上させるために,ダイナミック・ストップ・メカニズム,自律的なリスク値,トレンドフィルター,および多周期確認などの最適化措置を導入することを考えることができます.

概して,一式化リスク価値ダイナミック・デベリエーション取引戦略は,市場のリスク状態を認識し,取引決定を導くための体系的な方法を提供し,中長期の取引の補助ツールとして適しています.合理的なパラメータの最適化とリスク管理により,この戦略は,異なる市場環境で安定したパフォーマンスを維持する可能性があります.

ストラテジーソースコード
/*backtest
start: 2025-05-13 00:00:00
end: 2025-06-11 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
//@author=Skywalking2874
strategy("Risk Trading Strategy", overlay=false, max_bars_back=5000)

// 输入参数
risk_prices = input.bool(true, "Display the price corresponding with risk thresholds")

// 计算指标值
find_ath(_src) => 
    var ath = 0.0
    if _src > ath
        ath := _src
    ath

find_atl(_src) =>
    var atl = 2.5
    if _src < atl
        atl := _src
    atl

threeseventyfour = ta.sma(close, 374)
average = (math.log(close) - math.log(threeseventyfour)) * math.pow(bar_index, 0.395)
highest_value = find_ath(average)
lowest_value = find_atl(average)
average_normalized = (average - lowest_value) / (highest_value - lowest_value)

// 绘图
plot(average_normalized, color=color.new(color.blue, 0), title="Risk")

// 交易信号定义
longCondition = average_normalized < 0.3
exitLongCondition1 = average_normalized >= 0.6
exitLongCondition2 = average_normalized >= 0.7
shortCondition = average_normalized > 0.7
exitShortCondition = average_normalized <= 0.4

// 执行交易
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Stop Loss", "Buy", stop=close - 5 * syminfo.pointvalue)

if (exitLongCondition1 or exitLongCondition2)
    strategy.close("Buy")

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Stop Loss", "Sell", stop=close + 5 * syminfo.pointvalue)

if (exitShortCondition)
    strategy.close("Sell")

// 绘制标签
if (risk_prices)
    price_zero = threeseventyfour * math.exp((0.0*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_three = threeseventyfour * math.exp((0.3*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_four = threeseventyfour * math.exp((0.4*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_six = threeseventyfour * math.exp((0.6*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_seven = threeseventyfour * math.exp((0.7*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    
    label.new(bar_index, price_zero, "Buy Signal", color=color.green, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_three, "Exit Long Signal", color=color.blue, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_four, "Exit Short Signal", color=color.orange, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_six, "Exit Long Signal 2", color=color.blue, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_seven, "Sell Signal", color=color.red, textcolor=color.white, style=label.style_label_up)