Larry Williams Drei-Perioden-Handelsstrategie mit dynamischem gleitendem Durchschnitt

EMA
Erstellungsdatum: 2024-05-11 17:35:22 zuletzt geändert: 2024-05-11 17:35:22
Kopie: 6 Klicks: 1109
1
konzentrieren Sie sich auf
1617
Anhänger

Larry Williams Drei-Perioden-Handelsstrategie mit dynamischem gleitendem Durchschnitt

Überblick

Dieser Artikel beschreibt eine Handelsstrategie, die auf der Larry Williams Tri-Cycle Moving Average basiert. Die Strategie verwendet zwei Index-Moving Averages (EMA) um die Preisentwicklung zu erfassen und erzeugt ein Handelssignal, wenn drei aufeinanderfolgende K-Linien-Abschlusspreise die EMA überschreiten. Die Strategieparameter sind anpassbar und gelten für verschiedene Märkte und Perioden.

Strategieprinzip

  1. Berechnen Sie zwei EMAs: Hoch- und Niedrigpreis-EMA zum Schlusskurs.
  2. Beurteilen Sie, ob die aktuelle Zeit innerhalb des festgelegten Handelsbereichs liegt.
  3. Beurteilen Sie, ob die letzten drei K-Linien in Folge oberhalb der EMA (besser) oder unterhalb der EMA (besser) eingegangen sind.
  4. Wenn 3 gegründet wird und die Position 0 ist, wird eine Überposition eröffnet; wenn 3 gegenteilig gegründet wird und eine Überposition hält, wird die Position platziert.
  5. Wenn Sie eine Position am Ende des Tages halten, ist sie leer.

Strategische Vorteile

  1. Die Parameter sind flexibel: EMA-Zyklen, Handelszeiträume und andere Parameter können an unterschiedliche Märkte angepasst werden.
  2. Trendverfolgung: Die Verwendung von EMAs und einer K-Linie zur Trendbeurteilung hilft, Trends zu erfassen.
  3. Pünktlicher Stop-Loss: Immer Platzierung, wenn der Rückschlag die EMA durchbricht.
  4. Die Position ist innerhalb des Tages platz: Schließen Sie die Position, um das Risiko über Nacht zu vermeiden

Strategisches Risiko

  1. Das Risiko von Marktschwankungen: Häufiger Handel kann zu Verlusten führen, wenn die Trends unklar sind.
  2. Parameterrisiken: Die Performance von verschiedenen Parametern in verschiedenen Märkten variiert stark und erfordert eine gezielte Optimierung.
  3. Das Risiko einer Leerlauf-Lücke: Leerlauf kann zu einem schlechten Preis führen, was das Risiko erhöht.

Richtung der Strategieoptimierung

  1. Trendfilter: Mit Hilfe von Indikatoren wie ATR, RSI, etc. kann die Stärke des Trends ermittelt werden.
  2. Optimierung der dynamischen Parameter: Anpassung der Parameter an die dynamischen Parameter der jüngsten Markteigenschaften, um die Anpassungsfähigkeit zu verbessern.
  3. Positionsmanagement: Anpassung der Positionen an die Stärken und Schwächen der Trends und die Finanzsituation, Risikokontrolle.
  4. Einsatz von Stop-Loss-Stopps: Setzen Sie angemessene Stop-Loss-Levels und Stop-Loss-Ziele, um das Risiko eines einzelnen Handels zu verringern.

Zusammenfassen

Die Larry Williams Tri-Cycle Dynamic Equalization Trading Strategy ist eine Trendverfolgungsstrategie, die auf einer Doppel-EMA und einer kontinuierlichen K-Linien-Richtung basiert und sich durch Parameteroptimierung an verschiedene Märkte anpasst. Die Strategie selbst ist jedoch relativ einfach, schlechte Performance in schwankenden Märkten und fehlende Wind-Control-Maßnahmen erfordern weitere Optimierungen und Verbesserungen.

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

//@version=5
strategy("Larry Williams 3 Periodos Editável de MarcosJr", overlay=true, process_orders_on_close=true)

// Parametrização do período do EMA
emaPeriodHighs = input.int(title="Highs Period", defval=3, minval=1, maxval=9999)
emaPeriodLows = input.int(title="Lows Period", defval=3, minval=1, maxval=9999)

// Parametrização da data de início e fim do período a ser coletado
startYear = input.int(title="Start Year", defval=2020)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startDay = input.int(title="Start Day", defval=1, minval=1, maxval=31)

endYear = input.int(title="End Year", defval=2020)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endDay = input.int(title="End Day", defval=31, minval=1, maxval=31)

// Convertendo data de início e fim para timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// EMA
emaH = ta.ema(high, emaPeriodHighs)
emaL = ta.ema(low, emaPeriodLows)

// PLOT:
// Desenha as linhas EMA no gráfico
plot(emaH, color=color.green, linewidth=2)
plot(emaL, color=color.red, linewidth=2)

// Condições
inDateRange = true

// Verifica se houve mais de três candles consecutivos do mesmo sentido
checkThreeConsecutiveCandles = (close[0] > close[1] and close[1] > close[2] and close[2] > close[3]) or (close[0] < close[1] and close[1] < close[2] and close[2] < close[3])

if(close < emaL and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.entry("Long", strategy.long, comment="Long", when=strategy.position_size == 0)
if(close > emaH and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.close("Long", comment="Close Long")

// Fechar a operação no fechamento do pregão
if(strategy.position_size > 0 and na(time_close[0]))
    strategy.close("Long", comment="Close Long")