移動平均黄金比増幅ATR突破戦略


作成日: 2024-02-26 15:02:26 最終変更日: 2024-02-26 15:02:26
コピー: 0 クリック数: 684
1
フォロー
1617
フォロワー

移動平均黄金比増幅ATR突破戦略

概要

この戦略は,ATR指標を利用して取引信号を構築する突破策である.この戦略は,均線システムを利用して取引信号を生成し,金分割の拡大後のATR指標の上下チャネルで多空ポジションを構築する.トレンドで大きな利益を得ることができ,振動的な状況で小さな安定した利益を得ることができる.

戦略原則

コードには,閉店価格のATR周期指数を取り上げ,上線として1.618倍,下線として2.618倍を拡大して,均線EMAと組み合わせてブリン通路の突破取引システムを構築する.価格が下線から突破する時に多めにして,価格が上線から突破する時に空白して,トレンドを追跡して利益を得る.

戦略的優位性

  1. ATR指標は,市場の変動率を効果的に捕捉し,変動率を利用して自律的な取引チャネルを構築し,固定パラメータを使用すると引き起こされる過適合を回避します.
  2. 黄金の分割を拡大したATRの上下線は,取引頻度を増やさずに利益の空間を広げることができる.
  3. 均線システムは,短期的なノイズをフィルタリングし,ATRチャネルと連携して,中長線のトレンドをロックします.

戦略リスク

  1. ATRの指標は,極端な状況への対応が遅れている.
  2. 配当の誤った増倍は取引頻度が高くなる可能性があります.
  3. 長周期平均線切換信号が遅れている.

戦略の最適化

  1. ATR指標は,市場波動率指数VIXと組み合わせて使用するか,増幅倍数を調整することを考慮することができる.
  2. 均線システムは,多時間周期EMAを導入し,自適性取引システムを構築することができる.
  3. 取引の最大損失を減らすために,ストップ・ロスの仕組みを設けることができます.

要約する

この戦略は,均線フィルタ,ATR通道追跡,金分割原理を総合的に適用する.中長線トレンドを効果的に追跡できる,良好な安定性がある.パラメータ調整により,異なる品種の異なる周期のアプリケーションに適応できる.その良好な市場適応性を探求する価値がある.

ストラテジーソースコード
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ATR Long Only Strategy lower band buy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(52, type=input.integer, minval=1, title="Length")
mul = input(1.618, type=input.float, minval=0, title="Length")
mullow = input(2.618, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
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 = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk())
    strategy.entry("KOP", strategy.long, when=bull_cross)
    strategy.close("KOP", when=bear_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)