Эта стратегия использует индикатор Supertrend для определения пунктов входа, выходя длинный или короткий, когда индикатор переворачивается.
Стратегия использует индикатор Supertrend для определения направления тренда. Supertrend основан на среднем истинном диапазоне и коэффициенте множителя. Когда цена выходит выше верхней полосы, это сигнализирует о перекупленном состоянии, а когда цена падает ниже нижней полосы, это сигнализирует о перепроданном состоянии. Поэтому стратегия обнаруживает переломы в направлении Supertrend для определения входов.
В частности, когда изменение в Supertrend меньше 0, это указывает на то, что индикатор перевернулся сверху вниз, генерируя длинный сигнал. Когда изменение в Supertrend больше 0, индикатор перевернулся сверху вниз, генерируя короткий сигнал. При получении длинных или коротких сигналов записывается входная цена и размещаются заказы.
Стратегия также устанавливает три ордера на получение прибыли на 2%, 5% и 10% от входной цены, чтобы зафиксировать фиксированную целевую прибыль. Пропорции этих ордеров устанавливаются соответственно на 25%, 50% и 25%. После сигналов входа эти ордера на получение прибыли размещаются одновременно для получения прибыли на разных уровнях.
Стратегия имеет следующие преимущества:
Использование Supertrend для записей эффективно фиксирует точки обратного движения тренда для точного длинного/короткого.
Многократные пропорции прибыли позволяют зафиксировать прибыль на разных уровнях, уменьшая извлечения.
Консервативные целевые показатели прибыли в 2%, 5% и 10% позволяют избежать чрезмерного увеличения прибыли, что приводит к большим потерям.
Простая и понятная логика, легко понимаемая и модифицируемая, подходящая для начинающих.
Стратегия также сопряжена с некоторыми рисками:
Неправильные параметры Supertrend могут привести к отсутствию сигналов отмены, что приведет к неточным записям.
Консервативные уровни получения прибыли могут упустить возможности для дальнейшего получения прибыли.
Пробелы и предельные движения могут привести к остановке до корректировки Supertrend.
Условие стоп-лосса означает неограниченный потенциал потери.
Некоторые способы оптимизации стратегии:
Проверить различные параметры Supertrend для улучшения чувствительности.
Добавьте стоп-лосс, чтобы ограничить максимальную потерю.
Корректируйте коэффициенты прибыли и количества на основе символов и временных рамок.
Добавьте фильтры, чтобы избежать чрезмерной торговли на рынках с ограниченным диапазоном.
Оптимизировать использование капитала путем корректировки размера сделки по умолчанию с целью снижения риска на одну сделку.
Стратегия проста и практична в целом. Она использует Supertrend для входов и множественных заказов на получение прибыли для блокировки прибыли, эффективно контролируя риск. Но есть возможности для улучшений, таких как добавление остановок, оптимизация параметров и т. Д., Что обеспечивает направления будущего улучшения. Вкратце, эта стратегия подходит для начинающих изучать и практиковать алгоритмическую торговлю.
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy( "Supertrend with TP", overlay=true ) // Supertrend Settings atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) // TP's tp1Open = input.bool(true, "TP1") tp1 = input.float(2.0, "TP Level (%)", step = 0.1) / 100 tp1Amount = input.int(25, "Amount (%)", step = 1) tp2Open = input.bool(true, "TP2") tp2 = input.float(5.0, "TP Level (%)", step = 0.1) / 100 tp2Amount = input.int(50, "Amount (%)", step = 1) tp3Open = input.bool(true, "TP3") tp3 = input.float(10.0, "TP Level (%)", step = 0.1) / 100 tp3Amount = input.int(25, "Amount (%)", step = 1) [_, direction] = ta.supertrend(factor, atrPeriod) entryPrice = 0.0 entryPrice := entryPrice[1] if ta.change(direction) < 0 strategy.entry("Long", strategy.long) entryPrice := close if ta.change(direction) > 0 strategy.entry("Short", strategy.short) entryPrice := close if (tp1Open) strategy.exit ("TP1", from_entry="Long", limit=entryPrice * (1 + tp1), qty_percent=tp1Amount) strategy.exit ("TP1", from_entry="Short", limit=entryPrice * (1 - tp1), qty_percent=tp1Amount) if (tp2Open) strategy.exit ("TP2", from_entry="Long", limit=entryPrice * (1 + tp2), qty_percent=tp2Amount) strategy.exit ("TP2", from_entry="Short", limit=entryPrice * (1 - tp2), qty_percent=tp2Amount) if (tp3Open) strategy.exit ("TP3", from_entry="Long", limit=entryPrice * (1 + tp3), qty_percent=tp3Amount) strategy.exit ("TP3", from_entry="Short", limit=entryPrice * (1 - tp3), qty_percent=tp3Amount)