Эта стратегия торгуется на основе индикатора KPL Swing, который представляет собой простую тенденцию, следующую механической системе.
В частности, он сначала рассчитывает 20-дневный диапазон с использованием максимального максимума и минимального минимума. Когда закрытие выходит вверх от 20-дневного максимума, идите в длинный. Когда закрытие выходит из 20-дневного минимума, идите в короткий. Уровни остановки потери рассчитываются после входа для обоих направлений, чтобы ограничить потери.
Риски можно управлять путем корректировки периода просмотра, добавления фильтра тренда, оптимизации стоп-лосса и т.д.
Эта стратегия торгует колебаниями тренда на основе индикатора KPL Swing. Преимущества - простая операция и встроенный стоп-лосс; минусы - задержки и ограничения прибыли. Минусы могут быть улучшены с помощью оптимизации параметров, комбинации стратегии при сохранении плюсов.
/*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")