Strategie der gleitenden Durchschnittsdifferenz mit null Kreuz

Schriftsteller:ChaoZhang, Datum: 2024-01-26 15:45:03
Tags:

img

Übersicht

Strategieprinzip

  1. Berechnen Sie den exponentiellen gleitenden 8-Zeitrahmen-EMA und den niedrigsten gleitenden Durchschnitt der letzten 8 Tage
  2. Berechnen Sie die Differenz zwischen dem Preis und dem aktuellen gleitenden Durchschnitt
  3. Wenn Diff unter 0 liegt, ist es ein Bärensignal, wenn Diff über 0 geht, ist es ein Tiefdivergenzsignal, was auf Aufwärtsbewegung hinweist.
  4. Kombinieren Sie den numerischen Wert von Diff, um den maximalen Rückgang in der letzten Woche zu vergleichen, um Handelssignale zu generieren

Analyse der Vorteile

  1. Die Verwendung des doppelten gleitenden Durchschnittssystems kann falsche Durchbrüche effektiv filtern
  2. Anwendung der Mindestpreistheorie zur Erkennung von Tiefstsignal
  3. Numerischer Vergleich zur Beurteilung von überverkauften und übergekauften Konditionen, Vermeidung der Verfolgung von Höchstständen und Abbau von Tiefständen

Risikoanalyse

  1. Die Strategie der doppelten gleitenden Durchschnittswerte ist anfällig für Whipsaw-Effekte
  2. Notwendigkeit, dem Problem der übermäßigen Handelsfrequenz Aufmerksamkeit zu schenken
  3. Eine angemessene Einstellung der gleitenden Durchschnittsparameter ist von entscheidender Bedeutung

Optimierungsrichtlinien

  1. Anpassung der Periodenparameter des gleitenden Durchschnitts an verschiedene Zyklen
  2. Erhöhen Sie die Lautstärken, um falsche Durchbruchsignale zu filtern.
  3. Kombination des Stochastischen Indikators, um Überverkauf und Überkauf zu vermeiden

Zusammenfassung


/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Estratégia diferença menor preço de 8")

// Configuração da Média Móvel
emaPeriod = 8

ema= ema(close, emaPeriod)
ema1= ema(close[1], emaPeriod)
lowestEMA = lowest(ema, 8)

// Calcula a diferença entre o preço e a média móvel
diff = close - ema
diff1 = close[1] - ema1
diffLow = ema - lowestEMA

//Condições
diffZero = diff < 0
diffUnder = diff < diffLow
diffUm = diff > 0
Low0 = diffLow == 0




// Sinais de entrada
buy_signal = diffUnder and crossover(diff, diff1) 
sell_signal = diffUm and diffUnder and crossunder(diff, diff1)

// Executa as operações de compra/venda
if buy_signal
    strategy.entry("Buy", strategy.long)
if sell_signal
    strategy.exit("Buy")

// Plota as linhas
plot(0, title="Linha Zero", color=color.gray)
plot(diff, title="Diferença", color=color.blue, linewidth=2)

plot(diffLow, title="Diferença", color=color.red, linewidth=2)


Mehr