전략에 따른 EMA-Parabolic 트렌드

저자:차오장, 날짜: 2024-03-27 17:59:11
태그:

img

전반적인 설명

EPTS 전략은 패러볼릭 SAR 지표와 서로 다른 기간을 가진 두 개의 기하급수적인 이동 평균 (EMA) 을 기반으로하는 트렌드를 따르는 전략이다. 이 전략은 현재 시장 트렌드 방향을 결정하기 위해 패러볼릭 SAR 지표를 사용하여 빠르고 느린 EMA의 상대적 위치를 고려하여 입시 신호를 생성한다. 전략의 주된 아이디어는 트렌드 다음, 즉 안정적인 수익을 달성하기 위해 상승 추세에서 길고 하락 추세에서 짧을 것을 의미합니다.

전략 원칙

  1. 파라볼릭 SAR 지표는 현재 시장 트렌드의 방향을 결정하는 데 사용됩니다. 파라볼릭이 촛불 위에있을 때 시장은 하락 추세에 있습니다. 파라볼릭이 촛불 아래에있을 때 시장은 상승 추세에 있습니다.

  2. 트렌드를 확인하고 엔트리 신호를 생성하기 위해 서로 다른 기간을 가진 두 개의 기하급수적 이동 평균 (EMA) 이 사용됩니다. 이 전략은 5 일 EMA와 20 일 EMA를 사용합니다. 5 일 EMA가 20 일 EMA보다 높을 때 시장은 상승 추세로 간주됩니다. 그렇지 않으면 하락 추세로 간주됩니다.

  3. 진입 조건: Parabolic SAR와 EMA 모두 상승 추세를 나타낼 때 긴 신호가 생성됩니다. Parabolic SAR와 EMA 모두 하락 추세를 나타낼 때 짧은 신호가 생성됩니다.

  4. 출구 조건: Parabolic SAR가 촛불을 통과하면 현재 포지션은 닫히고 전략은 다음 출입 신호를 기다립니다.

  5. 스톱 로스: 포지션을 입력할 때, 스톱 로스 가격은 파라볼릭 SAR의 현재 위치로 설정됩니다. 파라볼릭 SAR가 움직일 때, 스톱 로스 포지션은 동적으로 조정되어 후속 스톱 로스를 구현합니다.

패러볼릭 SAR 지표와 EMA를 결합함으로써 EPTS 전략은 시장 추세를 효과적으로 파악하고 추세가 역전되면 적시에 포지션을 닫을 수 있으며 위험을 제어 할 수 있습니다. 또한 동적 스톱 로스 설정은 전략의 마감 위험을 더욱 감소시킵니다.

장점

  1. 트렌드 추적: EPTS 전략은 시장의 주요 트렌드를 효과적으로 파악하고 안정적인 수익을 얻을 수 있는 트렌드 추적의 아이디어를 기반으로 합니다.

  2. 동적 스톱 로스: 전략은 동적 스톱 로스로서 파라볼릭 SAR를 사용하여 트렌드가 발전함에 따라 스톱 로스 위치를 조정하여 위험을 효과적으로 제어합니다.

  3. 이중 확인: 파라볼릭 SAR 및 EMA에서 이중 확인을 사용하면 입력 신호의 신뢰성이 향상되며 잘못된 신호를 줄입니다.

  4. 간단하고 사용하기 쉬운: 전략 논리는 명확하고 매개 변수 설정은 간단하여 이해하기 쉽고 구현 할 수 있습니다.

위험 분석

  1. 불안한 시장: 트렌드가 명백하지 않은 불안한 시장에서 전략은 더 많은 잘못된 신호를 생성하여 빈번한 거래와 더 큰 인출으로 이어질 수 있습니다.

  2. 트렌드 반전: 시장 트렌드가 갑자기 반전되면 전략은 포지션 폐쇄를 지연시키고 약간의 손실을 초래할 수 있습니다.

  3. 매개 변수 설정: 전략의 성능은 매개 변수 설정에 의해 영향을 받으며, 다른 매개 변수가 다른 결과를 가져올 수 있습니다.

