Estrategia de negociación cuantitativa a medio y largo plazo basada en bandas de Bollinger

El autor:¿ Qué pasa?, Fecha: 2023-09-14 20:09:13
Las etiquetas:

Este artículo explica en detalle una estrategia de negociación cuantitativa a mediano y largo plazo utilizando bandas de Bollinger.

I. Lógica de la estrategia

La estrategia emplea principalmente los siguientes indicadores de bandas de Bollinger:

  1. Calcular el precio promedio móvil como la línea de base durante un cierto período.

  2. Calcular la desviación estándar del precio y multiplicarlo por un factor como el rango.

  3. El rango ± mediano constituye las bandas superior e inferior.

  4. El precio que rompe las bandas genera señales comerciales.

La lógica de negociación específica es:

Cuando el precio rompe la banda inferior, se genera una señal de compra para tomar posiciones largas.

Cuando el precio rompe la banda superior, se genera una señal de venta para tomar posiciones cortas.

Los beneficios y las pérdidas se fijan en porcentajes fijos para bloquear las ganancias y pérdidas.

En general, la estrategia identifica las tendencias a mediano y largo plazo mediante la detección de rupturas de precios de las bandas de Bollinger.

II. Ventajas de la Estrategia

Las principales ventajas de esta estrategia son las siguientes:

En primer lugar, las bandas de Bollinger pueden identificar las rupturas y reversiones de precios para capturar las tendencias a medio y largo plazo.

En segundo lugar, el establecimiento directo de stop loss y take profit ayuda a una gestión prudente del dinero.

Por último, las normas simples y claras facilitan la aplicación y optimización de esta estrategia.

III. Riesgos potenciales

No obstante, deben tenerse en cuenta los siguientes riesgos:

En primer lugar, las bandas deben ser optimizadas con precisión para señales estables.

En segundo lugar, el stop loss establece riesgos demasiado pequeños, ganancias insuficientes, mientras que los riesgos demasiado grandes aumentan.

Por último, es necesario evitar el comercio excesivamente frecuente.

IV. Resumen

En resumen, este artículo ha explicado una estrategia de negociación cuantitativa a mediano y largo plazo utilizando bandas de Bollinger para el seguimiento de tendencias. Puede rastrear las tendencias de precios a mediano y largo plazo, pero requiere un ajuste fino de los intervalos de banda y los niveles de stop loss. En general, proporciona un enfoque relativamente simple e intuitivo de seguimiento de tendencias.


/*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")

Más.