Cette stratégie combine les indicateurs de moyenne mobile et de volume de négociation pour concevoir les règles d'entrée et de sortie longues et courtes, formant ainsi une stratégie commerciale quantitative complète.
Conditions d'entrée à long terme:
Conditions d'entrée courtes:
La MA rapide passe sous la MA lente
Entrée longue:Faites le long lorsque les conditions sont remplies.
En bref:Faites du short quand les conditions courtes sont remplies.
Profitez et arrêtez la perte:Niveau de prise de profit et de stop-loss affiché pour la position longue
Améliorations:
Cette stratégie intègre des indicateurs de MA et de volume pour concevoir une stratégie quantitative complète avec des conditions d'entrée claires, un profit / stop-loss, facile à utiliser.
/*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)