Đây là một chiến lược giao dịch trung bình di chuyển được xây dựng bằng công nghệ lọc động. Nó lọc các biến động giá nhỏ bằng cách đặt ngưỡng thay đổi giá, chỉ chọn tính toán sự thay đổi giá lớn, do đó tăng sự ổn định của chiến lược.
Chỉ số chuyển động động Chande là một trong những chỉ số chuyển động, nó được tính toán bằng cách tính tổng giá trị tuyệt đối của số ngày trống với tổng giá trị chênh lệch của giá. Chiến lược này đã cải tiến nó bằng cách thiết lập Bộ lọc tham số giảm giá tối thiểu của biến động giá, chỉ khi biến động giá vượt quá ngưỡng này, CMO sẽ tham gia vào tính toán. Điều này lọc ra rất nhiều biến động nhỏ trong thị trường, làm cho chỉ số trở nên ổn định và đáng tin cậy hơn.
Trên cơ sở tính toán các chỉ số, nó thiết lập TopBand đường lên và LowBand đường xuống, tạo ra tín hiệu giao dịch khi chỉ số vượt quá hai đường này. Cuối cùng, tham số đầu vào ngược reverse có thể lấy ngược tín hiệu ban đầu và thực hiện hoạt động ngược.
Đây là một chiến lược theo dõi xu hướng rất ổn định và đáng tin cậy, do sử dụng công nghệ lọc động lượng, có thể lọc tiếng ồn thị trường một cách hiệu quả và ngăn chặn bị đánh giá. Các tham số chiến lược có nhiều không gian để tối ưu hóa, có thể tối ưu hóa các chỉ số chiến lược bằng cách điều chỉnh các tham số như Filter, TopBand, LowBand. Và có chức năng giao dịch ngược, có thể thích ứng linh hoạt với môi trường thị trường khác nhau.
Chiến lược này chủ yếu dựa trên theo dõi xu hướng, do đó dễ gây ra tín hiệu sai và thua lỗ trong thị trường. Ngoài ra, việc tối ưu hóa tham số không đúng cũng có thể dẫn đến tần suất giao dịch quá cao hoặc tín hiệu không ổn định. Cuối cùng, việc sử dụng tham số giao dịch ngược không đúng cách có thể dẫn đến thua lỗ không cần thiết.
Để giảm thiểu những rủi ro này, nên tối ưu hóa các tham số một cách hợp lý, làm cho tín hiệu trở nên ổn định và đáng tin cậy hơn; tránh sử dụng chiến lược này trong việc điều chỉnh thị trường, chọn công cụ chiến lược phù hợp hơn; cẩn thận sử dụng chức năng giao dịch ngược, tránh bật khi Parameter được tối ưu hóa kém.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Tối ưu hóa giá trị tham số Filter, đảm bảo không có tần suất giao dịch quá thấp trong khi vẫn lọc tiếng ồn thị trường.
Tối ưu hóa phạm vi tham số của TopBand và LowBand để nó phù hợp với độ dao động của thị trường và ngăn chặn tín hiệu sai.
Sử dụng các phương pháp như phân tích tiến bộ động để tối ưu hóa các tham số chiến lược để thích ứng với sự thay đổi của thị trường.
Thêm logic dừng lỗ, thiết lập điểm dừng lỗ hợp lý để kiểm soát lỗ.
Kết hợp với các chỉ số khác như MACD, KD, v.v. để tránh giao dịch sai lầm trong thị trường không có xu hướng.
Đây là một chiến lược theo dõi xu hướng rất thực tế. Nó sử dụng công nghệ lọc động lực, có thể ngăn chặn tiếng ồn thị trường một cách hiệu quả, làm cho tín hiệu rõ ràng và đáng tin cậy hơn. Bằng cách tối ưu hóa tham số và tối ưu hóa logic, nó có thể được đào tạo thành một công cụ giao dịch định lượng đáng tin cậy và ổn định.
/*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 02/03/2017
// This indicator plots a CMO which ignores price changes which are less
// than a threshold value. CMO was developed by Tushar Chande. A scientist,
// an inventor, and a respected trading system developer, Mr. Chande developed
// the CMO to capture what he calls "pure momentum". For more definitive
// information on the CMO and other indicators we recommend the book The New
// Technical Trader by Tushar Chande and Stanley Kroll.
// The CMO is closely related to, yet unique from, other momentum oriented
// indicators such as Relative Strength Index, Stochastic, Rate-of-Change, etc.
// It is most closely related to Welles Wilder`s RSI, yet it differs in several ways:
// - It uses data for both up days and down days in the numerator, thereby directly
// measuring momentum;
// - The calculations are applied on unsmoothed data. Therefore, short-term extreme
// movements in price are not hidden. Once calculated, smoothing can be applied to the
// CMO, if desired;
// - The scale is bounded between +100 and -100, thereby allowing you to clearly see
// changes in net momentum using the 0 level. The bounded scale also allows you to
// conveniently compare values across different securities.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
fFilter(xSeriesSum, xSeriesV, Filter) =>
iff(xSeriesV > Filter, xSeriesSum, 0)
strategy(title="CMOfilt", shorttitle="CMOfilt")
Length = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMom = close - close[1]
xMomAbs = abs(close - close[1])
xMomFilter = fFilter(xMom, xMomAbs, Filter)
xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
nSum = sum(xMomFilter, Length)
nAbsSum = sum(xMomAbsFilter, Length)
nRes = 100 * nSum / nAbsSum
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -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(nRes, color=blue, title="CMOfilt")