Эта стратегия реализует простую процентную остановку и покупку. Экспериментируя с различными процентными комбинациями в разных временных рамках и диаграммах, параметры стратегии могут быть оптимизированы.
Стратегия в основном использует два показателя для достижения последнего стоп-лосса и последней покупки:
Trailing Stop Line (TSL): рассчитывается на основе недавних N-бар цен закрытия и процентного зачета стоп-лосса, установленного пользователем. Снижается стоп-лосс, когда цена падает ниже этой линии.
Последовательная линия покупки (TBL): рассчитывается на основе последних N бар с самыми высокими ценами и процентными ставками покупки, установленными пользователем.
Сравнивая цену с этими двумя показателями, устанавливаются правила остановки потерь и последующей покупки.
Преимущества этой стратегии:
Просто и интуитивно понятно, легко понять и реализовать.
Гибкий стоп-лосс и задержка покупки через регулировку параметров.
Применяется на всех рынках и в разные периоды времени.
Позволяет следовать тренду и своевременно останавливать потерю.
Риски этой стратегии включают:
Неправильное установление параметров может привести к чрезмерно агрессивному стоп-лосс или покупкам.
Частые сделки и сдвиги на различных рынках.
Требует оптимизации параметров для различных рыночных характеристик.
Стратегия может быть усовершенствована путем:
Адаптивные алгоритмы для автоматической оптимизации параметров остановки и покупки.
Добавление модулей размещения позиций и управления рисками.
Включение других индикаторов для оценки общей тенденции, чтобы избежать ошибок.
В целом, это очень простая и интуитивно понятная тенденция, следующая за стратегией. С настройкой параметров она может быть адаптирована на разных рынках. Дальнейшее включение адаптивных алгоритмов и дополнительных фильтров может улучшить надежность. В целом она обеспечивает базовую, но эффективную основу для количественной торговли.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //Developed from ©Finnbo code strategy("Simple Trailing Buy & Stop Strategy", overlay=true) offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1) buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1) sumbars = input(defval=6, title="Use last x bars for calculation", minval=1) srcts = input(title="Source Trailing Stop calculation", defval=close) srctb = input(title="Source Trailing Buy calculation", defval=close) srctrigger = input(title="Source Stop Trigger", defval=low) srctriggerbuy = input(title="Source Buy Trigger", defval=high) tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100)) tbuy = rma(srctb, sumbars)*(1+(buyoffset/100)) plot(tsl, color=(srctrigger<tsl)?red:green) plot(tbuy, color=(srctriggerbuy>tbuy)?red:green) //plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red) alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL") //plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green) alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY") longCondition = crossover(srctriggerbuy,tbuy) if (longCondition) strategy.entry("Long", strategy.long) closeCondition = crossunder(srctrigger,tsl) if (closeCondition) strategy.close("Long")