
Esta estrategia utiliza la línea divisoria de oro de la franja de Brin, combinada con el juicio de la uniformidad de la línea para realizar operaciones de regresión. Cuando el precio toca la línea divisoria de oro de la franja de Brin, se considera una señal de compra y se aprovecha la característica de regresión equilibrada del precio para obtener ganancias.
El uso de vwma en lugar de sma como la vía media de la banda de Brin refleja mejor la tendencia de movimiento de los precios
La división del oro es un importante área de soporte/resistencia, que sirve de base para la regresión
La línea media está alineada en varios extremos para asegurar una gran tendencia al alza.
El Stop Loss fijo asegura el control de las pérdidas individuales
La línea divisoria del oro no es un soporte definido y el precio podría caer directamente
El stop loss fijo puede ser demasiado arbitrario y se debe considerar el ajuste a las fluctuaciones del mercado.
El alineamiento de múltiples cabezas de la línea media también puede ser un falso avance, que debe combinarse con más indicadores para juzgarlo
La longitud de retorno es incierta y se debe establecer un punto de parada razonable.
Se pueden probar diferentes combinaciones de parámetros, como el ciclo de la banda de Bryn, el múltiplo de la diferencia estándar, el porcentaje de pérdidas fijas, etc.
Se pueden agregar más indicadores para determinar la tendencia del mercado y la probabilidad de reversión, como MACD, KD, etc.
Se puede considerar el stop dinámico, el stop ATR o el stop tracking
Optimizar las estrategias de frenado, como el frenado móvil, el frenado por lotes, etc.
Esta estrategia utiliza la línea de división de oro de Brin para el comercio de regresión equilibrada, con ventajas como la claridad de la lógica comercial, la facilidad de ajuste de parámetros y la capacidad de retroceso controlada. Pero también existe un cierto riesgo, que requiere pruebas y optimización adicionales, además de más herramientas de evaluación de indicadores técnicos y de parada / parada. En general, la estrategia ofrece una idea de cómo utilizar la regla de división de oro para el comercio cuantitativo, que vale la pena explorar más.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © mohanee
//@version=4
strategy(title="Bollinger Band with Fib Golden Ratio (0.618)", shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD)
length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)
stopLoss=input(5,title="Stop Loss",minval=1)
basis = vwma(src1, length)
dev = mult * stdev(src1, length)
//dev3 = mult3 * stdev(src, length)
upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)
//lower_618_dev3= basis - (0.618*dev3)
plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles, linewidth=2)
plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")
//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")
ema200=ema(close,200)
ema50=ema(close,50)
plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)
longCondition= ema50 > ema200
strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618 or low <= lower_618) )
strategy.close(id="BB_Fib618", comment="points="+tostring(close - strategy.position_avg_price, "###.##") , when = strategy.position_size >= 1 and crossover(close,upper_618 ))
//stoploss exit
stopLossVal = strategy.position_size>=1 ? strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price, "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )