리소스 로딩... 로딩...

촛불 흡수 패턴 분석에 기초한 양방향 거래 전략

저자:차오장, 날짜: 2024-12-12 11:27:27
태그:OHLCVOLATR

img

전반적인 설명

이 전략은 촛불 흡수 패턴을 기반으로 한 양방향 거래 시스템이다. 이 전략은 인접한 촛불의 방향, 진폭 및 부피 관계를 분석하여 시장 흡수 패턴을 식별하고 조건이 충족되면 거래를 실행합니다. 이 전략은 완전한 입출 논리로 비율 기반의 돈 관리를 사용합니다.

전략 원칙

핵심 논리는 세 가지 핵심 조건에 기반합니다.

  1. 인접한 촛불은 반대 방향으로 움직입니다. 촛불의 방향을 결정하기 위해 오픈과 클로즈 가격을 비교하여 인접한 촛불의 반대 트렌드를 요구합니다.
  2. 폭 관계 분석: 두 개의 촛불의 가격 폭을 계산하고 비교합니다 (폐폐 및 오픈 가격의 절대 차이), 후자의 촛불의 폭이 더 커야합니다.
  3. 부피 특성: 첫 번째 촛불의 부피가 두 번째보다 커야하고 두 번째 촛불의 부피가 이전 부피보다 작아야합니다.

이 세 가지 조건이 동시에 충족되면 전략은 최신 촛불을 기반으로 거래 방향을 결정합니다. 상승 촛불은 길고 하락 촛불은 짧습니다. 전략은 전체 포지션 거래를 사용하여 상태 변수를 통해 포지션을 추적합니다.

전략적 장점

  1. 다차원 분석: 가격 패턴, 진폭 및 부피 분석을 결합하여 신호 신뢰성을 향상시킵니다.
  2. 양방향 거래: 시장의 변동성을 완전히 활용하여 양방향의 시장 기회를 포착합니다.
  3. 포괄적 리스크 관리: 유연한 스톱 로스 및 영리 설정으로 비율 기반의 자금 관리를 사용합니다.
  4. 시각 지원: 분석 및 최적화를 위해 거래 신호의 그래픽 표시를 제공합니다.
  5. 명확한 상태 관리: 상태 변수를 통해 위치를 정확하게 제어하고 중복 항목을 피합니다.

전략 위험

  1. 거짓 파업 위험: 잘못된 흡수 패턴이 다양한 시장에서 나타날 수 있으며 잘못된 신호로 이어질 수 있습니다.
  2. 미끄러짐 효과: 높은 시장 변동성 동안 실질적인 거래 결과에 영향을 미치는 중요한 미끄러짐에 직면 할 수 있습니다.
  3. 자금 관리 위험: 전체 포지션 거래는 큰 위험 노출을 초래할 수 있습니다.
  4. 신호 지연: 신호는 촛불이 닫힌 후에만 확인 될 수 있으며 최적의 입구 지점을 놓칠 수 있습니다.

전략 최적화 방향

  1. 트렌드 필터링을 도입: 신호 품질을 향상시키기 위해 방향 필터링을 위해 이동 평균 또는 트렌드 지표를 추가하는 것이 좋습니다.
  2. 자금 관리를 최적화: 시장 변동성에 따라 포지션 크기를 동적으로 조정할 수 있습니다.
  3. 스톱 로스 메커니즘을 강화합니다. 위험 통제를 개선하기 위해 ATR 지표를 사용하여 동적 스톱 로스를 구현하는 것이 좋습니다.
  4. 시간 필터링 추가: 비효율적인 기간을 피하기 위해 거래 시간 기간 필터를 추가 할 수 있습니다.
  5. 신호 확인을 개선: 부가 확인을 위해 부피 지표 또는 다른 기술적 지표를 추가 할 수 있습니다.

요약

이 전략은 촛불 패턴, 진폭 및 볼륨의 다차원 분석을 통해 완전한 거래 시스템을 구축합니다. 특정 위험이 존재하지만 제안된 최적화 방향을 통해 전략의 안정성과 신뢰성이 더욱 향상 될 수 있습니다. 핵심 장점은 다차원 분석 방법과 포괄적인 상태 관리 메커니즘에 있습니다.


/*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))


관련

더 많은