모멘텀 브레이크와 함께 적응적인 이동 평균 크로스오버 시스템

저자:차오장, 날짜: 2024-02-20 15:43:46
태그:

img

I. 개요

이 전략의 핵심은 적응적인 이동 평균과 추진력 지표를 사용하여 브레이크아웃 거래를 구현하는 것입니다. 첫째, 전략은 하이켄 아시 가중 평균 가격과 세 배 지수 평형으로 적응적인 이동 평균을 구성합니다. 다음으로 추진력 지표와 결합하여 브레이크아웃 신호를 판단하고 거래 결정을합니다.

II. 전략 원칙

이 전략은 세 가지 주요 부분으로 구성됩니다.

  1. 적응 이동 평균의 구축. 전략은 하이켄 아시 가격과 세 배 지수 평형을 사용하여 세 가지 적응 이동 평균을 구축합니다. 이러한 이동 평균은 가격 변화에 신속하게 반응 할 수 있습니다.

  2. 동력 지표의 계산. 전략은 동력 지표로 가격의 삼배 지수 평형 사이의 차이를 사용합니다. 이 지표는 가격 트렌드의 변화를 강조 할 수 있습니다.

  3. 이동 평균 크로스오버는 거래 신호입니다. 빠른 이동 평균이 느린 평균을 넘을 때 구매 신호가 생성됩니다. 빠른 평균이 느린 평균을 넘을 때 판매 신호가 생성됩니다.

III. 전략의 장점

적응적인 이동 평균과 모멘텀 지표를 결합함으로써이 전략은 가격의 트렌드 변화를 빠르게 파악하고 거래 신호를 생성 할 수 있습니다. 주요 장점은 다음과 같습니다.

  1. 적응적인 이동 평균을 구성하는 하이켄 아시 가격은 가격 변화에 더 빠르게 반응할 수 있습니다.
  2. 삼배 지수 평형은 가격 데이터를 효과적으로 평형시키고 변수를 처리할 수 있습니다.
  3. 동력 지표는 가격의 트렌드 변화 지점을 명확하게 식별할 수 있습니다.
  4. 이동 평균 크로스오버는 명확한 거래 신호를 생성합니다.
  5. 조절을 위한 유연한 파라미터 설정

IV. 위험 및 완화

  1. 크로스오버 신호는 가격이 격렬하게 변동할 때 오해 할 수 있습니다. 필요한 경우 신호를 필터하기 위해 매개 변수를 조정하십시오.
  2. 이 전략은 황소 시장에서 더 잘 작동합니다. 곰 시장에서 자본을 보호하기 위해 손해를 멈추십시오.

V. 최적화 방향

  1. 더 나은 매개 변수를 찾기 위해 더 많은 종류의 이동 평균을 테스트하십시오.
  2. 거짓 신호를 피하기 위해 추가 필터를 추가합니다. 예를 들어 볼륨 필터.
  3. 다양한 시장에 적응하기 위해 매개 변수 설정을 최적화합니다.

VI 결론

이 전략은 가격 변화에 신속하게 대응하여 효율적인 거래 신호를 생성하기 위해 적응 가능한 이동 평균과 모멘텀 지표를 통합합니다. 매개 변수 조정을 통해 다른 시장 환경에 적응 할 수 있습니다. 이것은 매우 실용적인 브레이크아웃 거래 전략입니다.


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

//@version=5
strategy("YASIN Crossover Strategy", overlay=true)

EMAlength = input(55, 'EMA LENGTH?')

src = ohlc4
var float haOpen = na
haOpen := na(haOpen[1]) ? src : (src + haOpen[1]) / 2
haC = (ohlc4 + haOpen + ta.highest(high, 1) + ta.lowest(low, 1)) / 4
EMA1 = ta.ema(haC, EMAlength)
EMA2 = ta.ema(EMA1, EMAlength)
EMA3 = ta.ema(EMA2, EMAlength)
TMA1 = 3 * EMA1 - 3 * EMA2 + EMA3
EMA4 = ta.ema(TMA1, EMAlength)
EMA5 = ta.ema(EMA4, EMAlength)
EMA6 = ta.ema(EMA5, EMAlength)
TMA2 = 3 * EMA4 - 3 * EMA5 + EMA6
IPEK = TMA1 - TMA2
YASIN = TMA1 + IPEK
EMA7 = ta.ema(hlc3, EMAlength)
EMA8 = ta.ema(EMA7, EMAlength)
EMA9 = ta.ema(EMA8, EMAlength)
TMA3 = 3 * EMA7 - 3 * EMA8 + EMA9
EMA10 = ta.ema(TMA3, EMAlength)
EMA11 = ta.ema(EMA10, EMAlength)
EMA12 = ta.ema(EMA11, EMAlength)
TMA4 = 3 * EMA10 - 3 * EMA11 + EMA12
IPEK1 = TMA3 - TMA4
YASIN1 = TMA3 + IPEK1
t1 = time(timeframe.period, "0020-0030")


// بررسی شرایط سیگنال خرید و فروش
buyCondition = YASIN1 > YASIN and YASIN1[1] <= YASIN[1]
sellCondition = YASIN1 < YASIN and YASIN1[1] >= YASIN[1]

// اعمال سیگنال خرید و فروش
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)

더 많은