더블 이동 평균 돌파 전략


생성 날짜: 2023-12-05 10:46:05 마지막으로 수정됨: 2023-12-05 10:46:05
복사: 0 클릭수: 649
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

더블 이동 평균 돌파 전략

개요

쌍평선 돌파 전략은 빠른 라인 EMA와 느린 라인 EMA를 계산하고, 구매 신호가 빠른 라인 상에서 느린 라인을 통과할 때 더 많이 하고, 판매 신호가 빠른 라인 아래에서 느린 라인을 통과할 때 평점을 매긴다. 이 전략은 동시에 MACD 지표를 보조 판단 지표로 결합한다. MACD 기둥 라인 상에서 0 축을 통과할 때 구매 신호를 생성할 수 있으며, 평균 라인 전략과 일치하여 신호를 추가로 검증한다.

탈퇴 메커니즘에서, 전략은 중지 손실과 중지 지점을 설정한다. 중지 손실은 출입 가격의 일정한 비율 아래로 고정되어, 하락 위험을 제어하기 위해 사용된다. 중지 손실은 출입 가격의 일정한 비율 위로 고정되어, 이익을 잠금하기 위해 사용된다.

종합적으로, 이 전략은 여러 지표들을 결합하고, 진출 규칙이 명확하며, 트렌드 추적을 고려하고, 단선 운영 기회에 주의를 기울이며, 최적화되면 높은 변동성 주식의 선택 시간 거래에 적용할 수 있다.

전략 원칙

쌍평선 돌파 전략의 핵심 지표는 빠른 라인 EMA와 느린 라인 EMA이다. EMA는 지수 이동 평균을 나타냅니다. 이는 트렌드 추적 지표입니다. 빠른 라인 EMA 파라미터는 일반적으로 단기 트렌드를 포착하기 위해 단기 설정됩니다. 느린 라인 EMA 파라미터는 일반적으로 장기 트렌드 방향을 판단하기 위해 장기 설정됩니다.

이 전략의 빠른 라인 EMA 주기는 12일이고, 느린 라인 EMA 주기는 26일이다. 이 세트의 파라미터는 비교적 전형적이며, 매칭 시간대는 또한 더 적합하다. 주식의 매일 종결 가격은 EMA를 계산하는 가격 입력이다.

또한, 전략은 보조 판단 지표로서 MACD를 도입한다. MACD 지표의 정의는 빠른 선 EMA (설정 12일) 을 빼고 느린 선 EMA (설정 26일) 을 빼고 MACD를 부드럽게 처리하면 신호 선이 나온다. MACD의 0축을 통과하면 단기 이익이 장기 이익보다 더 많은 것을 의미하며, 구매 신호이다. 이 신호는 평평 선 전략과 일치하여 검증 가능한 효과를 얻을 수 있으며, 신호의 신뢰성을 높인다.

마지막으로, 주식의 일일 상승률이 예상한 하위값 (설정값은 8%) 보다 높지 않은지를 모니터링하고, 일일 상승률이 이 값을 초과하면 구매 신호를 발생시킨다. 왜냐하면, 높은 변동성 주식들에 대해, 큰 일일 상승량 정지판이 상시 상황 특징이기 때문에, 이 때는 단선 기회를 잡기 위한 신호이기도 하다.

탈퇴에, 전략은 중지 손실을 설정하고 중지한다. 중지 손실은 출입 가격의 일정한 비율 아래로 고정되어있다 (부적절 5%), 손실을 제어하기 위해; 중지 손실은 출입 가격의 일정한 비율 위로 고정되어있다 (부적절 40%), 이익을 잠금하기 위해.

우위 분석

두 개의 평평선 돌파 전략은 다음과 같은 장점이 있습니다.

  1. 트렌드 추적과 단선 조작을 결합하여 유연성이 높습니다. 쌍평균선은 자체적으로 중장기 트렌드를 판단하는데 적합하며, MACD 지표와 가중치 뚫림 판단을 중첩하여 단선 거래 기회를 동시에 고려할 수 있습니다.

  2. 구매/판매 신호는 비교적 신뢰할 수 있고 판단하기 쉽다. 빠른 선의 EMA에서 느린 선의 EMA를 뚫고 표준을 형성하는 골드포크 신호를 판단하기 쉽고 직관적이다. MACD 지표와 결합하면 검증 효과를 달성하고 신호 품질을 향상시킬 수 있다.

  3. 스톱 스톱 손실 원칙을 적용하면 위험을 제어할 수 있다. 사전 스톱 손실을 설정하면 손실 부분을 빠르게 삭감하여 큰 면적 손실을 피할 수 있으며, 스톱 스톱을 설정하면 수익 일부를 잠금 할 수 있다.

  4. 규칙 매개 변수는 조정 가능하며 적응력이 강하다. 빠른 라인 EMA 주기, 느린 라인 EMA 주기, 일일 상승 하락값 등의 매개 변수는 자유롭게 설정할 수 있으며, 다른 주식에 대해 최적화하여 적응력을 높일 수 있다.

위험 분석

이 전략에는 다음과 같은 위험도 있습니다.

  1. 단일 지표 조합은 거짓 신호를 생성할 수 있다. 쌍평선 및 MACD 모두 상반된 거짓 신호가 발생할 수 있으며, 추적 효과는 좋지 않다. 더 많은 다른 유형의 지표를 도입하여 일치 검증을 고려할 수 있다.

  2. 대규모 스톱 손실을 고려하지 않습니다. 중대한 블랙 스 사건이 발생했을 경우, 충분히 큰 총 스톱 손실 값이 설정되지 않아 엄청난 손실이 발생할 수 있습니다. 이것은 인적 개입을 통해 위험을 제어해야합니다.

  3. 빠른 라인 EMA와 느린 라인 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)