Diese Strategie basiert auf dem KPL-Schwankungsindikator, einem einfachen Trend-Tracking-Mechanik-Trading-System, um zu handeln. Wenn der Kurs ein 20-Tage-Hoch überschreitet, wird ein Plus getätigt, und wenn der Kurs ein 20-Tage-Tief überschreitet, wird ein Minus getätigt, um die Preisbewegungen der mittleren und langen Linie zu erfassen.
Konkret berechnet die Strategie zunächst die Höchst- und Tiefstpreise der letzten 20 Tage, um einen Schwingungsbereich zu erstellen. Wenn der Schlusskurs von unten den 20-Tage-Hochpunkt überschreitet, wird ein Plus eingetragen; wenn er von oben den 20-Tage-Tiefpunkt überschreitet, wird ein Minus eingetragen. Gleichzeitig wird der Stop-Loss in der Breakout-Richtung berechnet, und sofort nach dem Eintritt wird ein Stop-Loss festgelegt, um Einzelschäden zu kontrollieren.
Risiken können durch Anpassung der Breakout-Zyklen, Einführung von Trendurteilen und Optimierung von Stop-Loss-Strategien verwaltet werden.
Diese Strategie basiert auf KPL-Schwankungsindikatoren für die Trendverfolgung. Die Vorteile sind einfach und leicht zu bedienen, mit Stop-Loss; die Nachteile sind das Vorhandensein von Verzögerungen und begrenzten potenziellen Erträgen. Die Nachteile können durch Parameteroptimierung, Strategiekombinationen usw. verbessert werden, während die Vorteile erhalten werden.
/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
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/
// © ceyhun
//@version=4
strategy("KPL Swing Strategy", overlay=true)
no = input(20)
res = highest(high, no)
sup = lowest(low, no)
avd = iff(close > res[1], 1, iff(close < sup[1], -1, 0))
avn = valuewhen(avd != 0, avd, 1)
tsl = iff(avn == 1, sup, res)
sl = iff(close > tsl, highest(lowest(low, no / 2), no / 2), lowest(highest(high, no / 2), no / 2))
plot(tsl, color=#0000FF,title="KPL Swing")
plot(sl, color=color.white,title="Stoploss")
bgcolor(abs(close - tsl[1]) > close ? color.white : close < tsl ? color.red : color.green, 90, offset=0)
if crossover(close, tsl)
strategy.entry("Long", strategy.long, comment="Long")
if crossunder(close,tsl)
strategy.entry("Short", strategy.short, comment="Short")