Vấn đề về tính toán chính xác của ATR trong cơ sở dữ liệu TA được định lượng của nhà phát minh?

Tác giả:Sadhu là ở dưới đây., Tạo: 2023-02-28 16:22:30, Cập nhật: 2023-02-28 16:28:27

def ma_case(self):
    exchange.SetContractType("swap")
    r = exchange.GetRecords(PERIOD_M1)
    ma = TA.MA(r, 20)
    Log(f'ma =>   {ma[-1]},  {ma[-2]}')
        
def atr_case(self):
    exchange.SetContractType("swap")
    r = exchange.GetRecords(PERIOD_M1)
    atr = TA.ATR(r, 14)
    Log(f'atr => {atr[-1]}, {atr[-2]}')

2023-02-28 16:20:39 Thông tin atr => 12.161116665558945, 12.042741024448038 2023-02-28 16:20:39 Thông tin ma => 23246.1, 23244.699999999997

Trong khi đó, số liệu của Binance cho cùng thời điểm: ATR 14 => 17.78 MA 20 => 23247

Bạn có thể thấy ma là một số liệu khá chính xác, nhưng tại sao at lại kém hơn?


Thêm nữa

Sadhu là ở dưới đây.Sau nhiều lần thử nghiệm, số liệu của ma vẫn tương đối chính xác, và trơ thực sự kém hơn một chút.

Giấc mơ nhỏThông thường, đầu tiên là xác định dữ liệu đường K so sánh hoàn toàn phù hợp, sau đó kiểm tra xem các tham số chỉ số có phù hợp hay không, và cuối cùng nếu có sự khác biệt thì cần kiểm tra xem thuật toán chỉ số có phù hợp hay không. Một số nền tảng có thể có sự khác biệt trong thuật toán mặc dù tên chỉ số giống nhau.