【问题标题】:Numpy array length (number of rows) will not exceed 99,999Numpy 数组长度(行数)不会超过 99,999
【发布时间】:2022-01-18 22:32:35
【问题描述】:
import MetaTrader5 as mt5
import numpy as np

array_rows = 364320

rates = mt5.copy_rates_from_pos(i, time_frame, 0, array_rows)
modified_rates = np.insert(arr=rates, obj=0, values=int(0), axis=0)
print(modified_array)

上面的代码用于生成下面的OHLCV行情数据数组(摘录)并写入csv文件。

[(         0, 0.     , 0.     , 0.     , 0.     ,  0,  0, 0)
 (1631077200, 1.18471, 1.18474, 1.18469, 1.18472, 13, 12, 0)
 (1631077260, 1.1847 , 1.18475, 1.18469, 1.18474,  9, 12, 0) 
 (1639598520, 1.12593, 1.12604, 1.12593, 1.126  , 27, 10, 0)
 ....... )]

问题是数组行数不会超过 99,999 - 如何解决?

【问题讨论】:

  • 什么意思?您是否遇到某种错误?可能内存不足?
  • 没有错误信息!
  • 如果它的记忆,行数不会以任意数字终止,而不是始终以 99,999 终止吗?
  • 数组占用63MB以下(使用代码-import os, psutil; print(psutil.Process(os.getpid()).memory_info().rss / 1024 ** 2))
  • 阵列用完不到 63MB,还有 3,153MB 可用内存

标签: python numpy csv


【解决方案1】:

我相信 99999 是 MT5 历史数据库中存储的最大柱数。

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多