Estrategia de trading cuantitativo a medio y largo plazo basada en Bandas de Bollinger


Fecha de creación: 2023-09-14 20:09:13 Última modificación: 2023-09-14 20:09:13
Copiar: 2 Número de Visitas: 679
1
Seguir
1617
Seguidores

En este artículo se detalla una estrategia para el comercio cuantitativo a medio y largo plazo con el indicador de la banda de Brin. Esta estrategia se basa en la brecha de precios de la banda de Brin para formar una señal de comercio.

El principio de la estrategia

La estrategia se basa en los siguientes indicadores de la franja de Bryn:

  1. Calcular el promedio de precios de un determinado ciclo como una línea de referencia;

  2. Calcula el diferencial estándar de precios y multiplica por el múltiplo como rango;

  3. El rango de mediados de ± constituye la banda de Brin de subida y bajada;

  4. Cuando el precio se rompe con la banda de Brin y baja, se forma una señal de negociación.

La lógica de la transacción es la siguiente:

Cuando el precio se rompe con la banda de Binance, se forman señales de compra para hacer posiciones múltiples;

Cuando el precio rompe la banda de Brin y se pone en marcha, se forma una señal de venta para hacer una posición vacía.

El punto de parada de pérdidas se fija en un porcentaje para bloquear las ganancias.

En general, la estrategia capta tendencias de la línea media y larga por medio de la determinación de que el precio ha roto la banda de Brin y se ha puesto en marcha.

Dos, las ventajas estratégicas

Las principales ventajas de esta estrategia son:

En primer lugar, las bandas de Brin pueden determinar las brechas y las señales de reversión de los precios y capturar tendencias a medio y largo plazo.

En segundo lugar, la configuración de stop-loss es directa y controlable, lo que ayuda a la gestión activa de los fondos.

Finalmente, las reglas de la estrategia son simples y claras, fáciles de implementar y optimizar.

Tercero, el riesgo potencial.

Pero también debemos estar atentos a los siguientes riesgos:

En primer lugar, la franja de Brin necesita ser optimizada con precisión para generar una señal estable.

En segundo lugar, si el stop loss es demasiado pequeño, el beneficio puede ser insuficiente; si es demasiado grande, el riesgo es demasiado alto.

Por último, hay que evitar que las transacciones sean demasiado frecuentes.

Cuatro contenido, resumen

Este artículo detalla una estrategia de comercio cuantitativa a medio y largo plazo que utiliza un indicador de Brin para el seguimiento de tendencias. Esta estrategia puede capturar la tendencia a medio y largo plazo de los precios de forma indirecta, pero requiere optimizar el intervalo de parámetros y el nivel de parada. En general, es una estrategia de seguimiento de tendencias más simple e intuitiva.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//------------------------------------
//
// 『おすすめストラテジーSS1』
// 『BitMEX XBTUSD 30分足向け中長期用ストラテジー』
//  本番用ストラテジーファイル
//
//
//
//------------------------------------
//【説明】
// 『おすすめストラテジーSS1』のPineスクリプトです。
//------------------------------------
 
//@version=3
// strategy(title = "『おすすめストラテジーSS1』", shorttitle="Strategy1", initial_capital=1200000, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.05, overlay=true)
 
 
//------------------------------------
//
//ストラテジーロジック
//
//------------------------------------
 
 
source = close
 
length = input(51, minval = 1, title = "移動平均")
mult = input(3.01, minval = 0.001,step=0.01, maxval = 10, title = "マルチ")
 
Rikaku = input(14.2, minval = 0.1, step=0.1,maxval = 100, title = "利確(%)")
Songiri = input(99, minval = 0.1, maxval = 100, title = "損切(%)")
 
base = sma(source, length)
range = mult * stdev(source, length)
 
upper = base + range
lower = base - range
 
short_cond = crossover(source, lower)
long_cond = crossunder(source, upper)
 
 
cl = 0.0
cl := na(cl[1]) ? sma(source, length) : (cl[1] * (length - 1) + source) / length
 
plot(cl, color=black)
 
up_plot = plot(upper, color=blue)
low_plot = plot(lower, color=red)
 
fill(up_plot, low_plot,color=#009900)
 
//------------------------------------
//
//オーダー処理
//
//------------------------------------
 
 
if (long_cond)
 
	strategy.entry("Long_Entry", strategy.long, oca_name="BollingerBands", comment="Long")
 
	//BitFlyerのようなJPY建ての場合は以下のコードを使います。他の通貨ペアにする場合も1ティックが異なるため桁数の変更が必要です。
	//strategy.exit("LE Exit", "BBandLE", profit = close*(Rikaku/100)*100, loss = close*(Songiri/100)*100, comment="Close")
	strategy.exit("Long_Exit", "Long_Entry", profit = close*(Rikaku/100)*10, loss = close*(Songiri/100)*10, comment="LongClose")
 
if (short_cond)
 
	strategy.entry("Short_Entry", strategy.short, oca_name="BollingerBands",  comment="Short")
 
    //BitFlyerのようなJPY建ての場合は以下のコードを使います。他の通貨ペアにする場合も1ティックが異なるため桁数の変更が必要です。
    //strategy.exit("SE Exit", "BBandSE", profit = close*(Rikaku/100)*100, loss = close*(Songiri/100)*100, comment="Close")
    strategy.exit("Short_Exit", "Short_Entry", profit = close*(Rikaku/100)*10, loss = close*(Songiri/100)*10, comment="ShortClose")