더블 EMA 골든 크로스 브레이크아웃 전략


생성 날짜: 2024-01-26 15:13:59 마지막으로 수정됨: 2024-01-26 15:13:59
복사: 0 클릭수: 617
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

더블 EMA 골든 크로스 브레이크아웃 전략

개요

이중 EMA 골드 크로스 브레이크 전략은 쌍 지수 이동 평균 (EMA) 를 기반으로 한 트렌드 추적 및 브레이크 트레이드 전략이다. 그것은 두 개의 다른 주기적 EMA를 계산하여 금이 크로스 할 때 구매 신호를 생성하고, 사형이 크로스 할 때 판매 신호를 생성하여 가격 트렌드의 변화를 포착한다. 이 전략은 동시에 가격의 EMA를 깨는 조건과 결합하여 가짜 신호를 필터링합니다.

전략 원칙

이중 EMA 골드 크로스 브레이크 전략은 주로 다음과 같은 원칙에 기초한다:

  1. 가격의 단기 경향을 포착하기 위해 짧은 주기의 EMA ((26 일선) 을 사용하며, 긴 주기의 EMA ((200 일선) 을 사용하여 장기 경향의 방향을 판단하십시오.

  2. 단기 EMA가 장기 EMA를 아래에서 위로 돌파할 때, 황금의 교차점이라고 불리며, 가격 움직임이 하향에서 하향으로 돌진하여 구매 신호를 생성한다.

  3. 단기 EMA가 상향 하향으로 장기 EMA를 돌파할 때, ?? 죽음의 교차 ?? 이라고 하며, 가격 움직임이 ?? 으로부터 하향으로, 판매 신호를 생성한다.

  4. 교차 신호가 발신될 때, 가격도 동시에 EMA를 뚫고, 가짜 신호를 필터링하여 거래 신호의 신뢰성을 보장해야 한다.

  5. 거래 위험을 통제하고 수익을 잠금하기 위해 거래 중지 및 중지 방법을 사용합니다.

우위 분석

이중 EMA 골드 크로스 브레이크 전략은 다음과 같은 장점이 있다:

  1. 이중 EMA를 사용하여 가격 추세와 교차 신호를 판단하여 시장 움직임을 효과적으로 추적할 수 있다.

  2. 가격과 결합하여 필터링 신호를 깨고, 잘못된 신호의 오해를 피하십시오.

  3. 간단한 거래 논리, 이해하기 쉽고 실행하기 쉽습니다.

  4. 다양한 품종과 시간 주기, 유연한 보편적.

  5. 구성 가능한 EMA 파라미터와 스톱 스 조건, 적응력이 강하다.

위험 분석

이중 EMA 골드 크로스 브레이크 전략에는 다음과 같은 위험도 있습니다.

  1. 가격 변동시 EMA 교차는 자주 발생할 수 있으며, 과도한 거래 신호를 생성한다. 교차 횟수를 줄이기 위해 EMA 매개 변수를 적절히 조정할 수 있다.

  2. 이중 EMA는 때때로 지연성이 발생하여 가격 변화에 적시에 대응할 수 없습니다. 다른 지표와 결합하여 확인 할 수 있습니다.

  3. 스톱포인트가 너무 작으면 가격의 약간의 변동에 의해 촉발될 수 있으며, 스톱포인트가 너무 커지면 수익의 일부를 놓칠 수 있다. 시장에 따라 스톱포인트 위치를 조정해야 한다.

  4. 거래 신호가 발생하기 전에 대차 트렌드를 판단하여 역동적인 거래를 피하십시오.

최적화 방향

이중 EMA 골드 크로스 브레이크 전략은 다음과 같은 측면에서 최적화될 수 있다:

  1. 기계 학습 알고리즘을 적용하여 EMA 파라미터를 동적으로 최적화하여 가격 변동에 더 잘 적응 할 수 있습니다.

  2. 다른 지표 확인 신호를 추가하여 신호 품질을 향상시킵니다.

  3. 딥러닝과 함께 예측된 가격 경로로 스톱로스 스톱을 최적의 위치에 가깝게 만듭니다.

  4. 고주파 데이터에 대한 전략적 최적화, 신호의 정확도를 높여라.

  5. 자율적 조정 손해 차단 장치를 추가하여 너무 자주 손해를 방지하십시오.

요약하다

요약하자면, 이중 EMA 골드 크로스 브레이크 전략은 EMA 크로스 신호를 사용하여 가격 움직임과 전환점을 판단하고, 가짜 신호를 피하기 위해 가격 브레이크 필터를 추가하는 신뢰할 수 있고, 안정적이며, 구현하기 쉬운 트렌드 추적 거래 전략이다. 매개 변수 최적화, 신호 필터링 및 적응 조정으로 전략의 효과를 더욱 강화할 수 있다. 거래 아이디어는 간단하고 직관적이며, 모든 유형의 투자자에게 적용되며, 정량 거래의 기본 전략 중 하나입니다.

전략 소스 코드
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Buy/Sell Signal", shorttitle="EMABuySell", overlay=true)

// === INPUTS ===
src = input(close)
ema1Length = input(26, title='EMA-1')
ema2Length = input(200, title='EMA-2')

EMASig = input(true, title="Show EMA ?")
takeProfitPercent = input(2.0, title="Take Profit (%)") / 100
stopLossPercent = input(1, title="Stop Loss (%)") / 100

pema1 = ta.ema(src, ema1Length)
pema2 = ta.ema(src, ema2Length)

// Plotting EMAs
plot(EMASig ? pema1 : na, title='EMA-1', color=color.new(color.blue, 0), linewidth=2)
plot(EMASig ? pema2 : na, title='EMA-2', color=color.new(color.orange, 0), linewidth=2)

// EMA Crossover Buy Signal
EMACrossoverLong = ta.crossover(pema1, pema2)

// EMA Crossunder Short Signal
EMACrossoverShort = ta.crossunder(pema1, pema2)

// Crossover above EMA-200 Long Signal
CrossoverAboveEMA200 = ta.crossover(close, pema2)

// Trading logic for Long
if ((EMACrossoverLong and close > pema1 and close > pema2) or CrossoverAboveEMA200)
    strategy.entry("Buy", strategy.long, qty=1)

// Take Profit logic for Long
longCondition = close >= strategy.position_avg_price * (1 + takeProfitPercent)
if (strategy.position_size > 0 and longCondition)
    strategy.close("Buy")

// Stop Loss logic for Long
stopLossConditionLong = ta.crossunder(pema1, pema2)
if (strategy.position_size > 0 and stopLossConditionLong)
    strategy.close("Buy")

// Trading logic for Short
if (EMACrossoverShort and close < pema1 and close < pema2)
    strategy.entry("Sell", strategy.short, qty=1)

// Take Profit logic for Short
shortCondition = close <= strategy.position_avg_price * (1 - takeProfitPercent)
if (strategy.position_size < 0 and shortCondition)
    strategy.close("Sell")

// Stop Loss logic for Short
stopLossConditionShort = ta.crossover(pema1, pema2)
if (strategy.position_size < 0 and stopLossConditionShort)
    strategy.close("Sell")

// Visual Signals
plotshape(series=EMACrossoverLong or CrossoverAboveEMA200, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=EMACrossoverShort, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)