Стратегия обратного открытия поглощения

Автор:Чао Чжан, Дата: 2023-11-22 16:05:24
Тэги:

img

Обзор

Обратная стратегия поглощения открытия - это простая внутридневная стратегия торговли, основанная на первой свечке после открытия. Основная идея этой стратегии заключается в том, чтобы судить о восходящем или нисходящем тренде первой свечи, когда она появляется после открытия каждый день, и принимать контроперации. Если первая свеча - красная линия ян, идите в длинный; если первая свеча - зеленая линия инь, идите в короткий. Стратегия также устанавливает механизмы остановки потери и получения прибыли для выхода из позиций.

Логика стратегии

Принцип, лежащий в основе этой стратегии, заключается в особенности первой свечи после открытия. Когда рынок открывается, силы длинных и коротких конфронтируются наиболее интенсивно, и вероятность переворота относительно велика. Судить о восходящем или нисходящем тренде первой свечи и принимать контроперации является основной идеей этой стратегии.

В частности, после открытия нового дня стратегия будет записывать цену открытия, цену закрытия и изменение цены первой свечи. Если цена открытия выше цены закрытия (зеленая линия инь), это означает, что медведи выиграли, и мы должны долго; если цена открытия ниже цены закрытия (красная линия ян), это означает, что быки выиграли, и мы должны коротко. Принимая такие контроперации, стратегия пытается поймать возможности реверсии после открытия.

Между тем, стратегия также устанавливает механизмы стоп-лосса и получения прибыли, включая длинную цену стоп-лосса, длинную цену прибыли, короткую цену стоп-лосса и короткую цену прибыли, для контроля рисков и прибыли длинных и коротких позиций, избегая чрезмерных потерь или преждевременного получения прибыли.

Анализ преимуществ

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

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

Анализ рисков

Стратегия обратного открытия поглощения также сопряжена с некоторыми рисками, в основном включающими:

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

Руководство по оптимизации

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

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

Резюме

Стратегия обратного открытия поглощения пытается поймать возможности обратного открытия после открытия, судя по направлению первой свечи и принимая контроперации. Идея стратегии проста с низкими затратами на участие и имеет некоторую практическую ценность. Но мы также должны трезво осознавать риски и постоянно совершенствовать и оптимизировать стратегию на практике, чтобы сделать ее более надежной и надежной.


/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © vikris
//@version=4
strategy("[VJ]First Candle Strategy", overlay = true,calc_on_every_tick = true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,initial_capital=750,commission_type=strategy.commission.percent, 
     commission_value=0.02)


// ********** Strategy inputs - Start **********

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Make inputs that set the take profit % (optional)
longProfitPerc = input(title="Long Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01

shortProfitPerc = input(title="Short Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
     
// Set stop loss level with input options (optional)
longLossPerc = input(title="Long Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01

shortLossPerc = input(title="Short Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01    


// ********** Strategy inputs - End **********


// ********** Supporting functions - Start **********

// A function to check whether the bar or period is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0



// Figure out take profit price
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Determine stop loss price
longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)


// ********** Supporting functions - End **********


// ********** Strategy - Start **********
// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active

//=================Strategy logic goes in here===========================
 
// If start of the daily session changed, then it's first bar of the new session
isNewDay = time("D") != time("D")[1]
var firstBarCloseValue = close
var firstBarOpenValue = open
if isNewDay
    firstBarCloseValue := close
    firstBarOpenValue := open


greenCandle = firstBarOpenValue < firstBarCloseValue
redCandle = firstBarOpenValue > firstBarCloseValue

buy = redCandle
sell = greenCandle


// plot(firstBarCloseValue)
// plot(firstBarOpenValue)



//Final Long/Short Condition
longCondition = buy
shortCondition =sell
 
//Long Strategy - buy condition and exits with Take profit and SL
if (longCondition and intradaySession)
    stop_level = longStopPrice
    profit_level = longExitPrice
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("TP/SL", "My Long Entry Id", stop=stop_level, limit=profit_level)


//Short Strategy - sell condition and exits with Take profit and SL
if (shortCondition and intradaySession)
    stop_level = shortStopPrice
    profit_level = shortExitPrice
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("TP/SL", "My Short Entry Id", stop=stop_level, limit=profit_level)
 
 
// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

// ********** Strategy - End **********

Больше