
Esta estrategia se basa en el principio de ruptura de canal y utiliza el cruce equilátero como señal de salida para el comercio de futuros e índices.
Calcular los precios máximos y mínimos en un determinado período, construyendo un canal ascendente y descendente.
Haga más cuando el precio rompa el canal superior; haga menos cuando el precio rompa el canal inferior.
Calcula el promedio de las dos SMA de los períodos rápido y lento.
Cuando se hace más, el SMA de plazo rápido se pasa por el SMA de plazo lento, se hace más posición; cuando se hace vacío, el SMA de plazo rápido se pasa por el SMA de plazo lento, se hace posición vacía.
La combinación de canales y un sistema de línea uniforme puede mejorar la probabilidad de obtener ganancias.
Utiliza el canal para juzgar el movimiento rotativo de la etapa de anclaje y el final de la tendencia para juzgar el equilibrio.
El filtro uniforme evita el whipsaw y reduce las transacciones innecesarias.
Los parámetros de rango de canal son ajustables para adaptarse a diferentes mercados de periodos y fluctuaciones.
La configuración incorrecta del alcance de los corredores puede causar oportunidades de brechas perdidas o falsas brechas.
Los parámetros de la línea media están mal configurados, lo que puede provocar una salida prematura o tardía de la posición.
Se debe tener en cuenta la gestión razonable de la escala de la posición para evitar pérdidas individuales excesivas.
Hay que tener en cuenta si la brecha es efectiva para evitar que la persecución sea fatal.
Prueba de la rentabilidad y la ganancia de la estrategia bajo diferentes parámetros, optimización de la gama de canales y el ciclo promedio.
La combinación de indicadores de tendencia para filtrar las señales de ruptura aumenta la tasa de éxito de la ruptura.
El aumento de los mecanismos de gestión de posiciones, como las cuotas fijas, los Martingales, etc.
Aumentar el mecanismo de suspensión de pérdidas para controlar las pérdidas individuales.
Esta estrategia utiliza canales para determinar la rotación y el punto caliente del mercado, para determinar el final de la tendencia de la línea de equilibrio, y para establecer parámetros razonables que permiten obtener ganancias estables en mercados fuertes. Sin embargo, es muy importante evitar las pérdidas que puede causar el whipsaw, al tiempo que se optimiza la posición y la gestión del riesgo.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-13 00:00:00
period: 1m
basePeriod: 1m
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/
// © anshuanshu333
//@version=4
// strategy("ChBrkOutStrategySMA", overlay=true, initial_capital = 200000)
length = input(title="Length", type=input.integer, minval=1, maxval=1000, defval=7)
fastSMA = sma(close,9)
slowSMA = sma(close,21)
upBound = highest(high, length)
downBound = lowest(low, length)
boundLongEntry = ((close >= upBound) or (high >= upBound)) and fastSMA>slowSMA and (close > open)
boundShortEntry =((close <= downBound) or (low <= downBound)) and fastSMA<slowSMA and (close <open)
u=plot(upBound, title = "Upper Bound",color=color.blue, linewidth=1)
l=plot(downBound, title = "Lower Bound",color=color.red, linewidth=1)
plot(fastSMA,title = "Fast SMA", color = color.red, linewidth =2)
plot(slowSMA,title = "Slow SMA" ,color = color.green, linewidth =1)
fill(u,l, transp=95)
plot(avg(upBound,downBound), title = "Avg", color=color.gray,linewidth =1)
if (boundLongEntry )
strategy.entry("LE", long = true)
if (boundShortEntry)
strategy.entry("SE", long = false)
SmaLongExit = crossunder(fastSMA,slowSMA)
SmaShortExit = crossover(fastSMA,slowSMA)
//Close TRades
if (strategy.position_size > 0)
strategy.close(id="LE",when= SmaLongExit)
if (strategy.position_size < 0)
strategy.close(id="SE",when= SmaShortExit)