Le centre de gravité est une stratégie de trading basée sur des moyennes mobiles. Il calcule le centre du prix, c'est-à-dire la position du centre de gravité, et construit des canaux de prix comme des couloirs pour les cotations d'actifs.
La stratégie calcule la position du centre de gravité à travers la fonction de régression linéaire. Plus précisément, elle calcule la valeur de régression linéaire du prix de clôture sur la période de longueur, qui est le
C' est une stratégie de rupture très simple avec les principaux avantages suivants:
La stratégie comporte également certains risques:
Les risques peuvent être contrôlés en ajustant des paramètres tels que les bandes, la longueur, etc. Le stop loss peut également être réglé pour limiter la perte maximale.
La stratégie peut être encore optimisée de la manière suivante:
La stratégie de trading de backtesting du centre de gravité est une stratégie de rupture simple. Elle possède une logique claire, une bonne faisabilité et des paramètres flexibles. En même temps, il existe également certains risques qui doivent être correctement optimisés et contrôlés. La stratégie convient comme stratégie de base pour le trading en direct et l'optimisation, et est également très adaptée pour les débutants.
/*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")