
PipShiesty Swaggerは,TradingView用に設計された技術的な取引戦略である.この戦略は,潜在的な取引シグナルを識別し,リスクを管理するためにWaveTrendの振動指数 (WT) と取引量重量平均価格 (VWAP) を利用し,価格グラフでオーバーバイとオーバーセール条件を可視化します.この戦略は,一連の指数の移動平均 (EMA) を使って振動指数を計算し,単純な移動平均 (SMA) を介して信号ラインを生成して取引シグナルを確認し,ノイズをフィルターします.同時に,この戦略には,リスク管理と資本保護のために,取引あたりのリスク比率と平均実際の範囲 (ATR) に基づくストップダウスの倍数などのリスク管理パラメータが含まれています.
PipShiesty Swaggerの戦略の核心は,WaveTrendの振動指数 ((WT) と取引量加重平均価格 ((VWAP) である.WTは,チャネル長と平均長を2つの主要パラメータとして使用し,指数移動平均 ((EMA) を平均価格に適用して計算する.このようにして,複合指数が生み出し,さらに平滑処理する.VWAPは,指定された時間帯で計算され,取引量に対する平均取引価格を理解するための基準として使用され,全体的なトレンドの方向を決定するのに役立ちます.この戦略は,オーバーバイドとオーバーセール条件を特定する特定のレベルを定義します.
PipShiesty Swaggerは,TradingView上のBTC15分チャートに特化した強力な技術取引戦略である. WaveTrendの振動指数と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")