
La estrategia inversa de apertura y devorador es una estrategia de negociación diaria simple basada en la primera línea K de una acción. La idea central de la estrategia es determinar la dirección de su caída y hacer operaciones invertidas cuando aparece la primera línea K después de la apertura de cada día. Si la primera línea K es la línea roja, haga más; si la primera línea K es la línea verde, haga vacío.
El principio de esta estrategia se basa en la peculiaridad de la primera línea K después de la apertura. En la apertura, el enfrentamiento de las fuerzas de los dos lados de la bolsa es más intenso, y la probabilidad de que la situación cambie es mayor.
En concreto, después de la apertura de un nuevo día, la estrategia registra el precio de apertura, el precio de cierre y la caída de la primera línea K. Si el precio de apertura es superior al precio de cierre (la línea verde), representando una ganancia de la cabeza en blanco, hace más; Si el precio de apertura es inferior al precio de cierre (la línea roja), representando una ganancia de la cabeza en blanco, hace nada.
Al mismo tiempo, la estrategia también establece mecanismos de stop loss y stop-out, que incluyen hacer más precios de stop loss, hacer más precios de stop stop, hacer más precios de stop loss y hacer más precios de stop stop, controlar el riesgo y los beneficios de las posiciones más abiertas, evitar pérdidas excesivas o cortar la carne prematuramente.
La estrategia de devolución de descuento tiene las siguientes ventajas:
El pensamiento es simple, claro, fácil de entender y de llevar a cabo.
El valor de las altas previsiones durante el período de apertura se utiliza para aprovechar las oportunidades de reversión.
Al mismo tiempo, se puede configurar un Stop Loss Stop para controlar el riesgo de manera efectiva.
La estrategia es universal y se aplica a la mayoría de las acciones.
Los costos de participación son bajos y el control de los fondos es fácil.
Las estrategias de devolución de descuentos también tienen ciertos riesgos, que incluyen:
La probabilidad de fallo de la inversión del disco abierto. Si la señal de inversión de la primera línea K falla, puede causar grandes pérdidas.
No puede filtrar de manera efectiva las acciones de baja calidad. La estrategia no tiene un análisis fundamental adecuado de las acciones y puede seleccionar algunas acciones malas con un mal fundamento.
Incapacidad para controlar eficazmente el riesgo sistémico de eventos inesperados, tales como el impacto de una noticia negativa importante.
La configuración incorrecta de la parada de pérdidas puede aumentar las pérdidas o reducir las ganancias.
Las estrategias de devolución de discos abiertos se pueden optimizar en los siguientes aspectos:
Aumentar las pruebas de eficacia de las señales de cambio de marcha y evitar las señales no válidas. Por ejemplo, la combinación de análisis de tráfico.
La combinación de los fundamentos de las acciones y los indicadores técnicos para realizar una selección de stock pool, filtrando las acciones de baja calidad.
Aumentar el módulo de monitoreo de eventos y noticias importantes para controlar el riesgo sistemático.
El uso de algoritmos genéticos, métodos de aprendizaje automático y otros métodos para optimizar dinámicamente la configuración de la parada de daño.
La estrategia de devolución del disco abierto se trata de determinar la dirección de la primera línea K y hacer operaciones en reversa para tratar de aprovechar las oportunidades de reversión después de la apertura. La estrategia es sencilla, de bajo costo de participación y tiene cierto valor en la práctica. Pero también debemos ser conscientes de reconocer los riesgos y mejorar y optimizar la estrategia en la práctica para que sea más estable y confiable.
/*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 **********