파이프시스티 스와거 (PipShiesty Swagger) 는 트레이딩뷰를 위해 특별히 설계된 기술적 거래 전략이다. 전략은 웨이브트렌드 오시레이터 (WT) 와 볼륨 가중화 평균 가격 (VWAP) 를 활용하여 잠재적 인 거래 신호를 식별하고 위험을 관리하며 가격 차트에 과잉 구매 및 과잉 판매 조건을 시각화합니다. 오시레이터는 평균 가격에 적용되는 기하급수적 이동 평균 (EMA) 의 일련을 사용하여 계산되며 복합 지수가 더 매끄럽습니다. 전략에는 또한 신호 라인이 포함되어 있습니다. 이는 웨이브트렌드 오시레이터의 간단한 이동 평균 (SMA) 이며 신호를 확인하고 거래 전략을 필터링합니다. 또한 잡음은 위험을 관리하고 보호하기 위해 거래 당 위험 손실 비율 및 진정한 자본 평균 (ATR) 에 기반한 스톱 멀티플라이커와 같은 위험 관리 매개 변수를 포함합니다.
파이프시스티 스와거 전략의 핵심은 웨이브트렌드 오시레이터 (WT) 와 볼륨 가중 평균 가격 (VWAP) 에 있다. WT는 채널 길이와 평균 길이라는 두 가지 주요 매개 변수를 사용하여 평균 가격에 적용되는 기하급수적 이동 평균 (EMA) 의 일련을 사용하여 오시레이터를 계산합니다. 이것은 복합 지수를 생성하여 더욱 매끄럽게됩니다. VWAP는 특정 기간 동안 계산되며 전체 트렌드 방향을 파악하는 데 도움이되는 평균 거래 가격을 이해하는 기준으로 사용됩니다. 전략은 과잉 구매 및 과잉 판매 조건을 식별하기위한 특정 수준을 정의합니다. 오시레이터가 이러한 수준을 초과하면 잠재적 인 시장 전환점을 나타냅니다. 전략에는 또한 신호 라인이 포함되어 있습니다. 이는 웨이브트렌드 오시레이터의 간단한 이동 평균 (SMA) 이며, 신호를 확인하고 필터링하는 데 도움이됩니다.
파이프시스티 스와거 (PipShiesty Swagger) 는 트레이딩뷰에서 BTC 15분 차트에 설계된 강력한 기술 거래 전략이다. 웨이브트렌드 오시일레이터 (WaveTrend Oscillator) 와 VWAP를 활용하여 자본을 보호하기 위해 위험 관리 매개 변수를 통합하면서 잠재적 거래 신호를 식별한다. 전략이 유망하지만, 트레이더들은 그것을 구현할 때 주의를 기울이고 성능과 적응력을 향상시키기 위해 전략을 최적화하는 것을 고려해야 한다. 지속적인 정제와 조정으로, 파이프시스티 스와거는 동적인 암호화폐 시장에서 탐색하는 트레이더들에게 귀중한 도구가 될 수 있다.
/*backtest start: 2023-05-22 00:00:00 end: 2024-05-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("PipShiesty Swagger", overlay=true) // WaveTrend Oscillator (WT) n1 = input.int(10, "Channel Length") n2 = input.int(21, "Average Length") obLevel1 = input.float(60.0, "Overbought Level 1") obLevel2 = input.float(53.0, "Overbought Level 2") osLevel1 = input.float(-60.0, "Oversold Level 1") osLevel2 = input.float(-53.0, "Oversold Level 2") ap = hlc3 esa = ta.ema(ap, n1) d = ta.ema(math.abs(ap - esa), n1) ci = (ap - esa) / (0.015 * d) tci = ta.ema(ci, n2) // VWAP vwap = ta.vwma(close, n1) // Signal Line wt1 = tci wt2 = ta.sma(wt1, 4) // Bullish and Bearish Divergences bullishDivergence = (ta.lowest(close, 5) > ta.lowest(close[1], 5)) and (wt1 < wt1[1]) and (close > close[1]) bearishDivergence = (ta.highest(close, 5) < ta.highest(close[1], 5)) and (wt1 > wt1[1]) and (close < close[1]) // Plot WaveTrend Oscillator plot(wt1, title="WT1", color=color.blue) plot(wt2, title="WT2", color=color.red) // Remove printed signals if price reverses var bool showBullishSignal = na var bool showBearishSignal = na if bullishDivergence showBullishSignal := true if bearishDivergence showBearishSignal := true // Reset signals if price reverses if close < ta.lowest(close, 5) showBullishSignal := false if close > ta.highest(close, 5) showBearishSignal := false plotshape(series=showBullishSignal ? bullishDivergence : na, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Divergence") plotshape(series=showBearishSignal ? bearishDivergence : na, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Divergence") // Risk Management Parameters riskPercentage = input.float(1, title="Risk Percentage per Trade", minval=0.1, step=0.1) / 100 stopLossATR = input.float(1.5, title="Stop Loss ATR Multiplier", minval=0.5, step=0.1) // ATR Calculation atr = ta.atr(14) // Position Size Calculation calculatePositionSize(stopLoss) => riskAmount = strategy.equity * riskPercentage positionSize = riskAmount / stopLoss // Double the position size positionSize *= 2 positionSize // Entry and Exit Logic with Stop Loss if bullishDivergence stopLoss = low - atr * stopLossATR positionSize = calculatePositionSize(close - stopLoss) strategy.entry("Buy", strategy.long, qty=positionSize) strategy.exit("Sell", from_entry="Buy", stop=stopLoss) if bearishDivergence strategy.close("Buy") // Plot VWAP plot(vwap, title="VWAP", color=color.orange) // Background color to indicate Overbought/Oversold conditions bgcolor(wt1 > obLevel1 ? color.new(color.red, 90) : na, title="Overbought Level 1") bgcolor(wt1 < osLevel1 ? color.new(color.green, 90) : na, title="Oversold Level 1") bgcolor(wt1 > obLevel2 ? color.new(color.red, 70) : na, title="Overbought Level 2") bgcolor(wt1 < osLevel2 ? color.new(color.green, 70) : na, title="Oversold Level 2")