El centro de gravedad es una estrategia de negociación basada en promedios móviles, que calcula el centro del precio, es decir, la posición del centro de gravedad, y construye canales de precios como corredores para cotizaciones de activos.
La estrategia calcula la posición del centro de gravedad a través de la función de regresión lineal. Específicamente, calcula el valor de regresión lineal del precio de cierre durante el período de longitud, que es el
Esta es una estrategia de escape muy simple con las siguientes ventajas principales:
La estrategia también tiene algunos riesgos:
Los riesgos se pueden controlar ajustando parámetros como bandas, longitud, etc. También se puede establecer un stop loss para limitar la pérdida máxima.
La estrategia se puede optimizar aún más de las siguientes maneras:
La estrategia de trading de backtesting del Centro de Gravedad es una estrategia de breakout simple. Tiene una lógica clara, buena practicidad y ajustes de parámetros flexibles. Al mismo tiempo, también hay ciertos riesgos que deben optimizarse y controlarse adecuadamente. La estrategia es adecuada como una estrategia básica para el comercio en vivo y la optimización, y también es muy adecuada para que los principiantes aprendan.
/*backtest start: 2023-11-11 00:00:00 end: 2023-12-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 15/03/2018 // The indicator is based on moving averages. On the basis of these, the // "center" of the price is calculated, and price channels are also constructed, // which act as corridors for the asset quotations. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Center Of Gravity Backtest", shorttitle="CFO", overlay = true) Length = input(20, minval=1) m = input(5, minval=0) Percent = input(1, minval=0) SignalLine = input(1, minval=1, maxval = 2, title = "Trade from line (1 or 2)") reverse = input(false, title="Trade reverse") xLG = linreg(close, Length, m) xLG1r = xLG + ((close * Percent) / 100) xLG1s = xLG - ((close * Percent) / 100) xLG2r = xLG + ((close * Percent) / 100) * 2 xLG2s = xLG - ((close * Percent) / 100) * 2 xSignalR = iff(SignalLine == 1, xLG1r, xLG2r) xSignalS = iff(SignalLine == 1, xLG1s, xLG2s) pos = iff(close > xSignalR, 1, iff(close < xSignalS, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xLG, color=blue, title="CFO") plot(xLG1r, color=green, title="LG1r") plot(xLG2r, color=green, title="LG2r") plot(xLG1s, color=red, title="LG1s") plot(xLG2s, color=red, title="LG2s")