
이것은 지지부진과 트렌드 EMA를 기반으로 한 다중 전략이다. 전략은 시장의 추세와 중요한 지지부진을 식별하여 최적의 입문 기회를 찾고, ATR의 동적 상쇄와 분기 수익을 결합하여 위험 관리를 수행한다. 이 전략은 주로 상승 추세에서 가격이 지지부진으로 회귀하는 경우에 초점을 맞추고, 합리적인 리스크 수익률을 설정하여 거래의 성공률을 높인다.
전략은 100주기 EMA를 트렌드를 판단하는 지표로 사용하고, 가격이 EMA 위에 있을 때 상승세를 확인한다. 또한 10주기 최저 가격을 단기 지지점으로 계산하고, 가격이 지지점 근처로 회귀할 때 지지점 +0.5*ATR) 에서 진입 기회를 찾습니다. 진입 후 분기 수익 방식을 적용하여 5 배의 ATR에서 50%의 입지를 매장하고, 나머지 입지는 10 배의 ATR에서 완전히 매장되며, 1 배의 ATR을 동적 스톱로 설정합니다. 각 거래의 위험은 계좌 총액의 3% 이내에 제어되며, 동적으로 포지션 크기를 계산하여 위험 관리를 구현합니다.
이 전략은 트렌드 따라와 지지부서 회귀를 결합하여 완전한 거래 시스템을 구축하고 분기 수익과 동적인 중지 손실을 통해 위험 관리를 구현한다. 전략의 핵심 장점은 완벽한 위험 제어 장치와 명확한 거래 논리이다. 그러나 여전히 다양한 시장 환경에 적응하기 위해 실용에서 매개 변수와 입시 조건을 지속적으로 최적화해야 한다.
/*backtest
start: 2024-02-22 00:00:00
end: 2024-05-30 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Ultra-Profitable SMC Long-Only Strategy", shorttitle="Ultra_Profit_SMC", overlay=true)
// User Inputs
emaTrendLength = input.int(100, title="Trend EMA Length") // Faster EMA to align with aggressive trends
supportLookback = input.int(10, title="Support Lookback Period") // Short-term support zones
atrLength = input.int(14, title="ATR Length")
atrMultiplierSL = input.float(1.0, title="ATR Multiplier for Stop-Loss")
atrMultiplierTP1 = input.float(5.0, title="ATR Multiplier for TP1")
atrMultiplierTP2 = input.float(10.0, title="ATR Multiplier for TP2")
riskPercent = input.float(3.0, title="Risk per Trade (%)", step=0.1)
// Calculate Indicators
emaTrend = ta.ema(close, emaTrendLength) // Trend EMA
supportLevel = ta.lowest(low, supportLookback) // Support Level
atr = ta.atr(atrLength) // ATR
// Entry Conditions
isTrendingUp = close > emaTrend // Price above Trend EMA
nearSupport = close <= supportLevel + (atr * 0.5) // Price near support zone
longCondition = isTrendingUp and nearSupport
// Dynamic Stop-Loss and Take-Profit Levels
longStopLoss = supportLevel - (atr * atrMultiplierSL)
takeProfit1 = close + (atr * atrMultiplierTP1) // Partial Take-Profit at 5x ATR
takeProfit2 = close + (atr * atrMultiplierTP2) // Full Take-Profit at 10x ATR
// Position Sizing
capital = strategy.equity
tradeRisk = riskPercent / 100 * capital
positionSize = tradeRisk / (close - longStopLoss)
// Execute Long Trades
if (longCondition)
strategy.entry("Ultra Long", strategy.long, qty=positionSize)
// Exit Conditions
strategy.exit("Partial Exit", from_entry="Ultra Long", limit=takeProfit1, qty_percent=50) // Exit 50% at TP1
strategy.exit("Full Exit", from_entry="Ultra Long", limit=takeProfit2, qty_percent=100, stop=longStopLoss) // Exit the rest at TP2
// Plot Indicators
plot(emaTrend, color=color.blue, title="Trend EMA")
plot(supportLevel, color=color.green, title="Support Level", linewidth=2)