최적화 방향

  1. 더 많은 지표를 도입: 기존의 Parabolic SAR와 EMA 외에도 추세 식별의 정확성을 향상시키기 위해 MACD와 ADX와 같은 다른 추세 관련 지표를 도입하십시오.

  2. 진입 조건을 최적화: 진입 신호의 품질을 향상시키기 위해 가격과 EMA 사이의 거리와 거래량 등과 같은 요소를 고려하여 진입 조건을 최적화하십시오.

  3. 동적 매개 변수 최적화: 다른 시장 환경에 적응하기 위해 파라볼 SAR의 단계 크기 및 EMA의 기간과 같은 시장 조건의 변화에 따라 전략 매개 변수를 동적으로 조정합니다.

  4. 포지션 크기를 포함합니다. 수익을 향상시키는 동시에 위험을 제어하기 위해 시장 추세와 계정 위험을 기반으로 포지션 크기를 동적으로 조정합니다.

요약

EPTS 전략은 패러볼릭 SAR 지표와 이동 평균을 기반으로하는 트렌드-추천 전략이다. 주요 시장 트렌드를 파악하고 위험을 통제하기 위해 포지션을 적시에 닫는 것을 목표로 안정적인 수익을 달성합니다. 전략 논리는 명확하고 구현하기 쉽고 명확한 트렌드가있는 시장 환경에 적합합니다. 그러나 불안정한 시장에서 전략은 상당한 유출 위험에 직면 할 수 있으며 다른 지표와 최적화 방법과 결합하여 적응력과 견고성을 향상시킬 필요가 있습니다. 또한 합리적인 매개 변수 설정과 위치 사이징은 전략의 성공적인 운영의 핵심입니다. 전반적으로 EPTS 전략은 트렌드 추적에 간단하고 효과적인 접근 방식을 제공하지만 더 나은 전략 성과를 달성하기 위해 실제 시장 조건에 기반한 최적화와 개선이 필요합니다.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("febin2024", overlay=true)

// Parabolic SAR Parameters
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)

// EMA Parameters
ema20_length = input(20, title="EMA 20 Length")
ema5_length = input(5, title="EMA 5 Length")

// Calculate EMAs
ema20 = ta.ema(close, ema20_length)
ema5 = ta.ema(close, ema5_length)

// Parabolic SAR Logic
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na

if bar_index > 0
    firstTrendBar = false
    SAR := nextBarSAR
    if bar_index == 1
        float prevSAR = na
        float prevEP = na
        lowPrev = low[1]
        highPrev = high[1]
        closeCur = close
        closePrev = close[1]
        if closeCur > closePrev
            uptrend := true
            EP := high
            prevSAR := lowPrev
            prevEP := high
        else
            uptrend := false
            EP := low
            prevSAR := highPrev
            prevEP := low
        firstTrendBar := true
        SAR := prevSAR + start * (prevEP - prevSAR)
    if uptrend
        if SAR > low
            firstTrendBar := true
            uptrend := false
            SAR := math.max(EP, high)
            EP := low
            AF := start
    else
        if SAR < high
            firstTrendBar := true
            uptrend := true
            SAR := math.min(EP, low)
            EP := high
            AF := start
    if not firstTrendBar
        if uptrend
            if high > EP
                EP := high
                AF := math.min(AF + increment, maximum)
        else
            if low < EP
                EP := low
                AF := math.min(AF + increment, maximum)
    if uptrend
        SAR := math.min(SAR, low[1])
        if bar_index > 1
            SAR := math.min(SAR, low[2])
    else
        SAR := math.max(SAR, high[1])
        if bar_index > 1
            SAR := math.max(SAR, high[2])
    nextBarSAR := SAR + AF * (EP - SAR)
    if barstate.isconfirmed
        if uptrend
            strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
            strategy.cancel("ParLE")
        else
            strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
            strategy.cancel("ParSE")

// Plot Parabolic SAR
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)

// Plot EMAs
plot(ema20, color=color.blue, linewidth=2, title="EMA 20")
plot(ema5, color=color.red, linewidth=2, title="EMA 5")

// Equity Plot
plot(strategy.equity, title="Equity", color=color.green, linewidth=2)


더 많은