Diese Strategie ist ein Dynamik-Trend-System auf der Grundlage von doppelten gleitenden Durchschnitten, das Crossover-Signale von schnellen und langsamen gleitenden Durchschnitten mit einer Filterlinie kombiniert, um den Einstiegszeitraum zu optimieren und stabile Handelsergebnisse durch ein ordnungsgemäßes Geldmanagement und Risikokontrolle zu erzielen.
Die Strategie verwendet 11-Perioden- und 31-Perioden-Simple Moving Averages (SMA) als Hauptsignalsystem, mit einem 5-Perioden-Geschwindigkeitsdurchschnitt als Filter. Lange Eintrittssignale werden erzeugt, wenn die schnelle Linie (SMA11) über die langsame Linie (SMA31) kreuzt und der Preis über dem Filterdurchschnitt liegt. Positionen werden geschlossen, wenn die schnelle Linie unter die langsame Linie kreuzt. Die Strategie implementiert das Risikomanagement durch feste Positionsgröße.
Die Strategie baut einen relativ robusten Trend nach dem System durch mehrere gleitende Durchschnitte auf. Obwohl sie einige inhärente Einschränkungen aufweist, können Stabilität und Rentabilität durch entsprechende Optimierung und Verbesserungen weiter verbessert werden.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Nifty 30m SMA Crossover Long', overlay=true) start = timestamp(2020, 1, 1, 0, 0) end = timestamp(2024, 12, 31, 0, 0) SlowSma = ta.sma(close, 31) FastSma = ta.sma(close, 11) FilterSma = ta.sma(close, 5) plot(SlowSma, title='Sma 31', color=color.new(color.green, 0)) plot(FastSma, title='Sma 11', color=color.new(color.red, 0)) plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0)) // strategy LongEntry = FastSma > SlowSma and close > FilterSma LongExit = FastSma < SlowSma MyQty = 10000000 / close // // Plot signals to chart // plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0)) // plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0)) // plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0)) // plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0)) if time >= start and time < end strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry) strategy.close('Enter Long', when=LongExit)