Strategi ini adalah sistem mengikuti trend berdasarkan analisis teknikal, menggabungkan purata bergerak, penunjuk momentum RSI, dan penunjuk turun naik ATR untuk mengesahkan peluang perdagangan melalui pengesahan isyarat berbilang. Strategi ini menggunakan persilangan purata bergerak pelbagai tempoh untuk menentukan trend pasaran, menggabungkan momentum RSI untuk mengesahkan kekuatan harga, dan akhirnya menggunakan ATR untuk menetapkan tahap stop-loss dan mengambil keuntungan secara dinamik, membentuk sistem perdagangan yang lengkap.
Logik teras strategi ini merangkumi tiga komponen utama:
Strategi ini membina sistem trend yang lengkap secara logik dengan mengintegrasikan beberapa penunjuk teknikal. Kelebihan strategi ini terletak pada pengesahan isyarat berbilang dan pengurusan risiko dinamik, tetapi perhatian juga harus diberikan kepada penanganan kelewatan trend dan pecah palsu. Melalui penambahan pengesahan jumlah dan pengoptimuman tetapan parameter, strategi ini masih mempunyai ruang yang signifikan untuk peningkatan. Secara keseluruhan, strategi ini sesuai untuk beroperasi di pasaran yang jelas trend dan mempunyai nilai aplikasi yang baik untuk mengesan trend jangka menengah hingga panjang.
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bullish Engulfing with EMA Crossover and ATR-Based SL/TP with RSI Filter", overlay=true) // Inputs for moving averages short_ema_length = input.int(100, title="Short EMA Length") long_ema_length = input.int(200, title="Long EMA Length") // RSI Input rsi_length = input.int(14, title="RSI Length") rsi_threshold = input.float(50, title="RSI Threshold") // Calculate the Exponential Moving Averages (EMAs) short_ema = ta.ema(close, short_ema_length) long_ema = ta.ema(close, long_ema_length) // Plot EMAs on the chart plot(short_ema, color=color.blue, title="100 EMA") plot(long_ema, color=color.red, title="200 EMA") // Calculate RSI rsi_value = ta.rsi(close, rsi_length) // Plot RSI on a separate panel hline(rsi_threshold, "RSI Threshold", color=color.gray) plot(rsi_value, color=color.purple, title="RSI") // Bullish Engulfing Pattern bullish_engulfing = close > open[1] and open < close[1] and close > open // Define strategy entry condition with RSI filter long_condition = bullish_engulfing and short_ema > long_ema and rsi_value > rsi_threshold // Plot a buy signal when conditions are met plotshape(long_condition, style=shape.labelup, location=location.belowbar, color=color.green, title="Buy Signal", text="BUY") // ATR Calculation atr_length = input.int(14, title="ATR Length") atr_value = ta.atr(atr_length) // Define Stop Loss and Take Profit as levels stop_loss_level = 1.1 * atr_value take_profit_level = 2.0 * atr_value // Execute Strategy Entry if (long_condition) strategy.entry("Buy", strategy.long) // Adjust SL and TP levels using the entry price if (strategy.position_size > 0) // Calculate SL and TP relative to the entry price stop_price = strategy.position_avg_price - stop_loss_level limit_price = strategy.position_avg_price + take_profit_level // Exit strategy with SL and TP strategy.exit("Exit", from_entry="Buy", stop=stop_price, limit=limit_price)