Dies ist eine einfache und klassische gleitende Durchschnitts-Crossover-Strategie, die von dem berühmten Trader Larry Williams entwickelt wurde. Die Strategie verwendet 9-tägigen einfachen gleitenden Durchschnitt als schnelle Linie und 21-tägigen exponentiellen gleitenden Durchschnitt als langsame Linie. Es geht lang, wenn der Preis über die 9-tägige Linie bricht, und geht kurz, wenn der Preis unter die 9-tägige Linie bricht. Um falsche Ausbrüche zu filtern, wird die 21-tägige Linie auch verwendet, um den Trend zu bestätigen.
Die Strategie basiert auf dem goldenen Crossover und dem Death Crossover von gleitenden Durchschnitten, um lange und kurze Chancen zu bestimmen. Wenn die schnelle Linie über die langsame Linie von unten bricht, ist es ein goldener Crossover, der eine Veränderung in einen bullischen Trend anzeigt.
Um falsche Ausbrüche zu vermeiden, die zu virtuellen Verlusten führen, wird die 21-Tage-Linie auch verwendet, um den Haupttrend zu bestimmen. Nur wenn die schnelle Linie ausbricht und der Preis auch die 21-Tage-Linie bricht, werden Handelsmaßnahmen ergriffen. Dies kann viele falsche Ausbrüche effektiv filtern.
Insbesondere wird das lange Signal ausgelöst, wenn: die schnelle Linie über das Höchstmaß von gestern bricht und über die 21-Tage-Linie bricht. Das kurze Signal wird ausgelöst, wenn: die schnelle Linie unter das Tief von gestern bricht und unter die 21-Tage-Linie bricht.
Die wichtigsten Vorteile dieser Strategie sind:
Die wichtigsten Risiken dieser Strategie sind:
Um diesen Risiken entgegenzuwirken, können Optimierungen in folgenden Bereichen vorgenommen werden:
Zu den wichtigsten Optimierungsrichtungen dieser Strategie gehören:
Parameteroptimierung: Systematischere Methoden können verwendet werden, um verschiedene MA-Periodenkombinationen zu testen, um bessere Parameter zu finden.
Setzen Sie den richtigen beweglichen Stop-Loss, Prozentsatz Stop-Loss usw. ein, um den einzelnen Handelsverlust effektiv zu kontrollieren.
Kombination anderer Indikatoren. Einführung von Signalen von MACD, ATR, KD usw. zur Erlangung mehrer Bestätigungsdimensionen und Verbesserung der Strategie-Stabilität.
Optimieren Sie Exit-Mechanismen. Erforschen Sie verschiedene Arten von Exit-Methoden wie Umkehrsignal-Ausgänge, bewegliche Gewinn-Ausgänge usw.
Zusammenfassend ist diese gleitende Durchschnitts-Crossover-Strategie eine sehr typische und praktische Trendfolgestrategie. Sie hat den Vorteil, dass sie leicht zu verstehen und umzusetzen ist und auch Verbesserungsmöglichkeiten bietet. Durch Methoden wie Parameteroptimierung, Stop-Loss-Optimierung, Multi-Indikatoren-Kombination usw. können kontinuierliche Verbesserungen vorgenommen 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) )