历史中心更新--自1999年以来免费的历史分钟报价 - 页 8

 
Rosh:
唉,把 "图表上的最大条数"(今天约为300万),你可以观看任何日期。
也就是说,不可能设置一个任意的分段?
例如,只有2005年8月?
 
没有,为什么?文章"MetaTrader 4客户终端的秘密 " 描述了一些有用的东西,使生活更容易,这里是其中之一。

 
你是否曾想取消对历史 和窗口中的条数 限制?或者做一个像无限制的复选框。这将使用户对其完全没有疑问。
你可以用一个更聪明的逻辑来替换窗口中的条数限制,即从文件中交换历史记录。会有一个用于显示的缓冲区,如果我们在这个缓冲区之外的数据上移动,那么在这个缓冲区中就会从一个文件中加载新的历史数据,而不是以前的--它可以在滚动时滞后一点,当然。尽管如果整个历史被加载或者作为滚动的历史深度可以放在由VirtualAlloc创建的缓冲区中,在这种情况下,内存将从交换文件中加载终端此刻访问的数据,而不是从内存中清除旧的,并保留在交换文件中--同样的缓冲但在操作系统的层面上。
 
elritmo:
你想取消对历史和窗口中的条数的限制吗?或者做一个复选框,比如无限制。 用户根本就不会有任何疑问。
你可以用一个更聪明的逻辑来替换窗口中的条数限制,即从文件中交换历史记录。会有一个用于显示的缓冲区,如果我们在这个缓冲区之外的数据上移动,那么在这个缓冲区中就会从一个文件中加载新的历史数据,而不是以前的--它可以在滚动时滞后一点,当然。尽管如果整个历史被加载或者作为滚动的历史深度可以放在由VirtualAlloc创建的缓冲区中,在这种情况下,内存将从交换文件中加载终端此刻访问的数据,而不是从内存中清除旧的,并保留在交换文件中--同样的缓冲但在操作系统的层面上。
上帝保佑,在寻呼机上!
对于那些把终端放在服务器上进行自动交易的人来说,限制历史记录也是必要的。他们需要最低限度的历史记录来使指标工作,并限制磁盘空间。
 
做一个复选框,如无限或无限。 谁需要被限制,谁就会很容易做到。默认情况下,没有任何限制,所以你不必问:为什么我不能看到我所有的历史?
 
是的,而且每个人的内存默认是无限的......

如果你展示所有的历史,就会有疑问,为什么事情会如此缓慢。
 

你可以在滚动时从文件中加载历史记录。但在我看来,它的速度变慢了,因为内存是通过堆栈重新定位的。还有其他保留记忆的方法。我们建议对巨大的数组使用VirtualAlloc内存分配。Heap可以自由地用于不超过1Mbyte的动态数组
在MT中,我假设使用new[]操作符和cpymem函数或者malloc和realloc,然后调用HeapAlloc和HeapRealloc。如果你不能找到一块新的地址空间来放置一个又一个的项目,就会出现内存不足的信息(不确定这一点:))。或者,也许交换文件的大小在某些时候是不够的。

下面是一个例子,说明如何为时间序列使用虚拟内存而不是堆

MemManager::MemManager(int reg_size, int unt_size, void*& p) {
    unit_size = unt_size;
    SYSTEM_INFO si;
    GetSystemInfo(&si);
    page_size = si.dwPageSize;
    region_size = (reg_size / page_size) * page_size;
    if(reg_size % page_size != 0) region_size += page_size;
    next_page = region = (char*)VirtualAlloc(0, region_size, MEM_RESERVE, PAGE_READWRITE);
    p = region;
    capacity = 0;
}
 
MemManager::~MemManager() {
     VirtualFree(region, 0, MEM_RELEASE);
}
 
void MemManager::realloc(int sz) {
    size = sz*unit_size;
    if(size <= capacity)
        return;
    int tmp_size = size - capacity;
    int inc_size = (tmp_size / page_size) * page_size;
    if (tmp_size % page_size != 0) inc_size += page_size;
    char* p = (char*)VirtualAlloc(next_page, inc_size, MEM_COMMIT, PAGE_READWRITE);
    next_page += inc_size;
    capacity += inc_size;
}
 
是的,是的,我也有很多关于如何改善世界各地经济的想法。
我还可以给耕作者提供宝贵的建议,告诉他们如何耕作,给妇女提供如何分娩。
而且我是这里最聪明的人,尽管我很穷......。
 

聪明的人利用别人的想法;o) 有点像二战后的日本人......

 
告诉我6E,欧元外汇货币-Globex的历史在历史中心丢失了? 为什么只下载最近两天的数据?