
Strategi ini adalah strategi pelacakan tren yang didasarkan pada sistem garis rata-rata ganda dan indikator RSI. Strategi ini menggunakan kombinasi rata-rata bergerak dengan periode 20, 50 dan 200, untuk menilai tren pasar dengan menganalisis hubungan posisi antara berbagai garis rata-rata, dan digabungkan dengan indikator RSI untuk konfirmasi sinyal perdagangan. Strategi ini menetapkan stop loss dan profit target yang dinamis untuk melindungi keuntungan yang diperoleh dengan cara melacak stop loss.
Inti dari strategi ini adalah untuk menentukan tren pasar dengan menganalisis hubungan posisi relatif antara tiga garis rata-rata (MA20, MA50, MA200). Strategi ini mendefinisikan 18 skenario kombinasi rata-rata yang berbeda, dengan fokus pada persilangan rata-rata dan hubungan posisi. Ketika rata-rata jangka pendek berada di atas garis rata-rata jangka panjang, kecenderungan untuk melakukan overbought; sebaliknya, kecenderungan untuk melakukan shorting.
Ini adalah strategi pelacakan tren yang terstruktur dan logis dengan jelas. Dengan penggunaan sistem multi-linear yang dikombinasikan, digabungkan dengan penyaringan indikator RSI, membentuk sistem perdagangan yang relatif andal. Mekanisme manajemen risiko strategi ini dirancang secara rasional, dengan cara melacak stop loss yang melindungi keuntungan dan tidak akan keluar terlalu cepat.
/*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)