Chiến lược này là một hệ thống giao dịch hai chiều dựa trên các mô hình hấp thụ nến. Nó xác định các mô hình hấp thụ thị trường bằng cách phân tích các mối quan hệ hướng, chiều rộng và khối lượng của các nến liền kề, thực hiện giao dịch khi các điều kiện được đáp ứng. Chiến lược sử dụng quản lý tiền dựa trên tỷ lệ phần trăm với logic nhập và xuất hoàn chỉnh.
Logic cốt lõi dựa trên ba điều kiện chính:
Khi ba điều kiện này được đáp ứng đồng thời, chiến lược xác định hướng giao dịch dựa trên ngọn nến mới nhất: dài cho nến tăng, ngắn cho nến giảm.
Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh thông qua phân tích đa chiều của các mẫu nến, kích thước và khối lượng. Mặc dù có một số rủi ro nhất định, sự ổn định và độ tin cậy của chiến lược có thể được tăng thêm thông qua các hướng tối ưu hóa được đề xuất.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Candle Absorption Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Условия индикатора // 1. Две соседних свечи должны быть разнонаправленными condition1 = (close[1] > open[1] and close < open) or (close[1] < open[1] and close > open) // 2. Дельта по цене открытия/закрытия у первой свечи меньше, чем у следующей delta1 = math.abs(close[1] - open[1]) delta2 = math.abs(close - open) condition2 = delta1 < delta2 // 3. Объем первой свечи должен быть больше, а последней меньше condition3 = volume[1] > volume and volume < volume[2] // Проверяем выполнение всех условий all_conditions = condition1 and condition2 and condition3 // Определяем направление для входа is_bullish = close > open // Зеленая свеча больше (бычье поглощение) is_bearish = close < open // Красная свеча больше (медвежье поглощение) // Переменные для отслеживания состояния позиции var float entryPrice = na var bool isLong = false var bool isShort = false // Логика генерации сигналов buySignal = all_conditions and is_bullish and not isLong sellSignal = all_conditions and is_bearish and not isShort // Обработка лонгового входа if (buySignal) isLong := true isShort := false entryPrice := close strategy.entry("Long", strategy.long) // Обработка шортового входа if (sellSignal) isLong := false isShort := true entryPrice := close strategy.entry("Short", strategy.short) // Визуализация точек поглощения // if all_conditions // label.new(bar_index, high, "✔", color=is_bullish ? color.green : color.red, textcolor=color.white, style=label.style_circle, size=size.small) // Логика сброса состояния при закрытии позиции if (strategy.position_size == 0) isLong := false isShort := false entryPrice := na // Дополнительно: можно добавить стоп-лосс и тейк-профит (пример ниже) // strategy.exit("Exit Long", from_entry="Long", stop=low - atr(14), limit=high + atr(14)) // strategy.exit("Exit Short", from_entry="Short", stop=high + atr(14), limit=low - atr(14))