
La stratégie combine les moyennes mobiles et le volume des transactions, deux indicateurs techniques clés, et conçoit des règles d’entrée et de sortie pour les positions longues et courtes, pour former une stratégie de trading quantitative complète.
Les conditions d’entrée pour les positions longues:
Les conditions d’entrée pour les positions courtes:
La moyenne mobile rapide est inférieure à la moyenne mobile lente.
Il a été élu président de l’Assemblée Nationale.Faire plus pour remplir les conditions d’entrée à la position longue
Les positions courtes:Prise de position libre lorsque les conditions d’entrée sont remplies
Arrêt et perte: Affichage des arrêts et des arrêts de perte après avoir effectué des opérations supplémentaires
Comment améliorer:
La stratégie intègre les indicateurs de moyenne mobile et de volume de transactions, concevant une stratégie de trading quantitative complète grâce à un mécanisme de double confirmation. Elle présente les avantages d’une entrée claire, d’un stop-loss et d’une facilité d’utilisation.
/*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)