이 전략은 VWAP (Volume Weighted Average Price) 지표와 가격 사이의 교차 관계에 기반하여 거래합니다. 가격이 VWAP보다 높을 때 긴 포지션을 열고 가격이 VWAP보다 낮을 때 짧은 포지션을 개척합니다. 한편, 동적 스톱 손실을 계산하고 수익 수준을 취하기 위해 ATR (평균 진정한 범위) 지표를 사용하여 위험을 제어하고 수익을 잠금합니다.
이 전략은 VWAP에 초점을 맞추고, 가격과 크로스오버를 통해 거래 신호를 생성하면서 동적인 스톱 로스를 위해 ATR을 결합하고 트렌드를 포착하는 동안 드래운 다운 리스크를 제어하기 위해 이윤을 취합니다. 전반적인 아이디어는 간단하고 이해하기 쉽습니다. 그러나 최적화에 더 많은 여지가 있습니다. 보조 지표, 스톱 로스 최적화 및 이윤 논리, 돈 관리 등을 추가함으로써 전략은 변화하는 시장 환경에 더 잘 적응하고 안정성과 수익성을 향상시킬 수 있습니다.
/*backtest start: 2023-03-26 00:00:00 end: 2024-03-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Hannah Strategy Stop Loss and Take Profit", overlay=true) // Inputs cumulativePeriod = input(40, "VWAP Period") atrPeriod = input(14, "ATR Period") multiplier = input(1.5, "ATR Multiplier for Stop Loss") targetMultiplier = input(3, "ATR Multiplier for Take Profit") // Calculations for VWAP typicalPrice = (high + low + close) / 3 typicalPriceVolume = typicalPrice * volume cumulativeTypicalPriceVolume = sum(typicalPriceVolume, cumulativePeriod) cumulativeVolume = sum(volume, cumulativePeriod) vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume // Plot VWAP on the chart plot(vwapValue, color=color.blue, title="VWAP") // Entry Conditions based on price crossing over/under VWAP longCondition = crossover(close, vwapValue) shortCondition = crossunder(close, vwapValue) // ATR Calculation for setting dynamic stop loss and take profit atr = atr(atrPeriod) // Execute Trades with Dynamic Stop Loss and Take Profit based on ATR if (longCondition) strategy.entry("Long", strategy.long) // Setting stop loss and take profit for long positions strategy.exit("Long Exit", "Long", stop=close - atr * multiplier, limit=close + atr * targetMultiplier) if (shortCondition) strategy.entry("Short", strategy.short) // Setting stop loss and take profit for short positions strategy.exit("Short Exit", "Short", stop=close + atr * multiplier, limit=close - atr * targetMultiplier)