Center of Gravity backtesting trading strategy adalah strategi trading yang didasarkan pada moving average. Hal ini menghitung
Strategi ini menghitung pusat posisi gravitasi melalui fungsi regresi linier. Secara khusus, ini menghitung nilai regresi linier harga penutupan selama periode Panjang, yang merupakan
Ini adalah strategi breakout yang sangat sederhana dengan keuntungan utama berikut:
Strategi ini juga memiliki beberapa risiko:
Risiko dapat dikendalikan dengan menyesuaikan parameter seperti Band, Panjang, dll. Stop loss juga dapat diatur untuk membatasi kerugian maksimum.
Strategi dapat dioptimalkan lebih lanjut dengan cara berikut:
Strategi perdagangan backtesting Center of Gravity adalah strategi breakout yang sederhana. Strategi ini memiliki logika yang jelas, kepraktisan yang baik, dan pengaturan parameter yang fleksibel. Pada saat yang sama, ada juga risiko tertentu yang perlu dioptimalkan dan dikendalikan dengan benar. Strategi ini cocok sebagai strategi dasar untuk perdagangan langsung dan optimasi, dan juga sangat cocok untuk pemula untuk belajar.
/*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")