Ngày hôm nay, khi tôi dịch chiến lược của một TV, sử dụng chỉ số MACD, và so sánh FMZ và TV, xu hướng là giống nhau, nhưng sự khác biệt về số liệu cụ thể là khá lớn, và tôi đã mất một đêm để tìm ra lý do, và tôi đã thử rất nhiều:
Các công cụ này được sử dụng trong các dự án như: TA.MACD, talin.MACD, và một cơ sở dữ liệu nguồn mở trong cộng đồng.
Kết quả so sánh: 3 trong số đó hoàn toàn giống nhau.
Tuy nhiên, trên trang phản hồi, MACD không phù hợp với biểu đồ truyền hình.
MACD thực sự là chỉ số EMA được tính toán thêm, và để đơn giản hóa phân tích vấn đề, tôi đã thay đổi so sánh với MACD so sánh với EMA, và tôi đã thay đổi so sánh với MACD so sánh với EMA, và tôi đã thay đổi so sánh với MACD so sánh với EMA.
Nhưng sau khi so sánh, tôi cũng thấy có sự khác biệt, và tôi bắt đầu nghi ngờ rằng đó là sự khác biệt giữa FMZ và TV trong thuật toán của EMA.
Sau khi xem TV giới thiệu về thuật toán EMA, tôi đã viết một thuật toán chỉ số của EMA bằng tay của mình (thêm vào cuối)
Sau khi so sánh lại, kết quả tương đồng với TA.EMA, không có bất kỳ sự khác biệt nào.
Có phải vấn đề là nguồn dữ liệu?
Để đơn giản hóa phân tích hơn nữa, tôi thay đổi tham số của EMA thành 2, thu nhỏ phạm vi đo, kéo biểu đồ sang bên trái nhất, và tôi muốn so sánh giá trị EMA từ đường K đầu tiên, và xem khi nào nó bắt đầu không phù hợp.
Khi tôi kéo đầu tiên, tôi đã ngạc nhiên khi thấy rằng đầu tiên K dây trong TV và đầu tiên K dây trong FMZ không phải là cùng một thời gian, TV sẽ đi về phía trước thêm một dây.
Vì vậy, từ EMA đầu tiên, nó sẽ khác nhau, và mỗi EMA sau đó sẽ có một trọng lượng nhất định đối với EMA trước đó.
Không có gì ngạc nhiên khi tất cả các dữ liệu sau đó đều không phù hợp, phân tích kết thúc ở đây, vì lý do kỳ lạ, nhưng cuối cùng đã tìm thấy.
function whl_ema(src, length) {
var arr = [];
var sum = 0;
var alpha = 2 / (length + 1)
for(var i in src){
if(i<length-1) {
arr[i] = null;
sum += src[i];
}else if(i==length-1){
arr[i] = (sum+src[i])/length;
}else{
arr[i] = alpha * src[i] + (1 - alpha) * arr[i-1]
}
}
return arr;
}
影响的,每一根都有权重,比如小时线、TV中是第1根是:12:00,而FMZ中第1根是13:00,差了1根,这样计算时,假设EMA参数为2,这样计算第3根K线(FMZ中是第2根)的EMA,FMZ中EMA = (C2+C3)/2,而TV中EMA=(C1+C2)/21/3+C32/3,完全不同的,
- 1

