Динамическая стратегия пирамидизации направлена на снижение средней стоимости хранения путем пирамидизации дополнительных позиций при падении цены. Она может помочь смягчить убытки и получить дополнительную прибыль, когда цена отскочит обратно. Стратегия откроет дополнительные позиции с определенным количеством и интервалом, когда будут задействованы условия пирамидизации. Между тем, максимальное количество пирамидизации установлено для ограничения риска.
Основная логика этой стратегии включает в себя:
Открытая позиция: открыть длинную позицию с указанной ценой, если текущая позиция равна 0.
Пирамидальное состояние: Пирамидальное действие запускается, если текущее время пирамидального действия меньше максимального значения, и цена падает ниже последней входной цены с предопределенным процентом.
Пирамидальный способ: увеличение количества пирамид на масштабирующем факторе предыдущего и уменьшение интервала на масштабирующем факторе.
Условие получения прибыли: Закрыть все позиции, если будет задействована целевая прибыль, основанная на средней цене держания.
Эта стратегия позволяет снизить среднюю стоимость динамически, эффективно останавливая убытки и оставляя больше возможностей для прибыли при обратном тренде.
Наибольшее преимущество этой стратегии заключается в получении большего потенциала прибыли с приемлемыми потерями за счет снижения средних затрат на владение с помощью пирамиды.
Снижение затрат на хранение значительно увеличивает способность к остановке убытков.
Если цена восстановится, потенциал прибыли расширится и проложит путь к получению прибыли.
Гибкая настройка для пирамидической логики путем установки соответствующих параметров на инкремент, количество и интервал и т.д.
Контролируемый риск за счет ограничения максимального времени пирамидирования.
В то время как стратегия позволяет большего потенциала прибыли с пирамидами, некоторые риски требуют внимания:
Риск потерь - предпосылка заключается в том, чтобы понести определенные убытки от пирамидизации.
Риск погружения в скалы - в экстремальных случаях, таких как погружение в скалы, потери могут превышать приемлемый диапазон.
Задержка или отсутствие получения прибыли - отскок цены не всегда может привести к условию получения прибыли, что является недостатком стратегии.
Риск настройки параметров - Неподходящие настройки параметров, таких как коэффициент пирамиды и процент получения прибыли, могут привести к неудаче.
Следующие меры могут помочь смягчить риски:
Сниженная ступенчатая шкала для контроля суммы убытков от одного ввода.
Уменьшить интервал пирамиды для достижения более быстрого снижения затрат.
Установите точку остановки потери соответствующим образом, а не слишком свободно.
Учитывая характер получения более высокого потенциала прибыли с помощью пирамиды, направления оптимизации в основном сосредоточены на улучшении контроля рисков и повышения рентабельности:
Улучшить логику пирамиды, чтобы сделать записи более интеллектуальными и адаптивными к рыночным условиям.
Оптимизировать механизмы получения прибыли для повышения эффективности, такие как отсрочка получения прибыли, частичное закрытие и т. Д., Чтобы снизить вероятность отсутствия восстановления цены.
Внедрить алгоритмы машинного обучения для автоматической настройки параметров. Ключевые параметры становятся динамическими вместо статических на основе обратной связи в реальном времени.
Добавление механизма стоп-лосса для ограничения максимальных потерь, таких как отслеживание стоп-лосса и принятие ордеров стоп-прибыли.
Динамическая пирамидальная стратегия снижает среднюю стоимость владения дополнительными входами, что позволяет получить более высокий потенциал прибыли с учетом приемлемой терпимости к потерям.
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("DCA Bot Emulator", overlay=true, pyramiding=99, default_qty_type=strategy.cash, commission_value = 0.02) // Date Ranges from_month = input(defval = 1, title = "From Month", minval = 1, maxval = 12) from_day = input(defval = 1, title = "From Day", minval = 1, maxval = 31) from_year = input(defval = 2021, title = "From Year") to_month = input(defval = 1, title = "To Month", minval = 1, maxval = 12) to_day = input(defval = 1, title = "To Day", minval = 1, maxval = 31) to_year = input(defval = 9999, title = "To Year") start = timestamp(from_year, from_month, from_day, 00, 00) // backtest start window finish = timestamp(to_year, to_month, to_day, 23, 59) // backtest finish window window = time >= start and time <= finish ? true : false // create function "within window of time" // Strategy Inputs price_deviation = input(2, title='Price deviation to open safety orders', maxval=0)/100 take_profit = input(1.5, title='Target Take Profit', minval=0)/100 // base order base_order = input(100000, title='base order') safe_order = input(200, title='safe order') safe_order_volume_scale = input(2, title='Safety order volume scale') safe_order_step_scale = input(1, title='Safety order step scale') max_safe_order = input(10, title='max safe order') var current_so = 1 var initial_order = 0.0 // Calculate our key levels pnl = (close - strategy.position_avg_price) / strategy.position_avg_price take_profit_level = strategy.position_avg_price * (1 + take_profit) // First Position if(strategy.position_size == 0 and window) strategy.entry("Long", strategy.long, qty = base_order/close) initial_order := close current_so := 1 // Average Down! if current_so > 0 and close < initial_order * (1 - price_deviation * current_so * safe_order_step_scale) and current_so <= max_safe_order so_name = "SO " + tostring(current_so) strategy.entry(so_name, long=strategy.long , qty = safe_order * safe_order_volume_scale /close) current_so := current_so + 1 // Take Profit! strategy.close_all(when=take_profit_level <= close and strategy.position_size > 0)