
Strategi ini adalah sistem perdagangan pengesanan trend yang disahkan dalam beberapa kitaran, yang menggabungkan purata bergerak dan RSI untuk menentukan trend pasaran dan masa masuk. Strategi ini dianalisis pada dua kitaran masa 1 jam dan 15 minit untuk meningkatkan kebolehpercayaan isyarat perdagangan. Ia menggunakan sasaran berhenti dan keuntungan yang dinamik dan menggunakan kaedah pengiraan skala kedudukan berdasarkan ATR untuk menguruskan risiko.
Prinsip teras strategi ini adalah untuk mengesahkan trend melalui petunjuk teknikal untuk beberapa tempoh masa, yang meningkatkan ketepatan isyarat perdagangan. Secara khusus:
Trend 1 jam dikukuhkan:
Pengesahan masuk dalam kitaran 15 minit:
Sinyal dagangan dihasilkan:
Pengurusan Risiko:
Pengesahan pelbagai kitaran: Dengan menganalisis trend pasaran pada kitaran masa yang berbeza, risiko penembusan palsu dan isyarat palsu dapat dikurangkan dengan ketara.
Pengesanan trend digabungkan dengan momentum: purata bergerak digunakan untuk mengenal pasti trend, manakala RSI digunakan untuk mengesahkan momentum, kombinasi ini dapat meningkatkan kadar kejayaan perdagangan.
Pengurusan risiko dinamik: menggunakan ATR untuk menetapkan sasaran stop loss dan keuntungan, yang boleh disesuaikan secara automatik dengan turun naik pasaran dan menyesuaikan diri dengan keadaan pasaran yang berbeza.
Pengurusan kedudukan yang fleksibel: saiz kedudukan dikira berdasarkan saiz akaun, keutamaan risiko dan turun naik pasaran, yang membantu pertumbuhan dana yang stabil dalam jangka panjang.
Bantuan visual: Strategi memetakan pelbagai petunjuk dan isyarat pada carta untuk memudahkan peniaga memahami dan menilai peluang perdagangan secara visual.
Risiko trend reversal: Strategi mungkin mengalami kerugian berturut-turut apabila trend yang kuat berbalik.
Terlalu banyak dagangan: Dalam pasaran yang berlainan arah, mungkin terdapat terlalu banyak isyarat dagangan yang menyebabkan kos dagangan meningkat.
Risiko slippage: Dalam pasaran yang berubah dengan cepat, harga pelaksanaan sebenar mungkin berbeza dengan harga semasa isyarat dihasilkan.
Sensitiviti parameter: prestasi strategi mungkin sensitif kepada parameter seperti kitaran purata bergerak, nilai paras RSI.
Bergantung kepada keadaan pasaran: Strategi ini berfungsi dengan baik dalam pasaran yang jelas, tetapi mungkin kurang berkesan dalam pasaran yang bergolak.
Menambah penapis: memperkenalkan penunjuk teknikal tambahan atau penunjuk sentimen pasaran, seperti jumlah transaksi, kadar turun naik atau data asas, untuk meningkatkan kualiti isyarat.
Parameter penyesuaian diri: membangunkan algoritma yang dapat menyesuaikan secara dinamik tempoh purata bergerak dan penurunan RSI mengikut keadaan pasaran.
Pembelajaran Mesin Integrasi: Mengoptimumkan pemilihan parameter dan proses penjanaan isyarat menggunakan algoritma pembelajaran mesin.
Bergabung dengan pengenalan rejim pasaran: membangunkan modul yang dapat mengenal pasti keadaan pasaran yang berbeza (seperti trend, gegaran, turun naik yang tinggi, dan lain-lain) dan menyesuaikan tindakan strategi untuk keadaan yang berbeza.
Peningkatan mekanisme keluar: Selain daripada penangguhan tetap dan matlamat keuntungan, anda boleh mempertimbangkan untuk menggunakan penangguhan bergerak atau strategi keluar dinamik berdasarkan indikator.
Menambah penapisan masa: Tambah sekatan pada tetingkap masa perdagangan, mengelakkan tempoh yang kurang cair atau terlalu bergolak.
Analisis relevansi pelbagai jenis: Jika menggunakan strategi ini pada pelbagai jenis, analisis relevansi boleh ditambah untuk mengoptimumkan ciri-ciri risiko dan keuntungan portfolio keseluruhan.
Strategi perdagangan tren ini dengan pengesahan pergerakan rata-rata dan RSI dalam pelbagai tempoh menunjukkan bagaimana menggabungkan beberapa petunjuk teknikal dan tempoh masa untuk membina sistem perdagangan yang agak stabil. Strategi ini bertujuan untuk meningkatkan kejayaan dan kebolehpercayaan perdagangan dengan mengesahkan trend keseluruhan dalam jangka masa yang lebih lama dan mencari peluang masuk tertentu dalam jangka masa yang lebih pendek.
Walau bagaimanapun, seperti semua strategi perdagangan, ia tidak sempurna. Dalam aplikasi praktikal, peniaga perlu terus memantau prestasi strategi dan menyesuaikan parameter atau mengoptimumkan logik strategi sesuai dengan perubahan pasaran. Dengan pengesanan, pengoptimuman dan pengujian lapangan yang berterusan, strategi ini boleh menjadi alat perdagangan yang berpotensi, terutama untuk peniaga yang cenderung mengikuti trend pasaran dan mencari pulangan yang agak stabil.
//@version=5
strategy("SOL Futures Trading with MTF Confirmation", overlay=true)
// Input parameters
short_ma_length = input.int(9, title="Short MA Length")
long_ma_length = input.int(21, title="Long MA Length")
rsi_length = input.int(14, title="RSI Length")
rsi_overbought = input.int(70, title="RSI Overbought Level")
rsi_oversold = input.int(30, title="RSI Oversold Level")
atr_length = input.int(14, title="ATR Length")
risk_percentage = input.float(1, title="Risk Percentage", step=0.1) / 100
capital = input.float(50000, title="Capital")
// Higher Time Frame (1-hour) Indicators
short_ma_1h = request.security(syminfo.tickerid, "60", ta.sma(close, short_ma_length))
long_ma_1h = request.security(syminfo.tickerid, "60", ta.sma(close, long_ma_length))
rsi_1h = request.security(syminfo.tickerid, "60", ta.rsi(close, rsi_length))
// Lower Time Frame (15-minute) Confirmation Indicators
short_ma_15m = ta.sma(close, short_ma_length)
long_ma_15m = ta.sma(close, long_ma_length)
rsi_15m = ta.rsi(close, rsi_length)
// ATR for dynamic stop loss and take profit
atr = ta.atr(atr_length)
// Position sizing
position_size = (capital * risk_percentage) / atr
// Strategy Conditions on 1-hour chart
longCondition_1h = (short_ma_1h > long_ma_1h) and (rsi_1h < rsi_overbought)
shortCondition_1h = (short_ma_1h < long_ma_1h) and (rsi_1h > rsi_oversold)
// Entry Confirmation on 15-minute chart
longCondition_15m = (short_ma_15m > long_ma_15m) and (rsi_15m < rsi_overbought)
shortCondition_15m = (short_ma_15m < long_ma_15m) and (rsi_15m > rsi_oversold)
// Combine Conditions
longCondition = longCondition_1h and longCondition_15m
shortCondition = shortCondition_1h and shortCondition_15m
// Dynamic stop loss and take profit
long_stop_loss = close - 1.5 * atr
long_take_profit = close + 3 * atr
short_stop_loss = close + 1.5 * atr
short_take_profit = close - 3 * atr
// Plotting Moving Averages
plot(short_ma_1h, color=color.blue, title="Short MA (1H)")
plot(long_ma_1h, color=color.red, title="Long MA (1H)")
// Highlighting Long and Short Conditions
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Long Signal Background")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Short Signal Background")
// Generate Buy/Sell Signals with dynamic stop loss and take profit
if (longCondition)
strategy.entry("Long", strategy.long, qty=position_size)
strategy.exit("Long Exit", "Long", stop=long_stop_loss, limit=long_take_profit)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=position_size)
strategy.exit("Short Exit", "Short", stop=short_stop_loss, limit=short_take_profit)
// Plotting Buy/Sell Signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// // Plotting RSI
// hline(rsi_overbought, "RSI Overbought", color=color.red)
// hline(rsi_oversold, "RSI Oversold", color=color.green)
// plot(rsi_1h, title="RSI (1H)", color=color.blue)
// // Plotting ATR
// plot(atr, title="ATR", color=color.purple)