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


Дата создания: 2023-11-22 16:05:24 Последнее изменение: 2023-11-22 16:05:24
Копировать: 1 Количество просмотров: 615
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Принцип этой стратегии основан на особенностях первой корневой K-линии после открытия диска. Когда открывается диска, силы двух сторон с большим количеством воздуха наиболее интенсивно противостоят друг другу, и вероятность того, что ситуация изменится, выше.

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

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

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

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

  1. Мысль проста, ясна, легко понятна и реализуема.

  2. В то же время, по мнению экспертов, в этом случае можно было бы использовать высокую прогнозную стоимость в период открытия рынка, чтобы воспользоваться возможностью для обратного хода.

  3. В то же время установка стоп-стоп может эффективно контролировать риск.

  4. Стратегическая мысль универсальна и применима к большинству акций.

  5. Это означает, что вы сможете легко контролировать свои финансовые ресурсы.

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

Также существуют риски, связанные со стратегией обратного поглощения, в частности:

  1. Вероятность неисправности обратного вращения диска. Если неисправность обратного сигнала первой K-линии может привести к большим потерям.

  2. Недостаточный анализ фундаментальных характеристик акций может привести к выбору некоторых плохих акций.

  3. Системные риски внезапных событий, такие как влияние значительных негативных новостей, не могут быть эффективно контролированы.

  4. Неправильная установка стоп-стоп может привести к увеличению убытков или сокращению прибыли.

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

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

  1. Добавление проверки эффективности обратного сигнала, чтобы избежать недействительного сигнала. Например, комбинированный анализ трафика.

  2. В сочетании с базовыми и техническими показателями акций проводится отбор оптимальных фондовых пулов, отфильтрованных из низкокачественных акций.

  3. Добавление модулей мониторинга важных событий и новостей для контроля системного риска.

  4. Динамическая оптимизация параметров торможения с использованием генетических алгоритмов и машинного обучения.

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

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

Исходный код стратегии
/*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 **********