La estrategia es una estrategia de línea corta basada en un indicador de tendencia súper que se aplica a la negociación intradiaria. El usuario puede definir el horario de negociación intradiaria y la estrategia solo se ejecuta en ese horario. La estrategia realiza una reversión de la señal mediante el doble de la cantidad de posiciones abiertas al revés.
Cálculo de indicadores de tendencia súper. Cálculo de líneas de tendencia súper según el multiplicador y el ciclo ATR definidos por el usuario.
Dibujar líneas de tendencia súper. Dibujar líneas de tendencia súper como líneas de soporte y resistencia.
Determine la condición larga o corta. El precio de cierre es más alto que la línea de tendencia super para hacer más condiciones, y el precio de cierre es menor que la línea de tendencia super para hacer condiciones más bajas.
Determinación del período de negociación. De acuerdo con el período de negociación del día definido por el usuario, determina si la barra de precios actual está dentro del período de negociación.
Se emite una señal de compra y venta correspondiente solo en el momento de la operación y cuando se cumplen las condiciones de mayor vacío.
La inversión de la posición. Cuando el indicador de la tendencia súper cambia de dirección, se utiliza el doble de la inversión de la posición.
Cuando la señal de tendencia súper no cambia y el período de negociación finaliza, se obliga a la salida de la posición plana.
El uso de indicadores de tendencia súper para identificar tendencias reduce las señales falsas.
El precio de la bolsa de valores es el indicador de la tendencia de la bolsa de valores, y el precio de la bolsa de valores es el indicador de la tendencia de la bolsa de valores.
El inverso de la apertura de la posición para detener el pérdidas en el tiempo, puede reducir las pérdidas.
Las operaciones en horarios diurnos evitan riesgos nocturnos.
La obligación de establecer un mecanismo de liquidación para evitar el riesgo de olvidar la liquidación
La configuración incorrecta de los parámetros de los indicadores de tendencia puede causar un mal resultado de la estrategia.
La apertura de posiciones inversa aumenta la frecuencia de las transacciones y los costos de las mismas.
El cierre obligatorio de la posición al final de la jornada puede causar pérdidas.
El riesgo 1 se puede encontrar mediante la optimización de parámetros para encontrar la combinación óptima de parámetros.
El riesgo 2 puede establecer un stop loss para controlar las pérdidas.
El riesgo 3 puede establecer un stop loss o usar un filtro de tendencia para evitar pérdidas forzadas.
Prueba con diferentes indicadores de tendencia, como MA, KDJ, etc.
Aumento de la lógica de detención de pérdidas
Aumentar el filtro de tendencias para evitar pérdidas de fortalecimiento.
Optimización de los parámetros de multiplicación y ATR.
Prueba las diferentes variedades de transacciones.
La estrategia integra el indicador de tendencia súper y la gestión de la hora de negociación en el día, con el objetivo de capturar brechas en la tendencia de la línea corta. El mecanismo de apertura de posición inversa y de posición cerrada obligatoria puede controlar el riesgo de manera efectiva. Posteriormente, la optimización de parámetros, el stop loss y el filtro de tendencia pueden mejorar aún más la eficacia de la estrategia.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
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/
// © Pritesh-StocksDeveloper
//@version=4
strategy("Supertrend - Intraday", overlay=true, calc_on_every_tick = true)
// ********** 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)
var float i_multiplier = input(title = "Multiplier", type = input.float,
defval = 4, confirm=true)
var int i_atrPeriod = input(title = "ATR Period", type = input.integer,
defval = 14, confirm=true)
// ********** 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
// ********** Supporting functions - End **********
// ********** Strategy - Start **********
[superTrend, dir] = supertrend(i_multiplier, i_atrPeriod)
colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 100)
plot(superTrend, color = colResistance, linewidth=2)
plot(superTrend, color = colSupport, linewidth=2)
// Long/short condition
longCondition = close > superTrend
shortCondition = close < superTrend
// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)
// Trade only if intraday session is active
// Long position
// When longCondition and intradaySession both are true
strategy.entry(id = "Long", long = strategy.long,
when = longCondition and intradaySession)
// Short position
// When shortCondition and intradaySession both are true
strategy.entry(id = "Short", long = strategy.short,
when = shortCondition and intradaySession)
// 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 **********