Diese Strategie ist die eigentliche Codeimplementierung des berühmten Turtle-Handelssystems, das einen 55-Perioden-Kanal für Eintrittssignale und einen 20-Perioden-Kanal für Ausstiegssignale verwendet, um längerfristige Trends zu verfolgen.
Die Strategie basiert hauptsächlich auf zwei Indikatoren: dem 55-Perioden-Höchstpreis (HI) und dem niedrigsten Preis (LO) für den Aufbau des Eingangskanals und dem 20-Perioden-Höchstpreis (hi) und dem niedrigsten Preis (lo) für den Aufbau des Ausgangskanals.
Wenn der Preis über den 55-Perioden-Kanal bricht, wird ein Kaufsignal generiert; wenn der Preis unter den 55-Perioden-Kanal bricht, wird ein Verkaufssignal generiert.
Wenn der Preis unter den 20-Perioden-Kanal bricht, werden Long-Positionen geschlossen; wenn der Preis über den 20-Perioden-Kanal bricht, werden Short-Positionen geschlossen.
Die Strategie zeichnet auch den 55-Perioden-Kanal und den 20-Perioden-Kanal, der die Ein- und Ausstiegspunkte der Strategie visuell sehen kann.
Die wichtigsten Vorteile dieser Strategie sind:
Diese Strategie birgt auch einige Risiken:
Die Risiken können durch:
Die Strategie kann in mehreren Aspekten optimiert werden:
Zusammenfassend ist dies eine sehr typische Trend-Following-Strategie, die Kanäle verwendet, um mittelfristige bis langfristige Trends mit guter Drawdown-Kontrolle zu erfassen. Sie hat auch einige typische Probleme von Trend-Following-Strategien, wie unzureichende Trend-Fangfähigkeit und Schwierigkeiten beim Umgang mit Umkehrungen. Mit umfassenden Optimierungen können die Vorteile vollständig realisiert werden, um eine zuverlässige quantitative Strategie zu werden.
/*backtest start: 2023-11-19 00:00:00 end: 2023-12-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © racer8 //@version=4 strategy("Turtle System", overlay=true) n = input(55,"Entry Length") e = input(20,"Exit Length") HI = highest(n) LO = lowest(n) hi = highest(e) lo = lowest(e) if close>HI[1] strategy.entry("Buy", strategy.long) if close<LO[1] strategy.entry("Sell", strategy.short) if low<lo[1] strategy.close("Buy") if high>hi[1] strategy.close("Sell") plot(HI,color=color.lime) plot(LO,color=color.red) plot(hi,color=color.blue) plot(lo,color=color.maroon)