La estrategia se basa en el indicador de fluctuación KPL, un simple sistema de comercio mecánico de seguimiento de tendencias. Haga más cuando el cierre de los precios supera los máximos de 20 días y haga un descuento cuando el cierre cae por debajo de los mínimos de 20 días para capturar la fluctuación de los precios en la línea media y larga.
Concretamente, la estrategia primero calcula los máximos y mínimos de los últimos 20 días para construir un rango de oscilación. Cuando el precio de cierre cruza el máximo de 20 días desde la parte inferior, se hace una entrada adicional; cuando cae desde la parte superior, se hace una entrada en blanco.
El riesgo se puede administrar mediante la adaptación de la observación del ciclo de ruptura, la introducción de juicios de tendencia y la optimización de las estrategias de stop loss.
Esta estrategia se basa en el indicador de fluctuación KPL para el seguimiento de la tendencia. La ventaja es que es fácil de operar y tiene un alto de pérdida. La desventaja es que existe un retraso y un potencial de ganancias limitado.
/*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")