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

이중 평형 이동 평균 트렌드 다음 전략 - 수정 된 하이킨-아시에 기초

저자:차오장날짜: 2024-11-29 15:03:37
태그:

img

전반적인 설명

이 전략은 변형된 하이킨-아시 촛불에 기반한 트렌드 다음 시스템이다. 전통적인 하이킨-아시 촛불에 두 배의 기하급수적 이동 평균 (EMA) 평평화를 적용함으로써 시장 소음을 효과적으로 줄이고 더 명확한 트렌드 신호를 제공합니다. 전략은 단장 모드에서 작동하며 상승 추세 동안 포지션을 유지하고 하락 추세 동안 시장에서 벗어나 효율적인 트렌드 탐지를 통해 시장 수익을 캡처합니다.

전략 원칙

핵심 논리는 다음의 핵심 단계를 포함합니다.

  1. OHLC 가격 데이터의 초기 EMA 평형화
  2. 수정된 하이킨-아시 촛불을 평형 가격으로 계산
  3. 계산된 하이킨-아시 촛불의 2차 EMA 평형
  4. 평평한 오픈 가격과 폐쇄 가격의 비교를 통해 색상 변화의 결정
  5. 촛불이 빨간색에서 녹색으로 변할 때 구매 신호를 생성하고 녹색에서 빨간색으로 변할 때 판매 신호를 생성
  6. 계정 자금 입금 규모의 100%로 거래

전략적 장점

  1. 이중 평평화 는 거짓 신호 를 크게 감소 시킨다
  2. 롱 (long) 접근 방식은 쇼트 (short) 판매 위험을 제거합니다
  3. 트렌드 확인 후의 진입은 승률을 향상시킵니다.
  4. 완전한 신호 시스템은 자동 거래를 지원합니다.
  5. 유연한 시간 프레임 선택은 다른 거래 요구를 충족시킵니다.
  6. 단순하고 명확한 입국/출국 규칙은 집행을 촉진합니다.
  7. 다른 시장 조건에서 자금 관리 지원

전략 위험

  1. 트렌드 역전 시 잠재적인 큰 마취
  2. 다양한 시장에서 여러 가지 잘못된 신호가 가능합니다.
  3. 풀 포지션 거래는 자본 위험을 증가시킵니다.
  4. 지연된 진입 신호는 초기 가격 움직임을 놓칠 수 있습니다.
  5. 성능은 다른 시간 프레임에 따라 크게 다릅니다.

전략 최적화 방향

  1. 유동 시장에서 잘못된 신호를 줄이기 위해 트렌드 강도 필터를 도입
  2. 자본 활용을 최적화하기 위해 동적 위치 크기를 구현합니다.
  3. 마감 리스크를 제어하기 위해 후속 스톱 손실 기능을 추가합니다.
  4. 신호 확인을 위한 추가 기술 지표를 포함
  5. 전략 안정성 향상을 위한 적응형 매개 변수 시스템을 개발

요약

이 전략은 이중 평형화 및 수정 된 하이킨-아시 촛불을 핵심 구성 요소로 사용하여 강력한 트렌드 추적 시스템을 구축합니다. 전략 디자인은 깨끗하고 간단하며 이해하기 쉽고 실행하기 쉽고 다양한 시장 환경에 적응하기 위해 여러 최적화 방향을 제공합니다. 특정 지연 및 인출 위험이 있지만 적절한 돈 관리 및 위험 통제 조치를 통해이 전략은 투자자에게 신뢰할 수있는 트렌드 추적 도구를 제공할 수 있습니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed Heiken Ashi Strategy Long Only", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input.int(10, title="EMA Length")
len2 = input.int(10, title="Smoothing Length")
start_date = input(defval=timestamp("2020-01-01"), title="Backtest Start Date")

o = ta.ema(open, len)
c = ta.ema(close, len)
h = ta.ema(high, len)
l = ta.ema(low, len)

haclose = (o + h + l + c) / 4
var float haopen = na
haopen := na(haopen[1]) ? (o + c) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))

o2 = ta.ema(haopen, len2)
c2 = ta.ema(haclose, len2)
h2 = ta.ema(hahigh, len2)
l2 = ta.ema(halow, len2)

col = o2 > c2 ? color.red : color.lime

// Plot candles without visible wicks
plotcandle(o2, o2, c2, c2, title="Heikin Smoothed", color=col, wickcolor=color.new(col, 100))

// Delayed Buy and Sell signals
colorChange = col != col[1]
buySignal = colorChange[1] and col[1] == color.lime
sellSignal = colorChange[1] and col[1] == color.red

plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry and exit
if (true)
    if (buySignal)
        strategy.entry("Long", strategy.long)
    if (sellSignal)
        strategy.close("Long")

// Add a vertical line at the start date
// if (time == start_date)
//     line.new(x1=bar_index, y1=low, x2=bar_index, y2=high, color=color.blue, width=2)

// Alert conditions
alertcondition(colorChange[1], title="Color Change Alert", message="Heiken Ashi Candle Color Changed")
alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal: Color changed from Red to Green")
alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal: Color changed from Green to Red")

더 많은