適応型RSIショック閾値動的取引戦略

RSI ATR BAT LR SD
作成日: 2024-11-12 16:07:32 最終変更日: 2024-11-12 16:07:32
コピー: 2 クリック数: 498
1
フォロー
1617
フォロワー

適応型RSIショック閾値動的取引戦略

概要

この戦略は,RSI ((相対的に強い指標) に基づく自適性取引システムで,ダイナミックにオーバーバイオーバーセール値を調整することで取引シグナル生成を最適化します.戦略の核心的な革新は,Bufi自適性値 (BAT) の導入である.この方法は,市場動向と価格変動の動向に応じてRSIのトリガー値を調整し,従来のRSI戦略の有効性を向上させます.

戦略原則

戦略の核心は,従来の固定値RSIシステムを動的な値システムにアップグレードすることです.具体的には以下の通りです.

  1. 短期RSIを使用して,市場の超買い超売り状態を計算する.
  2. 線形回帰による価格傾向斜率
  3. 標準差は価格変動の幅を測る
  4. 動向と波動の情報を統合し,RSIを動的に調整する
  5. 値下げは上昇傾向で値上げは上昇傾向で値下げは低下傾向で値下げは値下げ
  6. 価格が平均から大きく離れているときの値感受性を低下させる

戦略には2つのリスク管理メカニズムも含まれています.

  • 固定周期平仓メカニズム
  • 最大損失の停止メカニズム

戦略的優位性

  1. 動的・適応的:
  • 市場状況に応じて取引の値下げを自動的に調整できる
  • 異なる市場環境で固定パラメータの使用のデメリット
  1. リスクの管理は完璧です.
  • ポジションの最大保有時間制限
  • 資金停止保護メカニズムを含む
  • % ポジション管理
  1. 信号の質が向上しました
  • 市場を揺るがす偽信号の減少
  • トレンド市場のキャプチャを向上させる
  • 感覚と安定のバランスをとる

戦略リスク

  1. パラメータ感度:
  • BAT係数の選択は,戦略のパフォーマンスに影響する
  • RSIサイクル設定は十分にテストする必要があります
  • 長さパラメータの最適化が必要
  1. 市場環境は
  • 波動の激しい市場では チャンスを逃す
  • ストップダストは急激な波動で滑りやすい
  • パラメータは市場によって調整する必要があります.
  1. 技術的な限界:
  • 過去データによる計算の値
  • 遅滞の可能性
  • トランザクションコストの影響

戦略最適化の方向性

  1. パラメータ最適化:
  • 適応パラメータ選択メカニズムを導入する
  • 異なる市場周期の動向に合わせて調整するパラメータ
  • パラメータの自動最適化機能を追加
  1. 信号の最適化:
  • 他の技術指標の検証と組み合わせた
  • 市場周期認識機能を追加
  • 入学時の判断を最適化する
  1. リスク管理の最適化:
  • ダイナミック・ストップ・メカニズムの導入
  • ポジション管理戦略の最適化
  • リトレースメント制御メカニズムを追加

要約する

これは,ダイナミックな値の最適化によって,伝統的なRSI戦略の限界を解決する革新的な自己適応の取引戦略である.戦略は,市場の傾向と変動を総合的に考慮し,強い適応性とリスク管理能力を有している.パラメータの最適化などの課題があるにもかかわらず,継続的な改善と最適化により,この戦略は,実際の取引で安定したパフォーマンスを期待している.

ストラテジーソースコード
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PineCodersTASC

//  TASC Issue: October 2024
//     Article: Overbought/Oversold
//              Oscillators: Useless Or Just Misused
//  Article By: Francesco P. Bufi
//    Language: TradingView's Pine Script™ v5
// Provided By: PineCoders, for tradingview.com

//@version=5
title  ='TASC 2024.10 Adaptive Oscillator Threshold'
stitle = 'AdapThrs'
strategy(title, stitle, false, default_qty_type = strategy.percent_of_equity,
         default_qty_value = 10, slippage = 5)

// --- Inputs ---
string sys    = input.string("BAT", "System", options=["Traditional", "BAT"])
int rsiLen    = input.int(2, "RSI Length", 1)
int buyLevel  = input.int(14, "Buy Level", 0)
int adapLen   = input.int(8, "Adaptive Length", 2) 
float adapK   = input.float(6, "Adaptive Coefficient")
int exitBars  = input.int(28, "Fixed-Bar Exit", 1, group = "Strategy Settings")
float DSL     = input.float(1600, "Dollar Stop-Loss", 0, group = "Strategy Settings")

// --- Functions --- 
//  Bufi's Adaptive Threshold
BAT(float price, int length) =>
    float sd = ta.stdev(price, length)
    float lr = ta.linreg(price, length, 0)
    float slope = (lr - price[length]) / (length + 1)
    math.min(0.5, math.max(-0.5, slope / sd))

// --- Calculations ---
float osc = ta.rsi(close, rsiLen)

// Strategy entry rules
// - Traditional system
if sys == "Traditional" and osc < buyLevel
    strategy.entry("long", strategy.long)
// - BAT system 
float thrs = buyLevel * adapK * BAT(close, adapLen)
if sys == "BAT" and osc < thrs
    strategy.entry("long", strategy.long)

// Strategy exit rules
// - Fixed-bar exit
int nBar = bar_index - strategy.opentrades.entry_bar_index(0)
if exitBars > 0 and nBar >= exitBars
    strategy.close("long", "exit")
// - Dollar stop-loss
if DSL > 0 and strategy.opentrades.profit(0) <= - DSL
    strategy.close("long", "Stop-loss", immediately = true)

// Visuals
rsiColor  = #1b9e77
thrsColor = #d95f02
rsiLine   = plot(osc, "RSI", rsiColor, 1)
thrsLine  = plot(sys == "BAT" ? thrs : buyLevel, "Threshold", thrsColor, 1)
zeroLine  = plot(0.0, "Zero", display = display.none)
fill(zeroLine, thrsLine, sys == "BAT" ? thrs : buyLevel, 0.0, color.new(thrsColor, 60), na)