Стратегия внутридневного бычьего прорыва

Автор:Чао Чжан, Дата: 2024-03-29 16:13:30
Тэги:

img

Обзор

Эта стратегия - это внутридневная бычья торговая стратегия, основанная на технических индикаторах. Она в основном использует три технических индикатора для определения времени длинных входов: 1. Swing low 2. Bullish candlestick pattern 3. Extreme oversold. В то же время она использует индикатор ATR (Average True Range) для расчета стоп-лосс и цен на получение прибыли. Эта стратегия применима ко всем временным рамкам и всем базовым активам.

Принципы стратегии

Стратегия основывается главным образом на следующих принципах:

  1. При восходящем тренде цены акций часто восстанавливаются и формируют местные минимумы, которые часто являются хорошими возможностями для покупки.
  2. Некоторые специальные модели свечей часто сигнализируют об изменении или продолжении тренда.
  3. После последовательных дней падения, медвежий импульс постепенно ослабевает, и пространство для дальнейшего падения ограничено.
  4. Колебания цен на акции имеют периодичность и сходство, которые могут измеряться с помощью индикатора ATR и использоваться для расчета соответствующих дистанций стоп-лосса и берут прибыль.

Преимущества стратегии

  1. Объединение трех классических технических индикаторов для формирования строгой количественной системы торговли, избегая недостатков субъективности.
  2. Уровни стоп-лосса и теч-профита основаны на индикаторе волатильности ATR, который можно объективно количественно оценить, избегая недостатков субъективности.
  3. Широкий спектр применений, без ограничений по срокам или базовым активам, что позволяет полностью использовать преимущества для получения прибыли.

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

  1. Высокая точность в оценке односторонних восходящих тенденций, но частые входы на волатильный рынок могут привести к увеличению потерь.
  2. Уровень получения прибыли слишком высок, что приводит к медленному получению прибыли и низкому использованию капитала.
  3. Показатель чрезмерной перепроданности имеет ограниченную способность оценивать изменения и может потерпеть неудачу на тенденционных рынках.

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

  1. Подумайте о добавлении индикаторов тренда, таких как MA и MACD, для определения общего направления тренда.
  2. Подумайте об оптимизации алгоритма, чтобы найти оптимальные параметры, особенно выбор ATR мультипликаторов.
  3. Индикатор чрезвычайной перепродажи можно оптимизировать, например, изменить его на более зрелые индикаторы перепродажи, такие как KDJ или RSI.

Резюме

Эта внутридневная стратегия бычьего прорыва является количественной торговой стратегией, основанной на подъемных минимумах, бычьих моделях и перепродажах. Она использует три технических индикатора для захвата точек длинного входа с разных углов. В то же время она использует индикатор волатильности ATR для расчета динамических уровней остановки потерь и получения прибыли.


// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LuxTradeVenture

//@version=5
strategy("Intraday Bullish Script", overlay=true, margin_long=100, margin_short=100)



// Settings for Strategy 1
entryCondition1 = input.bool(true, title="Use Entry Condition - Strategy 1")

// Input for ATR multiplier for stop loss 
atrMultiplierforstoploss = input.float(2, title="ATR Multiplier for Stop Loss")

// Input for ATR multiplier for target price
atrMultiplierforlongs = input.float(4, title="ATR Multiplier for Target Price")

// Calculate ATR
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)

// Swing low condition - Strategy 1
swingLow1 = low == ta.lowest(low, 12) or low[1] == ta.lowest(low, 12)


/// 
maj_qual = 6  //input(6)
maj_len = 30  //input(30)
min_qual = 5  //input(5)
min_len = 5  //input(5)

lele(qual, len) =>
    bindex = 0.0
    bindex := nz(bindex[1], 0)
    sindex = 0.0
    sindex := nz(sindex[1], 0)
    ret = 0
    if close > close[4]
        bindex := bindex + 1
        bindex
    if close < close[4]
        sindex := sindex + 1
        sindex
    if bindex > qual and close < open and high >= ta.highest(high, len)
        bindex := 0
        ret := -1
        ret
    if sindex > qual and close > open and low <= ta.lowest(low, len)
        sindex := 0
        ret := 1
        
major = lele(maj_qual, maj_len)
minor = lele(min_qual, min_len)

ExaustionLow  = major ==  1 ? 1 : 0

Bullish3LineStrike = close[3] < open[3] and close[2] < open[2] and close[1] < open[1] and close > open[1]

// Entry and Exit Logic for Strategy 2
// Create variables to track trade directions and entry prices for each strategy
var int tradeDirection1 = na

var float entryLongPrice1 = na


// Calculate entry prices for long positions - Strategy 1
if (swingLow1 or Bullish3LineStrike)
    entryLongPrice1 := close
    tradeDirection1 := 1



// Calculate target prices for long positions based on ATR - Strategy 1
targetLongPrice1 = entryLongPrice1 + (atrMultiplierforlongs * atrValue)



// Calculate stop loss prices for long positions based on entry - Strategy 1
stopLossLongPrice1 = entryLongPrice1 - (atrMultiplierforstoploss * atrValue)


// Entry conditions for Strategy 1
if (tradeDirection1 == 1 and (swingLow1 or Bullish3LineStrike))
    strategy.entry("Long - Strategy 1", strategy.long)


// Exit conditions for long positions: When price reaches or exceeds the target - Strategy 1
if (close >= targetLongPrice1)
    strategy.close("Long - Strategy 1", comment="Take Profit Hit")

// Exit conditions for long positions: When price hits stop loss - Strategy 1
if (close <= stopLossLongPrice1)
    strategy.close("Long - Strategy 1", comment="Stop Loss Hit")

Больше