
Die Strategie kombiniert zwei wichtige technische Indikatoren, den Moving Average und den Trading Volume, und entwirft die Ein- und Ausstiegsregeln für Long- und Short-Positions zu einer vollständigen Quantifizierungs-Trading-Strategie.
Die Eintrittsbedingungen für Long-Positions sind:
Eintrittsbedingungen für Short-Positions:
Der schnelle gleitende Durchschnitt unter dem schnellen gleitenden Durchschnitt
Das ist eine sehr schwierige Situation.Das sind die Bedingungen für den Einstieg in die Long-Holding-Geschäft.
Kurzfristige Eintritte:Leerstellung bei Erfüllung der Eintrittsvoraussetzungen für eine Short-Position
Stop & Loss: Das sind die wichtigsten Punkte. Anzeige von Stop-Loss- und Stop-Over-Positionen
Wie kann ich mich verbessern?
Die Strategie integriert Moving Average Indicator und Trading Volume Indicator und entwirft eine vollständige quantitative Trading Strategie durch eine doppelte Bestätigungsmechanismus. Sie hat die Vorteile von klaren Einstiegsbedingungen, Stop Losses und einfacher Bedienbarkeit. Gleichzeitig wird die häufige Trading-Problematik der Binär-Evenline-Strategie verhindert, die Qualität der Handelsvolumen-Daten berücksichtigt und die Überoptimierung der Parameter verhindert.
/*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)