
Une stratégie de trading basée sur les moyennes mobiles. Elle calcule la courbe centrale du prix, la position du centre de gravité, et construit un canal de prix, qui sert de corridor pour la cotation de l’actif. La stratégie peut être modifiée dans les paramètres d’entrée pour faire plus ou faire moins.
La stratégie calcule la position du centre de gravité à l’aide d’une fonction de régression linéaire. Plus précisément, elle calcule la valeur de la régression linéaire du prix de clôture de la période de Longitude, c’est-à-dire le centre de la courbe de prix. Puis, sur cette base, construisez un canal de prix en déplaçant le pourcentage vers le haut et vers le bas.
Il s’agit d’une stratégie de percée très simple, dont les principaux avantages sont:
Cette stratégie comporte aussi des risques:
Il est possible de contrôler le risque en ajustant les paramètres Bands, Length, etc. Il est également possible de définir un stop-loss pour limiter la perte maximale.
Cette stratégie peut être optimisée:
La stratégie de trading de rétrospective de concentration est une stratégie de percée simple. Elle a une pensée claire, une forte faisabilité et un paramétrage flexible. Il existe également un certain risque qui nécessite un contrôle d’optimisation approprié.
/*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")