
Strategi ini adalah sistem perdagangan tren momentum yang didasarkan pada beberapa indikator teknis. Strategi ini mengidentifikasi sinyal beli dan jual pasar dengan menggabungkan indeks kekuatan relatif (RSI), divergensi konvergensi rata-rata bergerak (MACD), dan indikator stokastik. Strategi ini mengadopsi metode ambang batas probabilitas dan menggunakan normalisasi skor-Z untuk menyaring sinyal perdagangan dan meningkatkan keandalan transaksi. Strategi ini sangat cocok untuk perdagangan mengikuti tren pada tingkat harian.
Strategi ini terutama didasarkan pada tiga indikator teknis inti:
Ini adalah strategi inovatif yang menggabungkan indikator teknis klasik dengan metode statistik modern. Melalui koordinasi multi-indikator dan penyaringan ambang batas probabilitas, efisiensi perdagangan ditingkatkan sambil mempertahankan ketahanan strategi. Strategi ini memiliki kemampuan beradaptasi dan skalabilitas yang kuat dan cocok untuk perdagangan tren jangka menengah dan panjang. Meskipun ada risiko keterlambatan tertentu, kinerja perdagangan yang stabil dapat dicapai melalui optimalisasi parameter dan manajemen risiko yang wajar.
/*backtest
start: 2024-01-06 00:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI-MACD-Stochastic Strategy", shorttitle = "RMS_V1", overlay=true)
// Inputs
use_macd = input.bool(true, title="Use MACD")
use_rsi = input.bool(true, title="Use RSI")
use_stochastic = input.bool(true, title="Use Stochastic")
threshold_buy = input.float(0.5, title="Buy Threshold (Probability)")
threshold_sell = input.float(-0.5, title="Sell Threshold (Probability)")
// Indicators
// RSI
rsi_period = input.int(14, title="RSI Period")
rsi = ta.rsi(close, rsi_period)
// Stochastic Oscillator
stoch_k = ta.stoch(close, high, low, rsi_period)
stoch_d = ta.sma(stoch_k, 3)
// MACD
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
// Calculate Z-score
lookback = input.int(20, title="Z-score Lookback Period")
mean_close = ta.sma(close, lookback)
stddev_close = ta.stdev(close, lookback)
zscore = (close - mean_close) / stddev_close
// Buy and Sell Conditions
long_condition = (use_rsi and rsi < 30) or (use_stochastic and stoch_k < 20) or (use_macd and macd_line > signal_line)
short_condition = (use_rsi and rsi > 70) or (use_stochastic and stoch_k > 80) or (use_macd and macd_line < signal_line)
buy_signal = long_condition and zscore > threshold_buy
sell_signal = short_condition and zscore < threshold_sell
// Trading Actions
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)