
Diese Strategie verwendet die Strategie, die Larry Williams in seinem Buch The Secret Short Term Trading Kit erklärt hat. Die Strategie verwendet zwei 3-Perioden-Moving Averages, einen für die Höhen und einen für die Tiefen. Wir haben ein Long-Position-Signal, wenn der Preis unter dem 3-Perioden-Low Moving Average liegt.
Die Kernlogik der Strategie ist die Berechnung von 3-Perioden-Moving-Averagen für die Höhen und Tiefen. Konkret verwendet sie die ta.ema-Funktion, um die Index-Moving-Averagen für die Höhen und Tiefen der letzten 3 Bars zu berechnen, um dynamische Unterstützungs- und Widerstandspunkte zu erzeugen. Wenn der Preis unter dem niedrigen Mittelwert fällt, zeigt dies an, dass er derzeit in einem Abwärtstrend ist, so dass wir mehr tun können.
Der größte Vorteil dieser Strategie liegt in ihrer Einfachheit und Dynamik. Im Vergleich zu herkömmlichen Periodenschwankungen verwendet sie einen kontinuierlich berechneten kurzfristigen gleitenden Durchschnitt, der die Preisänderungen empfindlicher und zeitnah erfasst. Dies ermöglicht es, schnell Kauf- und Verkaufspunkte zu identifizieren und so in den Markt ein- und auszusteigen.
Das Hauptrisiko dieser Strategie besteht darin, dass sie auf unvorhergesehene Ereignisse wie wichtige Nachrichtenereignisse langsam reagiert. Aufgrund ihrer kurzen Moving-Average-Periode benötigt sie eine gewisse Zeit, um die Position der Mittellinie bei starken Preisschwankungen anzupassen. Dies kann zu Verlusten oder verpassten Chancen führen.
Die Strategie hat noch viel Optimierungsmöglichkeiten. Erstens können wir andere Indikatoren wie die Schwingungsindikatoren filtern, um das Signal zuverlässiger zu machen. Zweitens können wir auch die Stop-Loss-Logik hinzufügen, um das Risiko zu kontrollieren.
Diese Strategie ist sehr einfach und praktisch, um Trends anhand von kurzfristigen Mittelwerten mit hohen und niedrigen Punkten zu beurteilen. Ihre Vorteile sind dynamisch, geringe Berechnungsmenge, hohe Echtzeit und geeignet für häufige Transaktionen. Es gibt jedoch auch Probleme mit der Unempfindlichkeit der Reaktion auf Ereignisse und der hohen Fehlerrate der Signale.
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(
"Larry Williams 3 Period EMAs strategy",
overlay=true,
calc_on_every_tick=true,
currency=currency.USD
)
// Time range for backtesting
startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year", defval=2018, minval=1800, maxval=2100)
endDate = input.int(title="End Date", defval=31, minval=1, maxval=31)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endYear = input.int(title="End Year", defval=2041, minval=1800, maxval=2100)
inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and
(time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
// EMA
period = 3
emaH = ta.ema(high, period)
emaL = ta.ema(low, period)
// PLOT:
// Draw the EMA lines on the chart
plot(series=emaH, color=color.green, linewidth=2)
plot(series=emaL, color=color.red, linewidth=2)
// Conditions
if(inDateRange and close < emaL)
strategy.entry("Long", strategy.long, comment="Long")
if(close > emaH)
strategy.close("Long", comment="Close Long")
// Uncomment to enable short entries
//if(inDateRange and close > emaH)
// strategy.entry("Short", strategy.short, comment="Short")
//if(close < emaL)
// strategy.close("Short", comment="Close Short")