Doppelte gleitende Durchschnittskanal-Ausbruchs-SMA-Strategie


Erstellungsdatum: 2023-10-23 17:08:51 zuletzt geändert: 2023-10-23 17:08:51
Kopie: 0 Klicks: 604
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte gleitende Durchschnittskanal-Ausbruchs-SMA-Strategie

Diese Strategie basiert auf dem Kanalbruchprinzip und nutzt die Gleichgewichtskreuzung als Ausstiegssignal für den Handel mit Futures und Indizes.

Strategieprinzip

  1. Berechnung der Höchst- und Tiefstpreise innerhalb eines bestimmten Zeitraums, Aufbau eines Auf- und Abwärtskanals.

  2. Wenn die Preise den oberen Kanal durchbrechen, machen Sie mehr; wenn die Preise den unteren Kanal durchbrechen, machen Sie weniger.

  3. Berechnen Sie die durchschnittliche Linie der beiden SMA für die schnelle und die langsame Periode.

  4. Wenn Sie mehr machen, schleppen Sie die schnelle SMA mit einer langsamen SMA und schließen Sie die Positionen aus. Wenn Sie kurz machen, schleppen Sie die schnelle SMA mit einer langsamen SMA und schließen Sie die Positionen.

Analyse der Stärken

  1. In Kombination mit einem Kanal- und Einheitlichkeitssystem kann die Gewinnwahrscheinlichkeit erhöht werden.

  2. Die Ankel-Phasen werden mit einem Gang beurteilt und die Endtrends mit einer Gleichlinie.

  3. Durch einheitliche Filter können Whipsaws vermieden und unnötige Transaktionen reduziert werden.

  4. Die Parameter für den Kanalbereich sind anpassbar für unterschiedliche Zyklen und Marktfluktuationen.

Risikoanalyse

  1. Unzureichend eingestellte Durchgangsbereiche können zu verpassten Durchbrüchen führen oder zu weiteren False-Breakings führen.

  2. Die Parameter für die Durchschnittslinie sind falsch eingestellt und können zu früh oder zu spät zum Ausstieg führen.

  3. Es ist notwendig, eine angemessene Verwaltung der Positionsgröße zu berücksichtigen, um zu verhindern, dass ein einzelner Verlust zu groß ist.

  4. Es ist wichtig zu beachten, ob der Durchbruch wirksam ist, um zu verhindern, dass ein Nachjagd-Tropfen auftritt.

Optimierungsrichtung

  1. Tests zur Ertrags- und Gewinnrate von Strategien unter verschiedenen Parametern, Optimierung des Kanalbereichs und des Durchschnittszyklus.

  2. In Kombination mit Trendindikatoren filtern Sie die Durchbruchsignale und erhöhen die Durchbruchrate.

  3. Die Einführung von Positionsmanagement-Mechanismen wie Fixed Share, Martingale usw.

  4. Ein zusätzlicher Stop-Loss-Mechanismus zur Kontrolle von Einzelschäden.

Zusammenfassen

Die Strategie nutzt die Kanäle, um Marktbewegungen und -heißpunkte zu beurteilen, die Tendenz zu beurteilen, die Tendenz zu beenden, und die Einstellung von vernünftigen Parametern kann zu stabilen Erträgen in starken Märkten führen. Die Vermeidung von Verlusten, die durch Whipsaw verursacht werden können, ist jedoch von entscheidender Bedeutung, während die Optimierung der Positionen und des Risikomanagements erforderlich ist. Die Strategie kann durch die Anpassung der Parameter, die Verwendung von Signalfilterung und Risikokontrollen weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-13 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © anshuanshu333

//@version=4

// strategy("ChBrkOutStrategySMA", overlay=true, initial_capital = 200000)
length = input(title="Length", type=input.integer, minval=1, maxval=1000, defval=7)
     
fastSMA = sma(close,9)
slowSMA = sma(close,21)

upBound = highest(high, length)
downBound = lowest(low, length)

boundLongEntry = ((close >= upBound) or (high >= upBound)) and fastSMA>slowSMA and (close > open)
boundShortEntry =((close <= downBound) or (low <= downBound)) and fastSMA<slowSMA and (close <open)

u=plot(upBound, title = "Upper Bound",color=color.blue, linewidth=1)
l=plot(downBound, title = "Lower Bound",color=color.red, linewidth=1)
plot(fastSMA,title = "Fast SMA", color = color.red, linewidth =2)
plot(slowSMA,title = "Slow SMA" ,color = color.green, linewidth =1)
fill(u,l, transp=95)
plot(avg(upBound,downBound), title = "Avg", color=color.gray,linewidth =1)

     
if (boundLongEntry )
    strategy.entry("LE", long = true)
    
if (boundShortEntry)
    strategy.entry("SE", long = false)
    
SmaLongExit = crossunder(fastSMA,slowSMA)
SmaShortExit = crossover(fastSMA,slowSMA)

    
//Close TRades   
if (strategy.position_size > 0)
    strategy.close(id="LE",when= SmaLongExit)
if (strategy.position_size < 0)
    strategy.close(id="SE",when= SmaShortExit)