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

엘리엇 웨이브와 톰 데마크 트렌드를 따르는 거래 전략

저자:차오장날짜: 2024-07-31 11:38:39
태그:EMATDEWRSI

img

전반적인 설명

이 전략은 시장 추세를 파악하고 적당한 순간에 거래를 실행하기 위해 엘리엇 웨브 이론과 톰 디마크 연속 지표를 결합합니다. 파도를 식별하기 위해 기하급수 이동 평균 (EMA) 을 활용하고 주요 지원 및 저항 수준을 결정하기 위해 피보나치 리트레이싱 수준을 사용합니다. 동시에 TD 연속 지표를 사용하여 거래 신호를 확인합니다. 특히 세 개의 연속 구매 또는 판매 신호가 발생하면. 이 접근법은 기술 분석에 기반한 여러 지표를 통합하여 거래 정확성과 수익성을 향상시키려고합니다.

전략 원칙

  1. 엘리엇 파동 식별:

    • 파동 식별의 기준으로 21주기 EMA를 사용합니다.
    • 가격이 EMA를 넘을 때 새로운 물결의 시작을 나타냅니다.
    • 5개의 주요 파도 지점을 기록합니다. 파도 1, 파도 2, 파도 3, 파도 4, 파도 5.
  2. 피보나치 리트레이싱:

    • 파동 2의 61.8% 회수 수준과 파동 4의 38.2% 회수 수준을 계산합니다.
    • 이 레벨은 잠재적 지지 및 저항 영역을 식별하는 데 사용됩니다.
  3. TD 연속 신호:

    • TD Sequential에 9개의 기간을 기본 설정합니다.
    • 판매 신호를 형성합니다. 가격이 9개 연속 기간 동안 4개 기간 전보다 높게 닫을 때 말이죠.
    • 구매 신호를 형성합니다. 가격이 9년 연속 4개월 전보다 낮게 닫았을 때요.
  4. 무역 신호 생성:

    • TD Sequential가 3번 연속 구매 신호를 주고 5번째 파동이 형성되면 긴 신호를 발사합니다.
    • TD Sequential가 3번 연속 판매 신호를 주고 5번째 파동이 형성되면 짧은 신호를 발사합니다.
  5. 손실을 멈추고 이익을 취하라:

    • 웨이브 1에서 손해를 멈추고 웨이브 3에서 이익을 얻습니다.
    • 웨이브 4에서 손해를 멈추고 웨이브 2에서 수익을 얻습니다.

전략적 장점

  1. 다중 지표 통합: 엘리엇 파동 이론과 TD 순차 지표를 결합하여 신호 신뢰성을 높입니다.

  2. 트렌드 추적: 파동 식별 및 EMA 사용을 통해 시장 트렌드를 효과적으로 추적합니다.

  3. 리스크 관리: 주요 물결 포인트를 중지 손실 및 이익 목표로 사용하여 명확한 리스크 관리 프레임워크를 제공합니다.

  4. 신호 확인: TD Sequential에서 3개의 동일한 신호를 연속적으로 필요로 하며, 거짓 신호의 영향을 줄여줍니다.

  5. 적응력: 매개 변수 설정을 통해 다른 시장 환경과 거래 도구에 적응할 수 있습니다.

  6. 객관성: 명확한 기술 지표와 규칙에 기초하여 주관적 판단의 편견을 줄입니다.

전략 위험

  1. 기술 지표에 대한 과도한 의존: 특정 시장 조건에서 근본적인 요인을 간과 할 수 있습니다.

  2. 뒤떨어진 성격: EMA와 TD Sequential 모두 뒤떨어진 지표이며, 트렌드 반전에 대한 느린 반응으로 이어질 수 있습니다.

  3. 가짜 브레이크오웃: 범위에 묶인 시장에서 여러 개의 잘못된 브레이크오웃 신호를 생성하여 거래 비용을 증가시킬 수 있습니다.

  4. 매개 변수 민감성: 전략 성능은 EMA 길이와 TD 연속 기간 선택에 매우 민감할 수 있습니다.

  5. 복잡성: 여러 가지 지표를 결합하면 전략이 복잡해질 수 있으며 과도한 적합성의 위험이 증가합니다.

  6. 시장 조건 의존성: 강한 트렌드 시장에서 더 좋은 성과를 낼 수 있지만 불안한 시장에서 잠재적으로 낮은 성과를 낼 수 있습니다.

