모멘텀 스윙 효과적 수익 전략 (Momentum Swing Effective Profit Strategy) 은 스윙 트레이딩 원칙과 모멘텀 지표를 통합하여 중장기 금융 시장에서 수익 기회를 포착하기 위해 설계된 양적 거래 전략이다. 이 전략은 이동 평균, 크로스오버 신호 및 볼륨 분석을 포함한 기술적 지표의 조합을 사용하여 구매 및 판매 신호를 생성합니다. 목표는 시장 추세를 파악하고 수익을 위해 가격 모멘텀을 활용하는 것입니다.
구매 신호는 A1, A2, A3, XG 및 주간 슬로프를 포함한 여러 요인에 의해 결정됩니다. 구체적으로:
A1 조건: 특정 가격 관계를 확인하고, 가장 높은 가격과 폐쇄 가격의 비율이 1.03 미만인 것을 확인하고, 가장 낮은 가격과 오픈 가격의 비율이 1.03 미만이고, 가장 높은 가격과 이전 폐쇄 가격의 비율이 1.06 미만인 것을 확인합니다. 이 조건은 잠재적 인 상승 동력을 나타내는 특정 패턴을 찾습니다.
A2 조건: 종료 가격과 관련된 가격 관계를 확인하고 종료 가격과 개시 가격의 비율이 1.05보다 높거나 종료 가격과 이전 종료 가격의 비율이 1.05보다 높다는 것을 확인합니다. 이 조건은 상승 가격 움직임과 동력의 징후를 찾습니다.
A3 조건: 현재 부피가 지난 60 기간 동안 가장 높은 부피를 넘어서는지 확인하는 양에 초점을 맞추고 있습니다. 이 조건은 구매 관심의 증가를 확인하고 잠재적인 상승 가격 움직임의 강도를 확인하는 것을 목표로합니다.
XG 조건: A1 및 A2 조건을 결합하고 현재와 이전 바에 모두 해당하는지 확인합니다. 또한 같은 비율의 9 기간 SMA보다 높은 5 기간 EMA 교차에 대한 종료 가격의 비율을 확인합니다. 이 조건은 여러 요인이 정렬 될 때 잠재적 인 구매 신호를 식별하는 데 도움이되며 강한 상승 동력과 잠재적 인 입점 지점을 나타냅니다.
주간 트렌드 요인: 주간 시간 프레임에서 50 기간 SMA의 기울기를 계산합니다. 기울기가 긍정적 인지 확인하여 주간 기준으로 전반적인 상승 추세를 나타냅니다. 이 조건은 주가가 상승 추세에 있음을 추가적으로 확인합니다.
이 모든 조건이 충족되면 구매 조건이 발생하여 긴 포지션에 들어갈 수 있는 유리한 시간을 나타냅니다.
판매 조건은 전략에서 비교적 간단합니다.
판매 신호: 판매 조건은 종료 가격이 10 기간 EMA 이하로 넘어가는지 확인합니다. 이 조건이 충족되면 상승 가격 동력의 잠재적 인 반전 또는 약화를 나타냅니다. 판매 신호가 생성됩니다.
모멘텀 스윙 효과적 수익 전략은 매개 변수 최적화 및 조건 통합을 통해 스윙 거래 원칙과 모멘텀 지표를 통합하여 백테스트에서 상당한 수익을 달성합니다. 중장기 트렌드를 잘 파악하지만 트렌드 역전 위험을 인식해야합니다. 추가 최적화는 안정성과 라이브 성능을 향상시킬 수 있습니다.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © fzj20020403 //@version=5 strategy("Slight Swing Momentum Strategy.", overlay=true) // Position Status Definition var inPosition = false // Moving Average Definition ma60 = ta.sma(close, 60) // A1 Condition Definition A1 = high / close < 1.03 and open / low < 1.03 and high / close[1] > 1.06 // A2 Condition Definition A2 = close / open > 1.05 or close / close[1] > 1.05 // A3 Condition Definition highestVol = ta.highest(volume, 60) A3 = ta.crossover(volume, highestVol[1]) // B1 Condition Definition ema5 = ta.ema(close, 5) B1 = close / ema5 // XG Condition Definition A1andA2 = (A1 and A2) and (A1[1] and A2[1]) XG = ta.crossover(B1, ta.sma(B1, 9)) // Weekly Trend Factor Definition weeklyMa = ta.sma(close, 50) weeklySlope = (weeklyMa - weeklyMa[4]) / 4 > 0 // Buy Signal using XG Condition buySignal = A1 and close > ma60 or A2 and A3 and XG and close > ma60 and weeklySlope // Sell Signal Condition sellSignal = close < ta.ema(close, 10) // Buy and Sell Conditions buyCondition = buySignal and not inPosition sellCondition = sellSignal and inPosition // Execute Buy and Sell Operations if (buyCondition) strategy.entry("Buy", strategy.long) inPosition := true if (sellCondition) strategy.close("Buy") inPosition := false // Stop Loss and Take Profit Levels stopLoss = strategy.position_avg_price * 0.5 takeProfit = strategy.position_avg_price * 1.30 // Apply Stop Loss and Take Profit Levels if inPosition strategy.exit("Long Stop Loss", "Buy", stop=stopLoss) strategy.exit("Long Take Profit", "Buy", limit=takeProfit) // Plot Buy and Sell Signal Shapes plotshape(buyCondition, style=shape.arrowdown, location=location.belowbar, color=color.green, size=size.small) plotshape(sellCondition, style=shape.arrowup, location=location.abovebar, color=color.red, size=size.small) // EMA Variable Definition ema = ta.ema(close, 5) // Plot Indicator Line plot(ema, color=color.green, title="EMA")