Trung tâm trọng lực backtesting chiến lược giao dịch là một chiến lược giao dịch dựa trên trung bình động. Nó tính toán
Chiến lược này tính toán vị trí trung tâm trọng lực thông qua hàm hồi quy tuyến tính. Cụ thể, nó tính toán giá trị hồi quy tuyến tính của giá đóng trong khoảng thời gian dài, đó là
Đây là một chiến lược thoát rất đơn giản với những lợi thế chính sau:
Chiến lược này cũng có một số rủi ro:
Rủi ro có thể được kiểm soát bằng cách điều chỉnh các tham số như Bands, Length, vv. Stop loss cũng có thể được thiết lập để hạn chế lỗ tối đa.
Chiến lược có thể được tối ưu hóa thêm theo các cách sau:
Chiến lược giao dịch kiểm tra lại trung tâm trọng lực là một chiến lược đột phá đơn giản. Nó có logic rõ ràng, khả năng thực hiện tốt và cài đặt tham số linh hoạt. Đồng thời, cũng có một số rủi ro cần được tối ưu hóa và kiểm soát đúng cách. Chiến lược này phù hợp như một chiến lược cơ bản cho giao dịch trực tiếp và tối ưu hóa, và cũng rất phù hợp cho người mới bắt đầu học.
/*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")