
Strategi ini adalah strategi pengesanan trend berdasarkan sistem pelbagai garis rata dan indikator RSI. Strategi ini menggunakan kombinasi purata bergerak 20, 50 dan 200 kitaran untuk menilai trend pasaran dengan menganalisis hubungan kedudukan antara garis rata yang berbeza, dan digabungkan dengan indikator RSI untuk pengesahan isyarat perdagangan.
Strategi ini adalah strategi untuk menentukan trend pasaran dengan menganalisis hubungan kedudukan relatif antara tiga garis rata-rata (MA20, MA50, MA200). Strategi ini mentakrifkan 18 senario kombinasi garis rata yang berbeza, dengan tumpuan kepada persilangan garis rata-rata dan hubungan kedudukan. Apabila garis rata-rata jangka pendek berada di atas garis rata-rata jangka panjang, cenderung untuk melakukan overbought; sebaliknya cenderung untuk melakukan shorting.
Ini adalah strategi pengesanan trend yang strukturnya lengkap dan logiknya jelas. Dengan penggunaan sistem garis rata berganda yang dikombinasikan dengan penapisan RSI, ia membentuk sistem perdagangan yang agak dipercayai. Mekanisme pengurusan risiko strategi ini dirancang dengan munasabah, dengan cara mengesan henti kerugian untuk melindungi keuntungan dan tidak meninggalkan terlalu awal.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Refined MA Strategy with Trailing Stop for 30m", overlay=true)
// Define the moving averages
TR20 = ta.sma(close, 20)
TR50 = ta.sma(close, 50)
TR200 = ta.sma(close, 200)
// Define the RSI for additional filtering
rsi = ta.rsi(close, 14)
// Define the scenarios
scenario1 = TR20 > TR50 and TR50 > TR200
scenario2 = TR50 > TR20 and TR20 > TR200
scenario3 = TR200 > TR50 and TR50 > TR20
scenario4 = TR50 > TR200 and TR200 > TR20
scenario5 = TR20 > TR200 and TR200 > TR50
scenario6 = TR200 > TR20 and TR20 > TR50
scenario7 = TR20 == TR50 and TR50 > TR200
scenario8 = TR50 == TR20 and TR20 > TR200
scenario9 = TR200 == TR50 and TR50 > TR20
scenario10 = TR20 > TR50 and TR50 == TR200
scenario11 = TR50 > TR20 and TR20 == TR200
scenario12 = TR20 > TR50 and TR50 == TR200
scenario13 = TR20 == TR50 and TR50 == TR200
scenario14 = TR20 > TR50 and TR200 == TR50
scenario15 = TR50 > TR20 and TR200 == TR50
scenario16 = TR20 > TR50 and TR50 == TR200
scenario17 = TR20 > TR50 and TR50 == TR200
scenario18 = TR20 > TR50 and TR50 == TR200
// Entry conditions
longCondition = (scenario1 or scenario2 or scenario5) and rsi < 70
shortCondition = (scenario3 or scenario4 or scenario6) and rsi > 30
// Execute trades based on scenarios with 50 points stop loss and 1:10 RR, using a trailing stop of 25 points
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", from_entry="Long", limit=close + 250, trail_offset=25)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", from_entry="Short", limit=close - 250, trail_offset=25)