Техническая торговая стратегия на основе 15-минутного графика BTC

WT VWAP SMA EMA ATR
Дата создания: 2024-05-28 11:15:29 Последнее изменение: 2024-05-28 11:15:29
Копировать: 7 Количество просмотров: 734
1
Подписаться
1617
Подписчики

Техническая торговая стратегия на основе 15-минутного графика BTC

Обзор

PipShiesty Swagger - это техническая торговая стратегия, разработанная специально для TradingView. Она использует WaveTrend для выявления потенциальных торговых сигналов, управляет рисками и визуализирует условия перекупа и перепродажи на ценовых диаграммах.

Стратегический принцип

В основе стратегии PipShiesty Swagger лежат WaveTrend oscillatory indicator (WT) и transaction volume weighted average price (VWAP). WT использует длину канала и среднюю длину, два основных параметра, для вычисления средней цены с помощью ряда индикаторов. Moving Average (EMA) применяется к средней цене. Таким образом, можно создать сложный индекс, который затем может быть дополнительно сглажен.

Стратегические преимущества

  1. Стратегия PipShiesty Swagger сочетает в себе несколько технических показателей, таких как WaveTrend, VWAP и ATR, чтобы обеспечить полный анализ рынка.
  2. Эта стратегия позволяет идентифицировать потенциальные отклонения от потери и падения, предоставляя трейдерам потенциальные торговые возможности.
  3. Эта стратегия помогает трейдерам идентифицировать потенциальные рыночные переломные моменты, определяя уровни перекупа и перепродажи.
  4. Стратегия включает в себя параметры управления рисками, такие как процент риска для каждой сделки и множитель остановочных потерь на основе ATR, которые помогают управлять рисками и защищать капитал.
  5. Эта стратегия предоставляет четкие визуальные указания на графике, такие как индикатор колебаний WaveTrend, сигнальные линии, VWAP и фоновые цвета, что позволяет трейдерам легко интерпретировать состояние рынка.

Стратегический риск

  1. Стратегия PipShiesty Swagger, основанная на технических показателях, может создавать вводящие в заблуждение сигналы, особенно в условиях значительной волатильности рынка или неопределенности тенденций.
  2. На эффективность стратегии может влиять выбор параметров, таких как длина каналов, средняя длина и уровень перекупа/перепродажи. Неправильная настройка параметров может привести к поддобрительным результатам.
  3. Несмотря на то, что стратегия включает в себя параметры управления рисками, существует потенциальный риск потери капитала, особенно во время сильных рыночных колебаний.
  4. Эта стратегия фокусируется на 15-минутных графиках BTC, которые могут не запечатлеть важные рыночные изменения в других временных диапазонах.

Направление оптимизации стратегии

  1. Для повышения надежности и точности сигналов следует рассмотреть возможность включения других технических показателей или показателей рыночных настроений.
  2. Оптимизация и анализ чувствительности параметров стратегии для определения оптимальных настроек и повышения эффективности стратегии.
  3. Внедрение механизмов динамического остановки и остановки для лучшего управления рисками и максимизации потенциальной прибыли.
  4. Расширить эту стратегию на другие временные рамки и торговые инструменты, чтобы поймать более широкие рыночные возможности.

Подвести итог

PipShiesty Swagger - это мощная техническая торговая стратегия, разработанная специально для 15-минутных графиков BTC на TradingView. Она использует индикатор колебаний 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")