이중 이동 평균 돌파 전략

저자:차오장, 날짜: 2023-12-05 10:46:05
태그:

img

전반적인 설명

이중 이동 평균 돌파 전략은 빠른 EMA가 느린 EMA를 넘을 때 구매 신호를 생성하고 빠른 EMA가 느린 EMA를 넘을 때 포지션을 종료합니다. 전략은 또한 MACD 지표를 보조 판단 지표로 통합합니다. MACD 히스토그램이 0 라인을 넘을 때 구매 신호가 생성되며, 신호를 추가적으로 확인하기 위해 이동 평균 전략과 일치 할 수 있습니다. 또한 전략은 일일 상승이 특정 비율의 임계치에 도달하는지 여부를 모니터링합니다. 일일 상승이 설정된 임계치를 초과하면 구매 신호도 생성됩니다.

출구 측면에서 전략은 스톱 로스 수준을 설정하고 수익을 취합니다. 다운사이드 위험을 제어하기 위해 엔트리 가격보다 특정 비율로 스톱 로스가 고정됩니다. 수익을 확보하기 위해 엔트리 가격보다 특정 비율로 수익을 취합니다.

요약하자면, 전략은 트렌드를 따르는 것과 단기적인 거래 기회를 모두 고려하여 명확한 입출입 규칙과 여러 지표를 결합합니다. 최적화 후 매우 변동성있는 주식의 시장 타이밍 거래에 적용 될 수 있습니다.

전략 논리

이중 이동 평균 돌파구 전략의 핵심 지표는 빠른 EMA와 느린 EMA입니다. EMA는 추세를 따르는 지표인 기하급수적인 이동 평균을 나타냅니다. 빠른 EMA는 일반적으로 단기 트렌드를 포착하기 위해 더 짧은 매개 변수를 가지고 있으며 느린 EMA는 일반적으로 장기 트렌드 방향을 결정하기 위해 더 긴 매개 변수를 가지고 있습니다. 빠른 EMA가 느린 EMA를 넘을 때 단기 트렌드의 강화를 나타내고 긴 거리를 제안합니다. 빠른 EMA가 느린 EMA를 넘을 때 단기 트렌드의 약화를 나타내고 포지션을 닫는 것을 제안합니다.

이 전략의 기본 매개 변수는 빠른 EMA는 12일이고 느린 EMA는 26일이다. 이 매개 변수 집합은 전형적이며 매칭 시간 프레임이 적합하다. 주식의 폐쇄 가격은 EMA를 계산하는 가격 입력으로 사용됩니다.

또한, 전략은 보조 판단 도구로 MACD 지표를 도입한다. MACD 지표의 정의는 빠른 EMA (12 일 기본값) 를 빼고 느린 EMA (26 일 기본값) 을 따른다. 그 다음 MACD의 신호 라인 평평화 (signal line smoothing) 를 따른다. MACD가 0 라인을 넘을 때, 단기 이익이 장기 이익을 초과하고 구매 신호를 준다. 이 신호는 이동 평균 전략과 일치하며 검증의 역할을 수행하고 거래 신호의 신뢰성을 향상시킬 수 있다.

마지막으로, 전략은 주식의 일일 증가가 미리 설정된 임계치를 초과하는지 여부를 모니터링합니다. (전산 8%). 매우 변동성있는 주식에서는 큰 일일 제한이 일반적인 시장 특성입니다.이 임계치를 넘어서면 단기 거래 기회를 포착하기위한 신호를 제공합니다.

출구에 대한 전략은 스톱 로스 레벨과 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업

이점 분석

이중 이동 평균 크로스오버 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 트렌드 추적 및 단기 거래의 유연한 조합. 이중 이동 평균 자체는 중장기 트렌드를 결정하는 데 적합합니다. MACD 지표와 볼륨 브레이크아웃 판단을 추가하면 단기 거래 기회를 고려할 수 있습니다.

  2. 평가하기 쉬운 신뢰할 수 있는 거래 신호. 느린 EMA 위에 빠른 EMA를 통과하면 간단하고 직관적으로 결정 가능한 표준 황금 십자 신호를 형성합니다. MACD 지표를 통합하면 검증의 역할을 수행하고 신호 품질을 향상시킬 수 있습니다.

  3. 스톱 로스 및 영업 이윤 원칙을 통해 통제 가능한 위험. 스톱 로스 레벨을 미리 설정하면 손실을 빠르게 절감하고 거대한 인출을 피할 수 있습니다. 영업 이윤 수준을 설정하면 부분적 이익을 잠금 할 수 있습니다.

  4. 강력한 적응력을 위해 조정 가능한 매개 변수. 빠른 EMA 기간, 느린 EMA 기간 및 일일 증가 문턱과 같은 매개 변수를 자유롭게 설정할 수 있습니다. 적응력을 향상시키기 위해 전략은 다른 주식에 최적화 될 수 있습니다.

