Последовательная стратегия вверх/вниз за N дней
В этой статье подробно представлена логика торговли, преимущества, потенциальные риски и краткое описание стратегии последовательного повышения/снижения N дней.
Это долгосрочная стратегия, которая определяет входы и выходы на основе определенных пользователем последовательных дней роста и последовательных дней падения.
Логика стратегии
Во-первых, нам нужно установить два параметра:
последовательныйBarsUp: последовательные дни вверх Последовательный BarDown: последовательные дни безработицы
Затем мы записываем две переменные:
Взлеты: текущие последовательные дни подъема dns: текущие последовательные дни простоя
Каждый день мы сравниваем цену закрытия с предыдущим закрытием, чтобы определить, является ли это день вверх или вниз.
Когда Ups достигнет consecutiveBarsUp, мы идем длинным.
Это простая логика для последовательной стратегии вверх-вниз. Мы только долго после последовательных дней вверх с нижнего и выйти после последовательных дней вниз. Это избегает частой торговли на рынках диапазона.
Плюсы
Простая логика, легкая для понимания и реализации
Фильтрация краткосрочных колебаний по установке последовательных дней
Лишь длинные, меньше сделок, более низкие затраты на транзакции и влияние скольжения
Легко установить стоп-лосс, эффективно контролировать однократные убытки
Потенциальные риски
Невозможность короткого топа, упущенные возможности короткого топа
Необходимы последовательные дни до входа, возможно, отсутствует лучшая точка входа
Временная задержка, не захватывая повороты в реальном времени
Кредитные пакеты, не подлежащие отмене
Резюме
Последовательная стратегия дня вверх/вниз широко популярна благодаря своей простоте и низкой частоте торговли. При правильной настройке параметров она может эффективно отфильтровывать сбои. Но у нее также есть ограничения, такие как временная задержка и невозможность короткого.
/*backtest start: 2023-08-12 00:00:00 end: 2023-09-11 00:00:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Strategy // strategy("Up/Down Long Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) // There will be no short entries, only exits from long. // strategy.risk.allow_entry_in(strategy.direction.long) consecutiveBarsUp = input(1) consecutiveBarsDown = input(1) price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 // Strategy Backesting startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time) finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time) time_cond = true // Messages for buy and sell message_buy = input("{{strategy.order.alert_message}}", title="Buy message") message_sell = input("{{strategy.order.alert_message}}", title="Sell message") // Strategy Execution if (ups >= consecutiveBarsUp) and time_cond strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy) if (dns >= consecutiveBarsDown) and time_cond strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)