
Strategi ini menggabungkan moving average dan volume transaksi, dua indikator teknis penting, dan merancang aturan masuk dan keluar untuk posisi panjang dan pendek, untuk membentuk strategi perdagangan kuantitatif yang lengkap.
Syarat untuk masuk dalam posisi lama:
Syarat masuk untuk short position:
Rata-rata bergerak cepat di bawah rata-rata bergerak lambat
“Saya tidak tahu apa yang terjadi.Memenuhi persyaratan untuk masuk ke posisi lama
Posisi pendek masuk:Keluar dari posisi saat memenuhi persyaratan untuk masuk
Hentikan dan Hentikan Kerugian: Tampilkan stop loss dan stop loss setelah melakukan overdoing
Cara Peningkatan:
Strategi ini mengintegrasikan indikator moving average dan indikator volume transaksi, dengan mekanisme double confirmation untuk merancang strategi perdagangan kuantitatif yang lengkap. Strategi ini memiliki persyaratan masuk yang jelas, stop loss, dan operasi yang mudah. Selain itu, strategi ini juga mencegah masalah perdagangan yang sering terjadi dengan strategi linear ganda, memperhatikan kualitas data volume transaksi, dan mencegah parameter yang dioptimalkan.
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA and Volume Strategy", overlay=true)
// Input parameters
fastLength = input(9, title="Fast MA Length")
slowLength = input(21, title="Slow MA Length")
volumePercentageThreshold = input(50, title="Volume Percentage Threshold")
// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// Calculate 24-hour volume and weekly volume average
dailyVolume = request.security(syminfo.tickerid, "D", volume)
weeklyVolumeAvg = ta.sma(request.security(syminfo.tickerid, "W", volume), 7)
// Strategy conditions
longCondition = ta.crossover(fastMA, slowMA) and dailyVolume < (weeklyVolumeAvg * volumePercentageThreshold / 100)
shortCondition = ta.crossunder(fastMA, slowMA)
// Set take profit and stop loss levels
takeProfitLong = close * 1.50
stopLossLong = close * 0.90
// Strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Plot moving averages
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
// Plot 24-hour volume and weekly volume average
plot(dailyVolume, color=color.purple, title="24-Hour Volume", transp=0)
plot(weeklyVolumeAvg, color=color.orange, title="Weekly Volume Average")
// Plot entry signals
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)
// Plot take profit and stop loss levels only when a valid trade is active
plotshape(series=longCondition, title="Take Profit Long", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=longCondition, title="Stop Loss Long", color=color.red, style=shape.triangledown, size=size.small)