위험 분석

이중 이동 평균 크로스오버 전략은 또한 다음과 같은 위험을 가지고 있습니다.

  1. 단일 지표 조합은 잘못된 신호를 생성 할 수 있습니다. 이중 이동 평균과 MACD 모두 잘못된 신호와 열악한 추적 효과를 가질 수 있습니다. 매칭 검증을 위해 더 많은 유형의 지표를 도입해야합니다.

  2. 주요 스톱 로스 레벨은 고려되지 않습니다. 블랙 스완 이벤트의 경우 전체 스톱 로스 임계치가 충분히 크지 않은 경우 큰 손실이 발생할 수 있습니다. 이것은 위험 통제를 위해 수동 개입이 필요합니다.

  3. 부적절한 EMA 기간 설정은 전략을 무효화 할 수 있습니다. 매개 변수가 올바르게 설정되지 않으면 잘못된 신호로 이어지는 여러 변동이 발생할 수 있습니다. 매개 변수는 주식 특성에 따라 테스트하고 최적화해야합니다.

  4. 입구 및 출구 지점을 선택하는 정확하지 않은 타이밍. 전략은 가장 좋은 입구 및 출구 지점을 선택하지 않습니다. 최적화를 위해 더 복잡한 규칙 또는 기계 학습 기술이 필요합니다.

최적화 방향

이중 이동 평균 크로스오버 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 신호 품질을 향상시키기 위해 검증 지표를 증가시킵니다. KDJ와 BOLL와 같은 다른 지표는 잘못된 신호를 줄이기 위해 다중 지표 검증 시스템을 형성하기 위해 테스트 할 수 있습니다.

  2. 최적의 출입점과 출입점을 식별하기 위해 기계 학습 모델을 증가시키고, 최적의 거래 시기를 결정하는 모델을 구축하기 위해 많은 양의 역사적 데이터를 수집하여 타이밍 위험을 줄입니다.

  3. EMA 기간 매개 변수 및 전략에 대한 테스트 영향을 최적화합니다. 최적의 집합을 찾고 안정성을 향상시키기 위해 다른 매개 변수 조합을 그리드 검색 할 수 있습니다.

  4. 시장 체제에 기반한 적응적 인 스톱 손실 메커니즘을 추가하십시오. 스톱 손실 수준을 동적으로 추적하십시오. 승리율을 향상시키기 위해 특별한 시장 조건에서 적절한 스톱 손실 범위를 느슨하게하십시오.

  5. 최적의 수익률을 조사하여 수익률을 최적화하십시오. 예를 들어 동적인 수익률 목표를 설정하고, 황소 시장에서 적절한 트레일링 스톱을 설정하십시오.

결론

이중 이동 평균 크로스오버 전략은 완전한 프레임워크, 합리적인 지표 선택 및 매개 변수 설정을 가지고 있습니다. 그것은 매우 변동성있는 주식을위한 단기 거래 전략을 따르는 적절한 추세입니다. 그러나 판단 지표를 증가시키는 것, 기계 학습을 추가하는 것, 및 매개 변수 최적화를 포함하여 최적화 할 여지가 있습니다.


/*backtest
start: 2022-11-28 00:00:00
end: 2023-12-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Volatile Stocks", overlay=true)

//Trading Strategy for Highly Volitile Stocks//
// by @ShanghaiCrypto //

////EMA////
fastLength = input(12)
slowLength = input(26)
baseLength = input(100)
price = close

emafast = ema(price, fastLength)
emaslow = ema(price, slowLength)
emabase = ema(price, baseLength)

///MACD////
MACDLength = input(9)
MACDfast = input(12)
MACDslow = input(26)
MACD = ema(close, MACDfast) - ema(close, MACDslow)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

////PUMP////
OneCandleIncrease = input(8, title='Gain %')
pump = OneCandleIncrease/100

////Profit Capture and Stop Loss//////
stop = input(5.0, title='Stop Loss %', type=float)/100
profit = input(40.0, title='Profit %', type=float)/100
stop_level = strategy.position_avg_price * (1 - stop)
take_level = strategy.position_avg_price * (1 + profit)

////Entries/////
if crossover(emafast, emaslow)
    strategy.entry("Cross", strategy.long, comment="BUY")

if (crossover(delta, 0))
    strategy.entry("MACD", strategy.long, comment="BUY")
    
if close > (open + open*pump)
    strategy.entry("Pump", strategy.long, comment="BUY")

/////Exits/////
strategy.exit("SELL","Cross", stop=stop_level, limit=take_level)
strategy.exit("SELL","MACD", stop=stop_level, limit=take_level)
strategy.exit("SELL","Pump", stop=stop_level, limit=take_level)

////Plots////
plot(emafast, color=green)
plot(emaslow, color=red)
plot(emabase, color=yellow)
plot(take_level, color=blue)
plot(stop_level, color=orange)

더 많은