
Ini adalah strategi perdagangan kuantitatif yang menggunakan indikator ATR dan harga penutupan untuk menangkap penembusan trend. Strategi ini menilai arah trend dengan mengira secara dinamik garis trend ke atas dan ke bawah, menghasilkan isyarat perdagangan apabila harga penutupan menembus garis trend. Strategi ini menetapkan stop loss dan harga sasaran pada masa yang sama, dan boleh bergerak stop loss mengikut turun naik.
Penyelesaian:
Periode masa yang lebih banyak membantu menyaring kebisingan dan lebih stabil dalam menangkap trend. Pemeriksaan indikator kuantiti sebelum penembusan dapat menghapuskan isyarat palsu. Pengoptimuman pengurusan kedudukan dapat meningkatkan kecekapan penggunaan dana. Pengoptimuman parameter stop loss dan stop loss dapat meningkatkan nisbah risiko keuntungan strategi. Peningkatan logik stop loss bergerak dapat memperoleh lebih banyak keuntungan trend sambil mengawal penarikan balik.
Strategi ini menggunakan ATR sebagai ukuran kadar turun naik, menyesuaikan kedudukan garis trend secara dinamik, menangkap pergerakan tren. Tetapkan sasaran berhenti dan keuntungan yang munasabah, dan gunakan stop loss yang bergerak untuk mengunci keuntungan. Parameter boleh disesuaikan, beradaptasi kuat. Tetapi strategi pemecahan trend juga mudah dipengaruhi oleh keadaan yang bergolak, memerlukan pengoptimuman dan penambahbaikan lebih lanjut.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Claw-Pattern", overlay=true, calc_on_every_tick=true, default_qty_type= strategy.percent_of_equity,default_qty_value=10, currency="USD")
//Developer: Trading Strategy Guides
//Creator: Trading Strategy Guides
//Date: 3/18/2024
//Description: A trend trading system strategy
atr_period = input(title="ATR Period", defval=120, type=input.integer)
atr_mult = input(title="ATR Multiplier", defval=2, type=input.integer)
dir = input(title="Direction (Long=1, Short=-1, Both = 0)", defval=1, type=input.integer)
factor = input(title="Stop Level Deviation (% Chan.)", defval=0.75, type=input.float)
rr = input(title="Reward to Risk Multiplier", defval=2, type=input.integer)
trail_bar_start = input(title="Trail Stop Bar Start", defval=20, type=input.integer)
col_candles = input(title="Enable Colored Candles", defval=false, type=input.bool)
atr_signal = atr(atr_period)
lower_trend = low - atr_mult*atr_signal
upper_trend = high + atr_mult*atr_signal
upper_trend := upper_trend > upper_trend[1] and close < upper_trend[1] ? upper_trend[1] : upper_trend
lower_trend := lower_trend < lower_trend[1] and close > lower_trend[1] ? lower_trend[1] : lower_trend
upper_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? color.red : na
lower_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? na : color.green
trend_line = lower_trend
plot(lower_trend, color=lower_color, title="Lower Trend Color")
plot(upper_trend, color=upper_color, title="Upper Trend Color")
is_buy = strategy.position_size == 0 and crossover(close, upper_trend[1]) and upper_color[1]==color.red and (dir == 1 or dir == 0)
is_sell = strategy.position_size == 0 and crossover(close, lower_trend[1]) and lower_color[1]==color.green and (dir == -1 or dir == 0)
if is_buy
strategy.entry("Enter Long", strategy.long)
else if is_sell
strategy.entry("Enter Short", strategy.short)