5일 이동평균선 돌파전략


생성 날짜: 2024-02-05 15:16:05 마지막으로 수정됨: 2024-02-05 15:16:05
복사: 0 클릭수: 666
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

5일 이동평균선 돌파전략

개요

이 전략은 5 일 이동 평균 통로와 행보 개념의 매매점을 결합하여 통로 돌파 및 단선 거래의 이중 기능을 구현한다. 전략은 먼저 5 일 이동 평균의 높고 낮은 점을 통로 오르락 내리락으로 계산하고, 통로 돌파 신호와 행보 개념의 형태적 특성을 결합하여 진출 및 출퇴근 시간을 판단한다.

전략 원칙

  1. 5일간의 최고 가격과 최저 가격의 이동 평균을 통로 상하철로 계산합니다.
  2. 마감 가격이 궤도에 오르면 구매 신호가 생성됩니다.
  3. 마감 가격 아래에서 경로를 통과할 때, 판매 신호를 생성합니다.
  4. 자전거 개념의 형태적 특징을 결합하여 가격이 자전거의 구매 및 판매 특성에 부합하는지 판단합니다.
    • 구매 특징: 종전 가격> 개시 가격, 최고 가격- 종전 가격 < 종전 가격- 개시 가격, 개시 가격- 최저 가격 < 종전 가격- 개시 가격
    • 팔기 특징: 오픈 가격 - 클로징 가격> 어제의 오픈 가격 - 클로징 가격, 그리고 연속으로 3개의 K선 형태 이렇게
  5. 최종 구매 조건 = 통로 돌파 신호와 마차 구매 특성이 동시에 충족
  6. 최종 판매 조건 = 통로 돌파 신호와 마차 판매 특성이 동시에 충족

전략적 이점

  1. 통로 침투 전략과 보행 개념의 결합으로, 여러 단계의 판단을 수행하여 오작동의 위험을 방지합니다.
  2. 채널을 뚫는 전략은 중간주기의 트렌드를 포착할 수 있습니다.
  3. 이 아이디어는 짧은 선의 역전 가능성을 판단할 수 있습니다.
  4. 여러 시장 환경에 적합한 간단하고 쉽게 조정할 수 있는 매개 변수

전략적 위험

  1. 큰 변동 시장에서, 통로가 자주 뚫려서 잘못된 신호가 발생할 수 있습니다.
  2. ‘행동차 개념 특성 판단이 엄격하지 않으면, 실제 전환점을 넘어서 구매할 수 있고, 판매량이 부족할 수 있다’
  3. 잘못된 매개 변수 설정은 거래 신호의 품질에도 영향을 미칠 수 있습니다.

전략 최적화 방향

  1. 다양한 변수 아래의 통로를 테스트하여 더 나은 변수 조합을 찾을 수 있습니다.
  2. 채널 사이클을 조정할 수 있고, 더 짧거나 더 긴 사이클이 더 효과적인지 테스트할 수 있습니다.
  3. 운전자의 특징을 판단하여 노이스를 필터링하기 위해 더 엄격한 조건을 설정할 수 있습니다.
  4. 단위 손실을 제어하기 위해 스톱 손실을 증가시키는 전략을 테스트 할 수 있습니다.

요약하다

이 전략은 통로 돌파 전략과 마차 개념의 단선 거래 전략을 통합하여 여러 단계의 판단과 위험 통제를 구현한다. 최적화하면 더 나은 전략 성능을 얻을 수 있다. 참고로, 매개 변수 설정과 위험 통제는 전략 효과에 중요한 영향을 미치며, 충분한 테스트와 검증이 필요합니다.

전략 소스 코드
/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("5MABAND + Mileage Concept Buy & Sell Strategy", overlay=true)

// Command 1 - 5MABAND Calculation
length = input(5, title="Number of Candles for Average")
avgHigh = ta.sma(high, length)
avgLow = ta.sma(low, length)

// Plotting 5MABAND Bands
plot(avgHigh, color=color.green, title="5MABAND High Line", linewidth=2)
plot(avgLow, color=color.red, title="5MABAND Low Line", linewidth=2)

// Command 2 - Mileage Concept Buy Entry
mileageBuyCondition = close > open and high - close < close - open and open - low < close - open and close - open > close[1] - open[1] and close - open > close[2] - open[2] and close - open > close[3] - open[3] and close > open and open > close[1]

// Command 3 - Mileage Concept Sell Entry
mileageSellCondition = open - close > open[1] - close[1] and open - close > open[2] - close[2] and open - close > open[3] - close[3] and open > close and close > open[1] and close > avgHigh

// Command 4 - 5MABAND Buy Entry
buyAlertCandle_5MABAND = close > avgHigh
plotshape(buyAlertCandle_5MABAND, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, title="Buy Signal (5MABAND)")

// Command 5 - 5MABAND Sell Entry
sellAlertCandle_5MABAND = close < avgLow
plotshape(sellAlertCandle_5MABAND, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, title="Sell Signal (5MABAND)")

// Command 6 - 5MABAND Exit Trigger
exitTriggerCandle_5MABAND_Buy = low < avgLow
exitTriggerCandle_5MABAND_Sell = high > avgHigh

// Exit Signals for 5MABAND
exitBuySignal_5MABAND = close < avgLow
exitSellSignal_5MABAND = close > avgHigh

// Buy and Sell Conditions for 5MABAND
buyCondition_5MABAND = close > avgHigh and buyAlertCandle_5MABAND
sellCondition_5MABAND = close < avgLow and (exitTriggerCandle_5MABAND_Buy or exitSellSignal_5MABAND)

// Combine Buy Conditions for Mileage Concept and 5MABAND
combinedBuyCondition = mileageBuyCondition and buyCondition_5MABAND
combinedSellCondition = mileageSellCondition and sellCondition_5MABAND

// Execute Buy and Sell Orders
strategy.entry("Buy", strategy.long, when = combinedBuyCondition)
strategy.close("Buy", when = sellCondition_5MABAND)

strategy.entry("Sell", strategy.short, when = combinedSellCondition)
strategy.close("Sell", when = exitBuySignal_5MABAND)

// Exit Buy and Sell Orders for 5MABAND
strategy.close("Buy", when = exitBuySignal_5MABAND)
strategy.close("Sell", when = exitSellSignal_5MABAND)