アダプティブATR移動平均取引戦略

作者: リン・ハーンチャオチャン,日付: 2023年11月2日 16:51:14
タグ:

img

概要

この戦略は,市場の動向を発見し,トレンドに沿って取引するための適応型ATR移動平均指標とトレンドフォローを組み合わせます.この戦略は,Hull移動平均を使用してATRをスムーズにし,スムーズなATR移動平均値を形成し,その後,ATR移動平均値との関係に基づいて取引信号を生成します.ATR移動平均値は,市場のノイズを効果的にフィルタリングし,重要なトレンドを特定することができます.この戦略は,取引ごとにリスク/リターン比率を制御するために固定ストップ損失と利益を取点も設定します.全体的に,この戦略は,適応型ATR移動平均値によって識別されたトレンドをフォローし,厳格なリスク管理を通じて安定した利益成長を達成することを目指しています.

戦略の論理

この戦略の核心指標は,移動平均値ATRである.ATRは重要な変動測定ツールであり,市場の変動と価格変動を測定する.ATR移動平均値は,傾向を決定するために価格と比較するために移動平均線に形成された滑らかなATRである.

具体的には,この戦略は,まずその日の高値と低値の差であるTrue Rangeを計算し,以前の閉店と現在の最高値/最低値の最大差を計算する.その後,TRを滑らかにし,適応型ATR移動平均値を得るためにハル移動平均法を適用する.ATR移動平均値は高周波の市場ノイズをフィルタリングし,重要な価格変動のみを捕捉することができる.

ATR移動平均を計算した後,戦略は価格とATR移動平均を比較する.価格がATR移動平均を上回ると,上昇傾向を示し,戦略は長い.価格がATR移動平均を下回ると,低下傾向を示し,戦略は短い.

また,固定ストップ・ロストとテイク・プロフィートの範囲は,各取引後に設定されます.価格がストップ・ロストレベルに達すると,取引は停止されます.価格がテイク・プロフィートレベルに達すると,利益が取られます.これは損失を制限し,各取引の利益をロックします.

要するに,この戦略は,適応性のあるATR移動平均値と厳格なリスク管理を組み合わせ,重要な傾向を追及し,取引ごとに損失を制御し,安定した利益増加を達成します.

利点分析

この戦略の主な利点は以下の通りです.

  1. 適応性のあるATR移動平均を用いることで,重要な傾向を効果的に特定し,市場騒音をフィルターすることで,罠にはまらないようにする.

  2. 高周波波動によって誤導されるのを避けるため,より平らなATR移動平均を計算するためにハル移動平均法を適用する.

  3. 固定ストップ・ロスの設定と,取引毎の損失を制限し,利益を固定し,リスク/リターン比を保証する.

  4. トレンドをフォローするトレードスタイルは トレンドをフォローし 利益の潜在能力を高めます

  5. シンプルでわかりやすい論理 柔軟なパラメータ設定が 異なる製品や市場に適しています

  6. どんな製品でも使えます 柔軟性があります

リスク分析

この戦略の主なリスクは,

  1. ATR 移動平均値からの誤った信号の可能性.価格は激しく変動し,ATR 移動平均値信号にエラーを引き起こす可能性があります.

  2. ストップ・ロスは,ストップ・アウトの確率を増やします.ストップ・ロスは,十分な価格動きを可能にします.

  3. 固定テイク・プロフィートは,トレンドを完全に把握できず,早すぎる可能性があります.

  4. ストップ・ロスを打つ際の急激な価格上昇は 巨額の損失を防ぐために 取引を一時停止する必要があります.

  5. 傾向が逆転するときにタイミングで退場しない場合,逆転傾向による損失を引き起こす可能性があります. 傾向逆転のシグナルを特定する必要があります.

  6. パラメータは,異なる製品や市場のために最適化する必要があります.そうでなければ,戦略のパフォーマンスに影響を与える可能性があります.

オプティマイゼーションの方向性

戦略は以下の側面で最適化できます.

  1. ATR移動平均のパラメータを最適化し,ATR期間と滑らかなパラメータを含む,ATR移動平均に影響を与える.

  2. ストップ・ロスの戦略を最適化し,固定値ではなく,ATRに基づくダイナミックストップとターゲットを考慮してください.

  3. 他の指標を組み合わせて 傾向の逆転を決定するルールを追加し 逆転に囚われないようにします

  4. 異なる製品や市場環境のパラメータをテストし最適化して最適なパラメータを見つける.

  5. 極端な出来事の検出を追加し 損失を制御するために 大きな価格急上昇が起きたとき 取引を一時停止します

  6. リスクを下げるために 脱出ではなく 引き下げを考慮してください

  7. パラメータの組み合わせを最適化して,ATR期間と滑らかなパラメータの異なる組み合わせをテストして,最適なマッチを見つけます.

結論

要約すると,この戦略は,傾向を特定するために適応性ATR移動平均を使用し,固定ストップ損失と利益を得てトレンドを取引する.ATR移動平均は,傾向を効果的に識別し,固定ストップとターゲットはリスク/報酬を制御する.利点は単純で明確な論理であり,理解しやすく,パラメータチューニングを通じて異なる製品に適応できる.しかし,リスクには,誤った信号,不適切なストップ損失設定が含まれます.将来の改善は,ATR移動平均パラメータを最適化し,ストップ損失/利益を得る戦略,トレンド逆転検出を追加し,パフォーマンスの戦略をさらに改善することによって行えます.


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0)
length = input(title="Length", defval=14, minval=1)
price = input(close)
SL = input(50, title="Stop loss")
TP = input(150, title="Take profit")
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) 
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) 
FromYear = input(defval = 2018, title = "From Year", minval = 2017) 
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) 
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) 
ToYear = input(defval = 9999, title = "To Year", minval = 2017) 
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) 
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) 
window() => true
p=price[1]
func_hma(style, length)=>
    return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length)))
ATR=func_hma(tr(true), length)    
plot(ATR[0], title="ATR1",color=green,transp=0)
plot(ATR[1], title="ATR2",color=red,transp=0)
if (ATR>ATR[1])
    strategy.entry("long",strategy.long,comment="Long",when=window())
if (ATR<ATR[1])
    strategy.entry("short",strategy.short,comment="Short",when=window())
//strategy.close_all(when=strategy.openprofit<-eqSL and window())
//strategy.close_all(when=strategy.openprofit>eqTP and window())
strategy.exit("exit", "long", profit = TP, loss = SL)
strategy.exit("exit", "short", profit = TP, loss = SL)

もっと