이동평균 교차 양적 전략


생성 날짜: 2023-12-22 15:05:24 마지막으로 수정됨: 2023-12-22 15:05:24
복사: 2 클릭수: 561
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

이동평균 교차 양적 전략

개요

이 전략은 EMA 지수 이동 평균과 MACD 지수를 계산하여 두 가지의 교차 신호를 결합하여 입지와 출전을 판단합니다. 가격이 EMA 라인을 넘어서 MACD 라인을 넘어서 신호 라인을 넘어서면 더 많이; 가격이 EMA 라인을 넘어서 MACD 라인을 넘어서 신호 라인을 넘어서면 공허합니다.

전략 원칙

이 전략은 EMA 지수 이동 평균을 사용하여 현재 트렌드 방향을 판단한다. MACD 지표의 쌍평등선 교차를 사용하여 매매 신호를 생성한다. 가격이 EMA 라인을 뚫었을 때만 MACD의 황금 포크 사다리 신호를 판단한다. 이것은 잘못된 신호를 피할 수 있다.

이 전략은 주로 이동 평균 거래 전략과 MACD 거래 전략의 장점을 기반으로 한다. 이동 평균은 트렌드 방향을 더 잘 판단한다. MACD 지수 평평한 이동 평균의 빠른 느린 라인 교차는 구매 판매 지점을 제안 할 수 있다. 둘을 결합하여 사용하면 신호의 정확도를 높일 수 있다.

우위 분석

이 전략은 EMA와 MACD 이중 지표 판단과 결합하여 일부 잘못된 신호를 효과적으로 필터링하여 신호 품질을 향상시킬 수 있습니다. 동시에, EMA는 주 트렌드를 판단하고, MACD는 특정 매매 지점을 판단하며, 둘은 상호 보완하여 더 나은 수익을 얻을 수 있습니다.

또한, 이 전략은 MACD 신호를 가격의 EMA 평균선을 돌파했을 때만 고려하여, 충격적인 상황에서 잘못된 거래가 발생하지 않도록 해줍니다. 이것은 전략의 안정성을 강화합니다.

위험 분석

이 전략의 주요 위험은 변수 설정에 있다. 만약 EMA와 MACD의 변수 설정이 잘못되면, 신호를 놓치거나 잘못된 신호를 생성한다. 또한, 시장 추세가 변하면, 전략은 일정 손실을 초래한다.

위험을 줄이기 위해 EMA와 MACD의 매개 변수가 현재 시장 주기와 일치하도록 매개 변수를 적절히 조정해야 한다. 또한 단편 손실을 제어하기 위해 손해 제어를 채택하는 것이 권장된다. 시장이 바닥에 진입하거나 지지를 만질 때, 지속적인 손실을 피하기 위해 적절한 거래를 중단하는 것이 고려되어야 한다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 동적으로 최적화된 파라미터로, EMA와 MACD의 파라미터가 실시간 상황과 주기에 따라 조정될 수 있도록, 파라미터의 유효성을 보장한다

  2. BOLL 채널 또는 KD 지표와 같은 다른 지표 결합을 추가하여 전략 신호를 풍부하게합니다.

  3. 기계 학습 방법을 사용하여 전략 변수를 자동으로 최적화하고 피드백 결과에 따라 변수를 조정합니다.

  4. EMA 평균선을 돌파할 때 방향의 강도를 판단하여 가짜 돌파를 피하십시오.

  5. 이윤을 고정하고 손실을 줄이기 위해 스톱 스톱 손실 전략을 추가합니다.

요약하다

이 평평선 교차량화 전략은 EMA와 MACD 이중 지표와 결합하여 고품질의 신호를 효과적으로 생성할 수 있습니다. 최적화 파라미터 설정, 스톱로스 스톱을 추가하고 다른 지표를 추가하는 등이 전략의 안정성과 수익성을 더욱 향상시킬 수 있습니다. 이 전략은 효과적이고 간단하며 양자 거래자에게는 훌륭한 참고 및 응용 가치가 있습니다.

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

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

// Input definitions
fastLength = input(12, title="Fast Length")
slowlength = input(26, title="Slow Length")
MACDLength = input(9, title="MACD Length")
emaLength = input(13, title="EMA Length")
//smaLength = input(200, title="SMA Length")

// SMA Indicator - Are we in a Bull or Bear market according to 200 SMA?
//SMA = ta.ema(close, smaLength)

// EMA Indicator - Are we in a rally or not?
EMA = ta.ema(close, emaLength)

// MACD Indicator - Is the MACD bullish or bearish?
MACD = ta.ema(close, fastLength) // - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD

// Set Buy/Sell conditions
buy_entry = close > EMA and delta > 5 ? true : close > EMA and delta > -5
sell_entry = close < EMA and delta < -5 ? true : close < EMA and delta < 5

if buy_entry
    strategy.entry(id='EL', direction=strategy.long)

if sell_entry
    strategy.entry(id='ES', direction=strategy.short)

// strategy.entry("Buy", strategy.long)
// strategy.entry("Sell", strategy.short)