Esta es una estrategia de negociación basada en el cruce de bandas de Bollinger y promedios móviles para tomar decisiones de compra y venta. Utiliza principalmente el indicador de bandas de Bollinger en el marco de tiempo de 5 minutos para determinar el rango de fluctuación de precios, combinado con promedios móviles para determinar la dirección de la tendencia, y forma una estrategia de negociación de acuerdo con las situaciones de cruce de banda superior, banda inferior y banda media de bandas de Bollinger.
La banda media de las bandas de Bollinger es una media móvil simple de 20 períodos, la banda superior es la banda media más dos desviaciones estándar, y la banda inferior es la banda media menos dos desviaciones estándar.
Cuando el precio de cierre se rompe a través de la banda inferior hacia arriba, indica que el precio comienza a subir, por lo que hacemos entrada larga aquí.
Cuando el precio de cierre excede la banda media de las bandas de Bollinger, significa que el precio ha subido por encima de la banda media, así que salimos de la posición aquí para terminar esta ronda de negociación.
Cuando el precio de cierre se rompe a través de la banda superior hacia abajo, significa que el precio comienza a bajar, así que hacemos entrada corta aquí.
Cuando el precio de cierre rompe la banda media de las bandas de Bollinger, significa que el precio ha caído por debajo de la banda media, así que salimos de la posición aquí para terminar esta ronda de negociación.
Esta estrategia hace pleno uso de las características de las bandas de Bollinger para capturar los rebotes de precios desde la banda inferior y las caídas desde la banda superior de manera oportuna, evitando las pérdidas causadas por las oportunidades de reversión perdidas.
Al hacer entradas de compra y venta en puntos clave y establecer un stop loss razonable, puede cambiar rápidamente de dirección durante la transformación entre el mercado alcista y bajista para obtener mejores retornos.
Forma señales de negociación basadas en un marco de tiempo de 5 minutos, que pueden capturar tendencias a corto plazo sin negociar con demasiada frecuencia para aumentar los costos de transacción.
Cuando los precios del mercado fluctúan violentamente, las bandas superior e inferior de las bandas de Bollinger convergen demasiado rápido, lo que puede formar fácilmente falsas rupturas y dar señales erróneas.
El riesgo de stop loss. Un stop loss demasiado pequeño puede romperse fácilmente mientras que un stop loss demasiado grande puede conducir a pérdidas enormes.
Si la frecuencia de negociación es demasiado alta, los costos de transacción también aumentarán significativamente.
Podemos probar diferentes combinaciones de parámetros de ciclo y parámetros de desviación estándar para encontrar el conjunto de parámetros que mejor se adapte al rango de volatilidad de este producto en particular.
Se pueden introducir indicadores como KDJ y MACD para evitar problemas causados por confiar únicamente en las bandas de Bollinger.
Optimizar la estrategia de stop loss. Podemos establecer un stop loss más preciso mediante el seguimiento de los cambios de precios en tiempo real. También se pueden utilizar otras estrategias como la línea de acciones.
Esta estrategia es relativamente estable en general con cierta rentabilidad. Al optimizar los parámetros y las estrategias de stop loss, los riesgos comerciales se pueden reducir aún más para obtener buenos rendimientos en condiciones de mercado volátiles.
/*backtest start: 2023-12-30 00:00:00 end: 2024-01-29 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © theTradeAI strategy('TradeAI - 5min AUDNZD Strategy', overlay=true) ////////////////////////////// //////// STOP ORDERS DETECTING ////////////////////////////// length = input(1) h = ta.highest(high, length) l = ta.lowest(low, length) ////////////////////////////// //////// EMAS ////////////////////////////// emaLenght = input.int(200) ema200 = ta.ema(close,emaLenght) ////////////////////////////// //////// BOLLINGER BANDS ////////////////////////////// length1 = input.int(20, minval=1) maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") ma(source, length1, _type) => switch _type "SMA" => ta.sma(source, length1) "EMA" => ta.ema(source, length1) "SMMA (RMA)" => ta.rma(source, length1) "WMA" => ta.wma(source, length1) "VWMA" => ta.vwma(source, length1) basis = ma(src, length1, maType) dev = mult * ta.stdev(src, length1) upperr = basis + dev lowerr = basis - dev offset = input.int(0, "Offset", minval = -500, maxval = 500) ////////////////////////////// //////// ENTRY & EXIT ////////////////////////////// // Buy entry if ta.crossover(lowerr, close) strategy.entry('long', strategy.long, stop=h) // Buy entry CANCEL if close > lowerr strategy.cancel('long') // Buy exit if close > basis strategy.close('long') // Sell entry if ta.crossunder(upperr, close) strategy.entry('short', strategy.short, stop=l) // Sell entry CANCEL if close < upperr strategy.cancel('short') // Sell exit if close < basis strategy.close('short')