BTC 15分チャートに基づくテクニカル取引戦略

WT VWAP SMA EMA ATR
作成日: 2024-05-28 11:15:29 最終変更日: 2024-05-28 11:15:29
コピー: 7 クリック数: 734
1
フォロー
1617
フォロワー

BTC 15分チャートに基づくテクニカル取引戦略

概要

PipShiesty Swaggerは,TradingView用に設計された技術的な取引戦略である.この戦略は,潜在的な取引シグナルを識別し,リスクを管理するためにWaveTrendの振動指数 (WT) と取引量重量平均価格 (VWAP) を利用し,価格グラフでオーバーバイとオーバーセール条件を可視化します.この戦略は,一連の指数の移動平均 (EMA) を使って振動指数を計算し,単純な移動平均 (SMA) を介して信号ラインを生成して取引シグナルを確認し,ノイズをフィルターします.同時に,この戦略には,リスク管理と資本保護のために,取引あたりのリスク比率と平均実際の範囲 (ATR) に基づくストップダウスの倍数などのリスク管理パラメータが含まれています.

戦略原則

PipShiesty Swaggerの戦略の核心は,WaveTrendの振動指数 ((WT) と取引量加重平均価格 ((VWAP) である.WTは,チャネル長と平均長を2つの主要パラメータとして使用し,指数移動平均 ((EMA) を平均価格に適用して計算する.このようにして,複合指数が生み出し,さらに平滑処理する.VWAPは,指定された時間帯で計算され,取引量に対する平均取引価格を理解するための基準として使用され,全体的なトレンドの方向を決定するのに役立ちます.この戦略は,オーバーバイドとオーバーセール条件を特定する特定のレベルを定義します.

戦略的優位性

  1. PipShiesty Swagger戦略は,WaveTrendの振動指数,VWAP,ATRなどの複数の技術指標を組み合わせて,総合的な市場分析を提供します.
  2. この戦略は,潜在的看板と看板の背離を識別し,トレーダーに潜在的取引機会を提供します.
  3. この戦略は,オーバーバイとオーバーセルのレベルを定義することによって,トレーダーが潜在的な市場転換点を識別するのに役立ちます.
  4. この戦略には,取引毎のリスクパーセントやATRベースのストップ・ロスの倍数などのリスク管理パラメータが含まれ,リスクを管理し,資本を保護するのに役立ちます.
  5. この戦略は,WaveTrendの振動指数,シグナルライン,VWAP,背景の色などの明確な視覚的な指示をグラフ上に提供し,トレーダーに市場の状況を容易に解釈できるようにします.

戦略リスク

  1. PipShiesty Swaggerの戦略は,技術指標に依存しており,特に市場波動が大きい場合やトレンドが不明な場合,誤った信号を生成する可能性があります.
  2. この戦略のパフォーマンスは,チャネル長さ,平均長さ,オーバーバイ/オーバーセールレベルなどのパラメータ選択によって影響されることがあります.不適切なパラメータ設定は,次優良結果につながる可能性があります.
  3. この戦略にはリスク管理のパラメータが含まれているにもかかわらず,特に市場の激しい波動期に,潜在的資本損失のリスクは存在します.
  4. この戦略は,BTCの15分チャートに注目し,他の時間帯における重要な市場の動きを捉えることができなかった.

戦略最適化の方向性

  1. 信号の信頼性や正確性を高めるために,他の技術指標や市場情緒指標を組み込むことを検討する.
  2. 戦略パラメータの最適化と感受性分析を行い,最適な設定を決定し,戦略のパフォーマンスを向上させる.
  3. リスクの管理と潜在的リターンの最大化のために,ダイナミック・ストップ・ローズ・アンド・ストップ・メカニズムを導入する.
  4. この戦略を他の時間帯と取引手段に拡張し,より広範な市場機会を捉える.

要約する

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")