
Ini adalah strategi perdagangan kuantitatif yang menggunakan indikator ATR dan harga penutupan untuk menangkap trend breakout. Strategi ini menilai arah tren melalui perhitungan dinamis atas dan bawah garis tren, menghasilkan sinyal perdagangan ketika harga penutupan menembus garis tren. Strategi ini menetapkan stop loss dan harga target sekaligus, dan dapat melakukan stop loss bergerak sesuai dengan volatilitas.
Solusi:
Periode waktu yang lebih banyak membantu memfilter kebisingan dan menangkap tren dengan lebih stabil. Verifikasi indikator kuantitatif sebelum terobosan dapat menyingkirkan sinyal palsu. Pengoptimalan manajemen posisi dapat meningkatkan efisiensi pemanfaatan dana. Pengoptimalan parameter stop loss dan stop loss dapat meningkatkan rasio risiko keuntungan strategi.
Strategi ini menggunakan ATR untuk mengukur volatilitas, secara dinamis menyesuaikan posisi garis tren, menangkap tren tren. Tujuan stop loss dan profit yang ditetapkan secara masuk akal, dan menggunakan stop loss yang bergerak untuk mengunci keuntungan. Parameter yang dapat disesuaikan, adaptif. Namun, strategi pemecahan tren juga rentan terhadap pengaruh situasi yang bergolak, perlu lebih banyak pengoptimalan dan perbaikan.
/*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)