Die Center of Gravity-Backtesting-Handelsstrategie ist eine Handelsstrategie, die auf gleitenden Durchschnitten basiert. Sie berechnet das
Die Strategie berechnet die Schwerpunktposition durch die lineare Regressionsfunktion. Insbesondere berechnet sie den linearen Regressionswert des Schlusskurses über die Längeperiode, der
Dies ist eine sehr einfache Breakout-Strategie mit folgenden Hauptvorteilen:
Die Strategie birgt auch einige Risiken:
Die Risiken können durch Anpassung von Parametern wie Bands, Länge usw. kontrolliert werden. Der Stop-Loss kann auch so eingestellt werden, dass der maximale Verlust begrenzt wird.
Die Strategie kann auf folgende Weise weiter optimiert werden:
Die Center of Gravity-Backtesting-Handelsstrategie ist eine einfache Breakout-Strategie. Sie verfügt über klare Logik, gute Praktikabilität und flexible Parameter-Einstellungen. Gleichzeitig gibt es auch bestimmte Risiken, die ordnungsgemäß optimiert und kontrolliert werden müssen. Die Strategie eignet sich als Grundstrategie für den Live-Handel und die Optimierung und eignet sich auch sehr gut für Anfänger.
/*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")