전략 최적화 방향

  1. 동적 매개 변수 조정:

    • 실행: 시장 변동성에 따라 EMA 길이와 TD 연속 기간을 자동으로 조정합니다.
    • 이유: 다른 시장 조건에 대한 전략 적응력을 향상시킵니다.
  2. 부피 분석을 포함:

    • 구현: 신호 생성 과정에서 볼륨 지표를 고려하십시오.
    • 이유: 트렌드 확인의 신뢰성을 높이고 거짓 브레이크를 줄이기 위해서다.
  3. 변동성 필터를 입력합니다:

    • 실행: 낮은 변동성 기간 동안 거래를 줄이거나 중단합니다.
    • 이유: 비용 절감을 위해 범위에 한정된 시장에서 빈번하게 거래하는 것을 피하십시오.
  4. 스톱 로스 전략 최적화:

    • 실행: ATR (평균 진실 범위) 또는 변동성 비율 중지와 같은 동적 스톱 손실을 사용하십시오.
    • 이유: 시장 변동에 더 잘 적응하고 이익을 보호합니다.
  5. 시간 필터링 추가:

    • 실행: 시장 시간 요인을 고려하고 높은 변동성을 피합니다.
    • 이유: 불리한 기간 동안 거래와 관련된 위험을 줄이기 위해서입니다.
  6. 다중 시간 프레임 분석:

    • 실행: 거래에 들어가기 전에 더 높은 시간 프레임에서 트렌드 방향을 확인합니다.
    • 이유: 거래 신호 품질을 향상시키고 역동 트렌드 거래를 줄입니다.

결론

엘리엇 웨이브와 톰 데마크 트렌드 다음 거래 전략은 파동 이론, 트렌드 추적 및 모멘텀 지표를 현명하게 결합 한 포괄적인 기술 분석 방법이다. EMA를 통해 파도를 식별하고, 피보나치 리트레이싱을 사용하여 주요 가격 수준을 결정하고, TD 서열로 거래 신호를 확인함으로써이 전략은 강력한 시장 추세를 파악하는 것을 목표로합니다.

이 전략의 주요 장점은 다층 신호 확인 메커니즘과 명확한 위험 관리 프레임 워크에 있다. 그러나 기술 지표에 대한 과도한 의존과 신호 발생의 잠재적 인 지연과 같은 과제에도 직면하고 있다. 전략 성능을 최적화하기 위해 동적 매개 변수 조정, 볼륨 분석 통합 및 변동성 필터 사용을 도입하는 것이 고려될 수 있다.

전체적으로, 이 전략은 거래자에게 금융 시장을 분석하고 거래하는 구조적인 접근 방식을 제공합니다. 그러나 모든 거래 전략과 마찬가지로, 그것은 엄격한 백테스팅과 실질적인 응용에서 지속적인 최적화를 요구합니다. 거래자는 위험 관용과 거래 목표에 따라 전략 매개 변수를 조정하고 시장 변화에 항상 경계해야합니다.


/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Elliott Wave and Tom DeMark Strategy", overlay=true)

// Tom DeMark Sequential Settings
td_length = input(9, title="TD Sequential Length")

// Tom DeMark Sequential
var int tdUpCount = 0
var int tdDownCount = 0

if close > close[4]
    tdUpCount := na(tdUpCount) ? 1 : tdUpCount + 1
    tdDownCount := 0
else if close < close[4]
    tdDownCount := na(tdDownCount) ? 1 : tdDownCount + 1
    tdUpCount := 0
else
    tdUpCount := 0
    tdDownCount := 0

tdBuySetup = (tdDownCount == td_length)
tdSellSetup = (tdUpCount == td_length)

plotshape(series=tdBuySetup, title="TD Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=tdSellSetup, title="TD Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Elliott Wave Settings
wave_length = input(21, title="EMA Length for Wave Identification")
ema = ta.ema(close, wave_length)
var int wave_trend = na

wave_trend := ta.crossover(close, ema) ? 1 : ta.crossunder(close, ema) ? -1 : nz(wave_trend[1])

var float wave1 = na
var float wave2 = na
var float wave3 = na
var float wave4 = na
var float wave5 = na

wave1 := ta.valuewhen(wave_trend == 1, close, 0)
wave2 := ta.valuewhen(wave_trend == -1, close, 0)
wave3 := ta.valuewhen(wave_trend == 1, close, 0)
wave4 := ta.valuewhen(wave_trend == -1, close, 0)
wave5 := ta.valuewhen(wave_trend == 1, close, 0)

fibonacciRetracement(level, waveStart, waveEnd) =>
    waveStart + (waveEnd - waveStart) * level

wave2Fib = fibonacciRetracement(0.618, wave1, wave2)
wave4Fib = fibonacciRetracement(0.382, wave3, wave4)

plot(wave1, title="Wave 1", color=color.blue, linewidth=2)
plot(wave2, title="Wave 2", color=color.blue, linewidth=2)
plot(wave3, title="Wave 3", color=color.blue, linewidth=2)
plot(wave4, title="Wave 4", color=color.blue, linewidth=2)
plot(wave5, title="Wave 5", color=color.blue, linewidth=2)

plot(wave2Fib, title="Wave 2 Fib", color=color.yellow, linewidth=2)
plot(wave4Fib, title="Wave 4 Fib", color=color.yellow, linewidth=2)

// Strategy Conditions
if (tdUpCount == td_length * 3 and not na(wave5))
    strategy.entry("Buy", strategy.long)

if (tdDownCount == td_length * 3 and not na(wave5))
    strategy.entry("Sell", strategy.short)

// Stop Loss and Take Profit
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=wave3, stop=wave1)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=wave2, stop=wave4)


관련

더 많은