
Die Strategie ist eine einfache klassische Überschreitung der Moving-Average-Strategie, die von dem bekannten Trader Larry Williams erstellt wurde. Die Strategie verwendet den 9-Tage-Simple-Moving-Average als Schnelllinie und den 21-Tage-Index-Moving-Average als Langstrecke.
Die Strategie basiert auf einem Goldkreuz und einem Todkreuz des beweglichen Durchschnitts, um die Gelegenheit zu entscheiden, ob man ein Plus oder ein Minus macht. Wenn die Schnelle Linie von unten durch die langsame Linie geht, wird ein Goldkreuz als bullish bezeichnet, und ein Durchbruch ist ein Plus; wenn die Schnelle Linie von oben durch die langsame Linie geht, wird ein Todkreuz als bearish bezeichnet, und ein Durchbruch ist ein Minus.
Um zu vermeiden, dass ein Falschbruch zu einem virtuellen Verlust führt, wird eine Strategie eingeführt, um die 21 Tage Linie zu beurteilen. Die Handelsaktion wird nur durchgeführt, wenn der Preis die 21 Tage Linie gleichzeitig mit dem Schnellbruch durchbricht. So können viele Falschbrüche effektiv gefiltert werden.
Konkret ist das Übermaß des Signals: Die Schnelllinie überschreitet den gestrigen Hochpunkt, während die Schnelllinie die 21-Tage-Linie überschreitet, so dass der Mehrkopf errichtet wird; das Leerlaufsignal ist: Die Schnelllinie fällt den gestrigen Tiefpunkt überschreitet, während die Schnelllinie die 21-Tage-Linie überschreitet, so dass der Leerlauf errichtet wird.
Die Vorteile dieser Strategie sind:
Diese Strategie birgt folgende Risiken:
Diese Risiken können optimiert und kontrolliert werden, indem:
Die Strategie kann vor allem in folgenden Bereichen optimiert werden:
Parameteroptimierung. Die Kombination von MA-Parametern kann systematischer getestet werden, um bessere Parameter zu finden.
Erhöhung des Stop-Losses. Die Einrichtung eines angemessenen Moving-Stop-Systems und eines Schrumpf-Stop-Systems, um Einzelschäden wirksam zu kontrollieren.
In Kombination mit anderen Indikatoren. Einführung von anderen Indikatoren wie MACD, ATR, KD, um mehr Dimensionen der Bestätigung zu erhalten und die Strategie zu verbessern.
Optimierung der Ausstiegsmechanismen. Untersuchen Sie verschiedene Arten von Ausstiegsstrategien, wie z. B. Rückwärtssignal-Ausstiegs-Methoden, Bewegungssperren-Ausstiegs-Methoden.
Die Überschreitung der Moving Average-Strategie ist insgesamt eine sehr typische und praktische Trend-Tracking-Strategie. Sie hat die Vorteile, dass sie leicht zu verstehen und zu implementieren ist, aber auch einige Verbesserungsmöglichkeiten. Durch Parameteroptimierung, Stop-Loss-Optimierung, Multi-Indicator-Kombination und andere Methoden kann die Strategie kontinuierlich verbessert werden, um sie zu einem stabileren und praktischeren Handelssystem zu machen.
// @_benac
//@version=5
strategy('Larry', overlay=true , initial_capital=1000 )
////////////////////////////////////////////////////////
// //
// //
// Codigo Operacional //
// //
// //
////////////////////////////////////////////////////////
// Usage for Stocks , or Criptos with value bigger then 1, cuz of 0.01 ´pip.
// Daily timeframe
//Observation Point
start = timestamp(2020, 00, 00, 00, 00) // backtest start window
finish = timestamp(2022, 01, 07, 23, 59) // backtest finish window
window() => true // create function "within window of time"
if time < start
strategy.close_all("Closing All")
// Take infos from inputs.
inp_mmshort = input.int(defval = 9, title = "Media Curta" )
inp_mminter = input.int(defval = 21, title = "Media Curta" )
// Risk Manager, here define max and min
inp_max = input.int(defval = 15, title = "Percentual Ganho" )
inp_min = input.int(defval = 5, title = "Percental Perda" )
// Converting the input to %
pmax = (inp_max / 100 )
pmin = (inp_min / 100)
// Infos From Moving Average
mm_short = ta.sma(close , inp_mmshort)
mm_inter = ta.ema(close , inp_mminter)
// Trend Logic
//Long Condition
//Setup do Larry Willians Bem Simples , media virou para cima e rompeu a maxima de referencia, compra.
tendencia_alta = mm_short[2] > mm_short[1] and mm_short > mm_short[1] and close > high[1] and close > mm_short and mm_short > mm_inter
tendencia_baixa = mm_short[2] < mm_short[1] and mm_short < mm_short[1] and close > low[1] and close < mm_short and mm_short < mm_inter
// Creating the entry
if tendencia_alta
strategy.entry("Compra" , strategy.long , stop = low - 0.01 )
stop_inst = low - 0.01
if tendencia_baixa
strategy.entry("Venda" , strategy.short , stop= high + 0.01 )
stop_inst = high + 0.01
// TrailingStop Creation
// Sell Position
if strategy.position_size < 0
gain_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmax)
stop_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmin)
// Managing the position
if close < gain_p
strategy.close_all(comment = " 1 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p) )
if close > stop_p
strategy.close_all(comment = " 2 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p) )
if high > mm_short[1]
strategy.close_all(comment = " 3 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p) )
// Buy Position
if strategy.position_size > 0
gain_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmax)
stop_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmin)
// Managing the position
if close > gain_p
strategy.close_all(comment = " 1- Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p) )
if close < stop_p
strategy.close_all(comment = " 2 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p) )
if low < mm_short[1]
strategy.close_all(comment = " 3 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p) )