Estrategia de negociación de ruptura de canal de prueba posterior

El autor:¿ Qué pasa?, Fecha: 2023-09-20 17:02:40
Las etiquetas:

Resumen general

Esta estrategia construye canales largos y cortos, backtesting breakouts de canal sistemáticamente.

Estrategia lógica

  1. Construir el canal largo con los precios más altos durante un período, y el canal corto con los precios más bajos.

  2. Comprar cuando el precio se rompe por encima de la línea superior del canal.

  3. Vende cuando el precio se rompe por debajo de la línea inferior del canal.

  4. Puede establecer el rango de fecha de backtest para verificar la estrategia.

  5. Reglas sencillas y claras para el intercambio de canales.

Ventajas

  1. Los canales definen visualmente los rangos de precios.

  2. Alta probabilidad de impulso al alza después de las rupturas.

  3. Las pruebas de retroceso verifican la efectividad de la estrategia históricamente.

  4. El concepto de ruptura de canal es simple e intuitivo.

  5. Código conciso fácil de modificar y optimizar.

Los riesgos

  1. Los riesgos de false breakouts y retractos después de la primera breakout.

  2. No hay manera efectiva de establecer paradas y salidas.

  3. Los parámetros incorrectos del canal afectan negativamente el rendimiento.

  4. Los resultados de las pruebas de retroceso pueden tener un sesgo de prospección.

  5. Los resultados reales de las operaciones pueden diferir mucho de los resultados de las pruebas de retroceso.

Mejoramiento

  1. Parámetros de ensayo para encontrar combinaciones óptimas.

  2. Agregue otros factores para filtrar las fugas falsas.

  3. Incorporar los mecanismos de stop loss y take profit.

  4. Maneja los datos de las pruebas de retroceso adecuadamente para eliminar el sesgo.

  5. Verificar la estrategia en varias condiciones de mercado mediante pruebas de retroceso.

  6. Comercio en papel para configurar los parámetros para el comercio en vivo.

Conclusión

Esta estrategia pone a prueba reglas de escape de canal simples, fáciles de operar pero que requieren refinamiento para la estabilidad.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-08-30 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//strategy(title = "Backtest Donchian Teixeira", default_qty_type = strategy.fixed, default_qty_value = 100, overlay = true, commission_type = strategy.commission.cash_per_order, commission_value = 2.50, precision = 2, calc_on_every_tick = true, pyramiding = 0, initial_capital = 10000)

testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 00, 00)

testEndYear = input(2018, "Backtest End Year")
testEndMonth = input(12, "Backtest End Month")
testEndDay = input(1, "Backtest End Day")
testPeriodEnd = timestamp(testStartYear, testStartMonth, testStartDay, 23, 59)

window()  => true //nao funciona

length1 = input(20, minval=1, title="Upper Channel")
length2 = input(20, minval=1, title="Lower Channel")

dcUpper = highest(length1)
dcLower = lowest(length2)

plot(dcLower, style=line, linewidth=1, color=red, offset=1)
plot(dcUpper, style=line, linewidth=1, color=lime, offset=1)
plot(dcLower, style=line, linewidth=1, color=gray)

if (strategy.position_size == 0)
    strategy.entry("COMPRA", true, stop = dcUpper)
    
if (strategy.position_size > 0)
    strategy.exit("VENDA", stop = dcLower)

Más.