
Die Williams Whale Strategie ist eine Trendverfolgungsstrategie, die die Richtung der Tendenz anhand der Whale-Cage-Form aus drei verschiedenen Perioden des Moving Averages bestimmt. Wenn die Schnelllinie höher als die Mittellinie, die Mittellinie höher als die langsame Linie ist, bilden Sie einen Aufwärtstrend, machen Sie mehr; wenn die Schnelllinie niedriger als die Mittellinie ist, die Mittellinie niedriger als die langsame Linie ist, bilden Sie einen Abwärtstrend, machen Sie leer.
Die Strategie verwendet SMAs mit drei unterschiedlichen Periodenlängen: schnelle SMA1, mittlere SMA2 und langsame SMA3. Dabei ist SMA1 die kürzeste und SMA3 die längste Periode.
Wenn sma1 über sma2 und sma2 über sma3 geht, bedeutet dies, dass der Markt in einem Aufwärtstrend ist und eine Aufwärtskrake bildet, die nach der Theorie des Trendhandels mehr eingesetzt werden sollte.
Umgekehrt, wenn sma1 unter sma2 und sma2 unter sma3 ist, bedeutet dies, dass der Markt in einem Abwärtstrend ist und eine Abwärtstrend bildet, in der die Eintrittsphase frei sein sollte.
Die Ausgangskonditionen für Über- und Überschläge werden in drei Gleichlinien neu angeordnet, wobei die schnelle Linie unter der mittleren Linie oder die mittlere Linie unter der langsamen Linie liegt.
Die Strategie zeichnet auch die Hintergrundfarbe aus, um die Richtung des Trends zu bestimmen, wobei grün für einen Aufwärtstrend und rot für einen Abwärtstrend steht.
Insgesamt nutzt die Strategie die Vorteile eines beweglichen Durchschnitts, um die Richtung des Trends mit der Form des Wurmspitzes zu bestimmen und eine eher typische Trend-Tracking-Strategie zu betreiben.
Die folgenden Maßnahmen können zur weiteren Optimierung dieser Risiken eingesetzt werden:
Es wird eine Trendfilter-Bedingung eingeführt, um die Häufigkeit von Positionen in den schwankenden Märkten zu vermeiden.
Optimierung der Ausgangskonditionen, in Kombination mit Trendindikatoren, um zu beurteilen, wann die Position platziert wird.
Erhöhen Sie Ihre Stop-Loss-Strategie und kontrollieren Sie Ihre Einzelschäden.
Die Verwendung von Adaptive Moving Averages ermöglicht eine dynamische Anpassung der Periodenergie.
Die Strategie kann in folgenden Bereichen weiter optimiert werden:
Erhöhung der Trendstärke und -schwäche und Vermeidung eines vorzeitigen Eintritts in einen flachen oder wackligen Trend. Zusätzliche Beurteilungen wie MACD, KDJ und andere können eingeführt werden.
Optimieren Sie die Periodizität der Moving Average-Parameter, um die beste Kombination zu finden. Die optimale Parameter können durch Rückverfolgung von Mehrgruppenparametern gefunden werden.
Die Anpassung an die Moving Averages ermöglicht die Anpassung der Zyklen an die Marktdynamik.
Erhöhung von Stop-Loss-Strategien, wie Tracking-Stops und Balance-Stops, um das Risiko zu kontrollieren.
Optimierung der Zulassungsbedingungen, Filterung von Indikatoren wie Anzahl der Eintritte, Brin-Band und so weiter, um die Zulassungsgenauigkeit zu verbessern.
Optimierung der Ausgangskonditionen, um die Wahrscheinlichkeit einer Trendwende in Kombination mit Trendindikatoren bei der Dreilinie-Kreuzung zu bestimmen und das Ausgangsrisiko zu verringern.
Die Williams-Wildschwein-Strategie ist eine typische Trend-Tracking-Strategie. Sie bildet die Richtung der Wildschwein-Trends durch schnelle und langsame drei bewegliche Durchschnittswerte und tritt in Gang. Die Strategie hat den Vorteil, dass die Handelslogik einfach und leicht zu bedienen ist. Der Nachteil ist die schwache Genauigkeit der Trends und die schwache Risikokontrolle.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=3
strategy(title = "Noro's Alligator Strategy by Bill Williams", shorttitle = "Alligator", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len1 = input(50, defval = 50, minval = 1, title = "MA 1 Length")
len2 = input(100, defval = 100, minval = 1, title = "MA 2 Length")
len3 = input(200, defval = 200, minval = 1, title = "MA 3 Length")
src = input(close, title = "Source")
showbg = input(false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//MAs
sma1 = sma(src, len1)
sma2 = sma(src, len2)
sma3 = sma(src, len3)
plot(sma1, color = lime, linewidth = 2)
plot(sma2, color = blue, linewidth = 2)
plot(sma3, color = red, linewidth = 2)
//Signals
up = sma1 > sma2 and sma2 > sma3
dn = sma1 < sma2 and sma2 < sma3
//Background
trend = 0
trend := up ? 1 : dn ? -1 : trend[1]
col = showbg == false ? na : trend == 1 ? lime : red
bgcolor(col)
//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up
strategy.entry("Long", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
strategy.entry("Short", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()