
Интеллектуальная стратегия фиксированного размещения инвестиций - это система долгосрочных торгов, основанная на долларовом среднем коэффициенте стоимости (DCA), которая оптимизирует процесс накопления активов, устанавливая комбинацию базовых заказов и безопасных заказов. Стратегия автоматически увеличивает объем покупок при падении рынка, полностью ликвидирует позиции при достижении заданной цели прибыли и реализует периодическую прибыль.
Стратегия основана на базовой идее метода уравнения затрат, но значительно усилена с помощью многоуровневого механизма безопасных заказов. Процесс реализации стратегии выглядит следующим образом:
Базовый заказПри отсутствии позиции система покупает заранее заданную фиксированную сумму в долларах США (baseOrderSize) по текущей цене, записывая цену входа и количество.
Заказ на безопасностьВ течение периода хранения, если цена снизилась более чем на предварительное отклонение процента (priceDeviation) и не достигла максимального количества безопасных заказов, система запускает пополнение позиции.
Динамическая коррекция масштаба заказа: размер каждого безопасного заказа динамически увеличивается путем умножения, формулой которого является: baseOrderSize * orderSizeMultiplier^(safetyOrderCount+1) 。
Расчет средней стоимости: Система в реальном времени отслеживает общую стоимость и общий объем, динамически рассчитывая среднюю цену за вход через общую стоимость, деленную на общий объем.
Механизм отключенияКогда рыночная цена поднимается до средней стоимости плюс процент от целевой прибыли, система автоматически ликвидирует все позиции и завершает полный торговый цикл.
Стратегия использует циклическую конструкцию, при которой все счетчики и отслеживаемые переменные перезагружаются после каждого закрытия позиции, чтобы начать следующий торговый цикл.
Максимальная средняя стоимостьСистема автоматически увеличивает покупки при падении цен, значительно снижая средние затраты на хранение и увеличивая будущую прибыль.
Автоматизация управления рискамиС помощью предварительно установленного механизма безопасных ордеров стратегия может выполнять пополнение позиций в соответствии с заранее определенным планом во время падения рынка, избегая эмоциональных решений.
Оптимизация эффективности использования средствС помощью многократного размера заказа, стратегия позволяет вкладывать больше средств, когда цены падают, и накапливать больше активов в более выгодных ценовых точках.
Правильное управление целевой прибыльюДвижущийся стоп-механизм, основанный на средней входной цене, обеспечивает блокировку прибыли при достижении заданной цели прибыли за каждый торговый цикл.
Высокая настройка: Пользователь может корректировать размер базового заказа, процент отклонения, максимальное количество безопасных заказов, умножение размера заказа и целевые показатели прибыли в зависимости от различных рыночных условий и личных предпочтений в отношении риска.
Визуализация ссылок на сделкиСтратегия: обеспечивает визуализацию в реальном времени средней цены входа, целевой цены остановки и цены запуска безопасных ордеров для упрощения принятия торговых решений.
Снижение потребления капитала на рынке: В условиях продолжающегося падения рынка стратегия может быстро исчерпать имеющиеся средства, особенно при множественном увеличении размеров заказов. Решение заключается в разумном установлении максимального количества безопасных заказов и корректировке размеров базовых заказов в соответствии с цикличностью рынка.
Механизм без убытковВ настоящее время в стратегии отсутствует механизм остановки убытков, что может привести к значительным потерям в экстремальных рыночных условиях. Рекомендуется ввести условные или временные остановки, чтобы ограничить потенциальные потери.
Параметр Чувствительность: эффективность стратегии сильно зависит от параметров, и неуместное сочетание параметров может привести к плохой эффективности. Рекомендуется найти оптимальное сочетание параметров, используя исторические данные.
Отсутствие определения рыночных тенденций: Стратегия не включает механизм идентификации тенденций, возможно преждевременное вхождение в сильную нисходящую тенденцию. Можно рассмотреть интеграцию простых трендовых показателей в качестве фильтрации входа.
Риск ликвидностиНа рынках с низкой ликвидностью крупные заказы на безопасность могут столкнуться с провалом или затруднением сделок. Рекомендуется использовать или добавить механизм проверки ликвидности на рынках с высокой ликвидностью.
Интеграция фильтров: интегрировать в логику входа простые индикаторы определения тенденции (например, пересечение скользящих средних или индекс относительной силы), чтобы избежать преждевременного позиционирования в сильных нисходящих тенденциях. Такая оптимизация может значительно повысить риск-корректируемую отдачу от стратегии.
Процент динамического отклонения: процент отклонения от запуска заказа безопасности, который корректируется в зависимости от динамики рынка, устанавливает большую отклонение в высоко-волатильных рынках и меньшую отклонение в низко-волатильных рынках, чтобы адаптироваться к различным рыночным условиям.
Частичный тормозной механизмВведение механизма поэтапного остановки, позволяющего частично ликвидировать позиции, а не полностью выйти из них при достижении определенного уровня прибыли, что позволяет блокировать часть прибыли, сохраняя при этом некоторые рыночные пробелы.
Усиление управления рисками: добавление условного стоп-ложа на основе времени или цены, а также ограничение максимального убытка, чтобы предотвратить чрезмерные потери в экстремальных рыночных условиях.
Оптимизация управления капиталомВнедрение более сложных алгоритмов управления капиталом, в соответствии с которыми размер счетов, рыночная волатильность и динамика текущего состояния убытков регулируют размер заказов, а не просто используют фиксированные множители.
Отмена контроля: Добавление механизма адаптации параметров, основанного на анализе исторических отступлений, для автоматического уменьшения размера ордеров или увеличения процента отклонения при обнаружении значительных отступлений для снижения финансового давления на падающих рынках.
Интеллектуальная стратегия фиксированного размещения инвестиций обеспечивает систематизированный способ накопления долгосрочных активов путем сочетания входа в базовые заказы и многоуровневого пополнения запасов по безопасным ордерам. Эта стратегия особенно подходит для рынков с циклическими колебаниями, способных эффективно использовать ценовые отклонения для накопления большего количества активов и блокирования прибыли во время отскока.
Основные преимущества стратегии заключаются в ее простом и мощном механизме максимизации среднего эффекта издержек и четком управлении целевой прибылью, но также подвержены рискам, таким как истощение капитала в падении рынка и отсутствие механизма остановки убытков. Благодаря интеграции фильтрации тенденций, корректировки динамических параметров и усиленной функции управления рисками, стратегия может быть дополнительно оптимизирована, повышая ее адаптивность и производительность в различных рыночных условиях.
Для инвесторов, которые ищут систематизированный способ накопления активов и управления рисками на волатильных рынках, такая усиленная стратегия DCA предоставляет надежную и настраиваемую структуру, особенно подходящую для средне- и долгосрочных инвестиционных периодов.
/*backtest
start: 2025-06-13 00:00:00
end: 2025-07-13 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":200000}]
*/
//@version=5
strategy("Simple DCA Strategy", overlay=true)
// --- Strategy Inputs ---
baseOrderSize = input.float(10, "Base Order Size (USD/Quote Currency)", minval=0.01)
priceDeviation = input.float(1.0, "Price Deviation for Safety Order (%)", minval=0.1) / 100
maxSafetyOrders = input.int(5, "Maximum Safety Orders", minval=0)
takeProfit = input.float(1.0, "Take Profit (%)", minval=0.1) / 100
orderSizeMultiplier = input.float(1.5, "Order Size Multiplier", minval=1.0)
// --- Internal Variables ---
var float lastEntryPrice = na
var int safetyOrderCount = 0
var float totalQuantity = 0.0
var float totalCost = 0.0
var float averageEntryPrice = na
// --- Reset Logic for New Cycles ---
// Reset variables when no open positions (or when strategy is initialized)
if strategy.position_size == 0
lastEntryPrice := na
safetyOrderCount := 0
totalQuantity := 0.0
totalCost := 0.0
averageEntryPrice := na
// --- Entry Logic (Base Order and Safety Orders) ---
// Base Order
if strategy.position_size == 0
// Enter a long position with the base order size
strategy.entry("Base Order", strategy.long, qty=baseOrderSize / close) // Convert USD/Quote Currency to quantity
lastEntryPrice := close
totalQuantity := baseOrderSize / close
totalCost := baseOrderSize
averageEntryPrice := close
safetyOrderCount := 0
else
// Safety Order Logic
// Check if price has deviated enough and we haven't reached max safety orders
if low < lastEntryPrice * (1 - priceDeviation) and safetyOrderCount < maxSafetyOrders
currentOrderSize = baseOrderSize * math.pow(orderSizeMultiplier, safetyOrderCount + 1) // Calculate next order size
strategy.entry("SO " + str.tostring(safetyOrderCount + 1), strategy.long, qty=currentOrderSize / close)
// Update tracking variables
lastEntryPrice := close
totalQuantity := totalQuantity + (currentOrderSize / close)
totalCost := totalCost + currentOrderSize
averageEntryPrice := totalCost / totalQuantity // Recalculate average entry price
safetyOrderCount := safetyOrderCount + 1
// --- Exit Logic (Take Profit) ---
if strategy.position_size > 0
// Calculate the target price for take profit
targetPrice = averageEntryPrice * (1 + takeProfit)
// Close the position if the current price reaches the target price
if high >= targetPrice
strategy.close_all()
// --- Plotting for Visualization ---
plot(averageEntryPrice, "Average Entry Price", color=color.blue, style=plot.style_linebr)
plot(strategy.position_size > 0 ? averageEntryPrice * (1 + takeProfit) : na, "Take Profit Target", color=color.green, style=plot.style_linebr)
plot(strategy.position_size > 0 ? lastEntryPrice * (1 - priceDeviation) : na, "saftyorder", color=color.rgb(175, 91, 76), style=plot.style_linebr)