모멘텀 브레이크아웃 이동평균 거래 전략


생성 날짜: 2023-11-01 17:13:40 마지막으로 수정됨: 2023-11-01 17:13:40
복사: 0 클릭수: 595
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 브레이크아웃 이동평균 거래 전략

개요

이 전략은 이동 평균, MACD 지표와 K 선 형태를 조합하여 낮은 변동성 주식 거래 신호를 생성합니다. 특정 조건이 충족되었음을 알려주는 구매 또는 판매 신호를 인쇄 할 수 있습니다. 나는 그것을 시간 절약 도구로 사용하여 어떤 차트가 주목해야하는지 식별 할 수 있습니다.

전략 원칙

이 전략은 세 가지 지표에 기초하여 거래 신호를 판단합니다.

  1. 이동 평균: 빠른 라인, 느린 라인 및 기준 라인 세 개의 이동 평균을 계산하여 빠른 라인에서 느린 라인을 통과 할 때 구매 신호를 생성합니다.

  2. MACD 지표: MACD 기둥과 신호선을 계산하여 MACD 기둥이 0을 통과하면 구매 신호를 생성한다.

  3. K선 형태: 단일 K선의 상승률을 계산하고, 상승률이 일정 비율을 초과할 때 주식회사 마킹으로 판단하여 구매 신호를 발생시킨다.

판매 신호 판단에 있어서, 전략은 중지 손실 지점과 중지 지점을 설정하고, 가격이 중지 손실 지점을 만지면 판매 신호를 발생시키고, 가격이 중지 지점을 만지면 판매 신호를 발생시킨다.

전략적 이점

  1. 조합은 서로 검증할 수 있는 세 가지 다른 유형의 기술 지표를 사용하여 가짜 신호를 방지합니다.

  2. 유동성이 좋으며, 낮은 변동성 주식에 적합하다. 이동 평균 지표는 중장선 트렌드를 식별할 수 있고, MACD 지표는 단장선 모멘텀을 식별할 수 있으며, K선 형태는 집주인의 행동을 식별할 수 있다.

  3. 스톱 로즈와 스톱 스 조건이 설정되어 수익을 최대한 고정시키고 손실을 막습니다.

  4. 전략은 간단하고 명확하며, 실행하기 쉽습니다. 입력 파라미터는 직관적으로 쉽게 조정할 수 있으며, 다양한 시장 환경에 유연하게 적응할 수 있습니다.

  5. 지표 매개 변수는 최적화 테스트를 거쳐 안정성과 수익성이 강하다.

전략적 위험

  1. 중장선 트렌드를 추적하는 트렌드 전략으로, 불안정한 시장에서 거래 효과가 좋지 않아 종종 작은 손실이 발생할 수 있습니다.

  2. K선 형태는 상대적으로 주관적이며, 주주의 행동을 정확하게 판단하기 어렵고, 약간의 오해가 발생할 수 있다.

  3. 스톱로스 및 스톱 설정은 상이한 주식에 따라 조정될 필요가 있으며, 너무 작은 설정은 조기 스톱로스를 초래할 수 있으며, 너무 큰 설정은 수익을 제한할 수 있다.

  4. 이 전략은 상대적으로 복잡하며, 동시에 여러 지표를 병행해야 하며, 거래자에게 기술적인 요구가 높다. 최적화 매개 변수를 지속적으로 추적해야 한다.

최적화 방향

  1. 시장 상태에 대한 판단을 높이고, 트렌드가 명확한 단계에서 트렌드를 추적하고, 불안정한 시기에 거래를 피한다. ATR 지표와 같은 보조 판단을 추가할 수 있다.

  2. 이동 평균 파라미터를 최적화하고, 조정 주기가 상장된 주식에 더 적합하도록 한다. 또한 다른 유형의 이동 평균을 시도할 수 있다.

  3. 기계학습과 같은 방법을 도입하여 주주의 행동을 모델링하여 판단을 줄일 수 있습니다.

  4. 고정된 설정을 사용하는 대신 동적으로 조정할 수 있도록 스톱로스 및 스톱스트램 전략을 개발한다.

  5. 전략을 단순화하여 너무 주관적인 지표들을 제거하여 잘못된 판단의 확률을 줄일 수 있다. 또한 같은 유형의 지표들을 평균으로 삼는 것도 고려할 수 있다.

요약하다

이 전략은 이동 평균, MACD 지표, 주주 행동 판단을 통합하여 보다 완전한 저위험 주식 거래 전략을 형성한다. 이 전략은 장점이 있지만 개선할 수 있는 문제도 있다. 비교적 복잡하지만, 거래자의 기술 요구는 너무 높지 않다. 지속적인 최적화와 테스트를 통해 이 전략은 매우 실용적인 수치화 거래 도구가 될 수 있다.

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

//@version=3
strategy("Simple Stock Strategy", overlay=true)

//Simple Trading Strategy for Stocks//
// by @ShanghaiCrypto //

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

mafast = sma(price, fastLength)
maslow = sma(price, slowLength)
mabase = sma(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(6, title='Gain %')
pump = OneCandleIncrease/100

////Profit Capture and Stop Loss//////
stop = input(2.0, title='Stop Loss %', type=float)/100
profit = input(6.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(mafast, maslow)
    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(mafast, color=green)
plot(maslow, color=red)
plot(mabase, color=yellow)
plot(take_level, color=blue)
plot(stop_level, color=orange)