이 전략은 촛불 흡수 패턴을 기반으로 한 양방향 거래 시스템이다. 이 전략은 인접한 촛불의 방향, 진폭 및 부피 관계를 분석하여 시장 흡수 패턴을 식별하고 조건이 충족되면 거래를 실행합니다. 이 전략은 완전한 입출 논리로 비율 기반의 돈 관리를 사용합니다.
핵심 논리는 세 가지 핵심 조건에 기반합니다.
이 세 가지 조건이 동시에 충족되면 전략은 최신 촛불을 기반으로 거래 방향을 결정합니다. 상승 촛불은 길고 하락 촛불은 짧습니다. 전략은 전체 포지션 거래를 사용하여 상태 변수를 통해 포지션을 추적합니다.
이 전략은 촛불 패턴, 진폭 및 볼륨의 다차원 분석을 통해 완전한 거래 시스템을 구축합니다. 특정 위험이 존재하지만 제안된 최적화 방향을 통해 전략의 안정성과 신뢰성이 더욱 향상 될 수 있습니다. 핵심 장점은 다차원 분석 방법과 포괄적인 상태 관리 메커니즘에 있습니다.
/*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))