import talib def main(): LastBarTime = 0 while(true): records = exchange.GetRecords() BarTime = records[-1][“Time”] ext.PlotRecords(records, “ “) if LastBarTime != BarTime: kama = talib.KAMA(records, 30) Log(kama[30]) Log(kama[kama.length-1]) LastBarTime = BarTime KAMA 지표를 시도해봤는데, JS 단어로 실행할 수 있고, py 단어로 잘못 보답한다.
그리고 제가 직접 KAMA의 구현 코드를 작성했습니다. KAMA의 정의에 따라: 방향(DIR) = 종가 - n일 전 종가 변동성(VIR) = sum(abs(종가 - 전 거래일 종가), n) 효율성(ER) = 방향성 / 변동성 빠름 = 2 / (n1 + 1) 느림 = 2 / (n2 + 1) 부드러움(CS) = 효율성 * (빠름 - 느림) + 느림 계수(CQ) = 평활화 * 평활화 KAMA = 지수 가중 평균 ((진동 이동 평균 ((폐쇄 가격, 인수), 2) (마지막 단계는 어떤 소개가 있는 이 계산에 따라 계산된다: 현재 KAMA = 이전 KAMA + SC x (Price - 이전 KAMA)
그리고 마지막 단계의 이 이전 KAMA이 어디서 왔는지도 몰랐습니다. 첫 번째 KAMA값을 계산할 때, 이전 KAMA 값이 존재하지 않았습니까? 제 알고리즘이 잘못되었습니까? “이런 일이 벌어진다면, 어떻게 해야 할 것인가?”