Type/to search
0
Follow
5
Followers
Phân tích lý do gây ra sự không nhất quán giữa chỉ báo MACD TV và FMZ (+ chỉ báo EMA viết tay)
FAQ
Created 2021-09-24 16:18:35  
 12
 1454

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;
}

Related Recommendations
Comment
All comments (12)

    今天我又在策略中用到这个指标,比较后发现日线和TV中相差不大,甚至完全一致,但低级别的差别很大,最后一翻尝试,也有了些收获。

    5 years ago

    下面有朋友留言说无所谓、实际这个是要看需求的、如果自己或者客户有这个需求、对我们做开发的人来说,不管它有用没用,你都得认认真真搞明白的。

    5 years ago

    胡哥,那么会不会 FMZ 的 SuperTrend 的指标和TV的总是晚一根K线时间,也是这个原因呢???
    这个问题总是会影响到下单 或者 转向的机会的滞后。。。。愁死我了。。。

    5 years ago

    只要不是高频,趋势类策略不必计较晚点进场早点进场,如果非常在意这些说明策略容错能力有问题,那么指标就更无所谓了

    5 years ago

    只要不是高频,趋势类策略不必计较晚点进场早点进场,如果非常在意这些说明策略容错能力有问题,那么指标就更无所谓了

    5 years ago

    只要不是高频,趋势类策略不必计较晚点进场早点进场,如果非常在意这些说明策略容错能力有问题,那么指标就更无所谓了

    5 years ago

    「TV中的第1根K线和FMZ中的第1根K线不是同一个时间」具体是指?
    K线长度不对等也不影响指标计算的,只要K线数据一样。

    5 years ago

    影响的,每一根都有权重,比如小时线、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,完全不同的,

    5 years ago

    是K线数据BAR数量不一样,会影响迭代计算的数值。 对应的BAR数据是一样的。

    5 years ago

    胡哥,梦大,那么会不会 FMZ 的 SuperTrend 的指标和TV的总是晚一根K线时间,也是这个原因呢???
    这个问题总是会影响到下单 或者 转向的机会的滞后。。。。愁死我了。。。

    5 years ago

    如果K线数据一样,只是多一根少一根, 不应该差别很大的。。。

    5 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)