期货cjl指标:Python代码从币安期货市场获取MFI指标 错误计算

我从 python 开始,我试图定制我从互联网上获得的代码,以获取 Binance 经纪人的期货市场中加密货币的 MFI 指标。该代码正在工作,但它为 MFI 所做的计算与 Binance 上显示的不匹配。我的计算公式有误吗?

我的代码是这样的,它返回最后一个 MFI 值的列表,最后一个将是当前的,如果有人知道,可以帮助

import warnings
import numpy as np
import pandas as pd
from stockstats import StockDataFrame
import time
import config
import matplotlib.pyplot as plt 
plt.style.use('fivethirtyeight') 
warnings.filterwarnings('ignore')
symbol='ADAUSDT'
timeinterval=5
while(1==1):
    
    url = 'https://fapi.binance.com/fapi/v1/klines?symbol='+symbol+'&interval='+str(timeinterval)+'m'+'&limit=100'
    data = requests.get(url).json()
        
    D = pd.DataFrame(data)
    D.columns = ['open_time', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'qav', 'num_trades', 'taker_base_vol', 'taker_quote_vol', 'is_best_match']
    
    typical_price = (D['close'].astype(float) + D['high'].astype(float) + D['low'].astype(float)) / 3
       
    period = 14
    
    money_flow = typical_price * D['volume'].astype(float)
       
    positive_flow =[] 
    negative_flow = []
    
    
    for i in range(1, len(typical_price)):
      if typical_price[i] > typical_price[i-1]: 
        positive_flow.append(money_flow[i-1])
        negative_flow.append(0) 
      elif typical_price[i] < typical_price[i-1]:
        negative_flow.append(money_flow[i-1])
        positive_flow.append(0)
      else: 
        positive_flow.append(0)
        negative_flow.append(0) 
   
    
    positive_mf =[] 
    negative_mf =[]
    
    for i in range(period-1, len(positive_flow)):
        positive_mf.append(sum(positive_flow[i+1-period : i+1]))
      
    for i in range(period-1, len(negative_flow)):
        negative_mf.append(sum(negative_flow[i+1-period : i+1]))
    
    mfi = 100 * (np.array(positive_mf) / (np.array(positive_mf)  + np.array(negative_mf) ))    
    
    print(mfi)```

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(299)
Phishing:Facebook网络钓鱼检测
上一篇
马兰士cd95:Windows95上的OpenGL
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(42条)