错误、漏洞、问题 - 页 1227

 

MT4。演示服务器MetaQuotes-Demo.孔从30.08.2012到10.09.2012已确认。

从2012年8月30日至2012年9月10日的孔

 
Renat:

我不相信。

我特意将硬盘上的所有历史记录删除了三次,通过重新启动检查了所有三个接入点三次。所有的历史都还在那里。

你不需要玩弄报价档案,但要干净利落地检查常规历史。

我特意把MQ的MT4和普通的历史记录放在一起玩。

当我按下主屏幕按钮时,从驱动器中删除后,历史记录被下载,可以在连接状态中看到。就像屏幕上的截图一样。

这是另一个用于比较的经纪人,它的切换和下载


ps在首页下载 "到最后 "不自动工作,我不记得了,以前是这样的吗?

 
barabashkakvn:

MT4。演示服务器MetaQuotes-Demo.孔从30.08.2012到10.09.2012已确认。

这似乎是关于2012年,而不是2014年。

是的,那里有一个洞。从历史中心加载一分钟历史,并同意重新计算时间范围。洞会被填满。

使用经纪商服务器或切换到MT5,由于所有时间段都有单分钟历史,所以历史记录要好得多。

 

为什么没有人回答服务台#1073960从2014.09.30提出的关于MQL4 的请求

Ошибка в файлах стандартной библиотеки при попытке использовать метод GetData классов CiForce и CiOBV

'm_applied' - improper enumerator cannot be used Oscilators.mqh   494 60

'm_applied' - improper enumerator cannot be used Volumes.mqh      241 34

И ещё ошибка в классе CiATR:

'GetData' - function must have a body Oscilators.mqh   25 22


我3个月前在这里写过同样的错误:https://www.mql5.com/ru/forum/1111/page1190#comment_993762

我没有得到任何回应,新的版本已经发布了,但错误仍然存在。 坦率地说,被这样对待是不好的。 你似乎在帮助他们,指出错误,但甚至没有人愿意回答。 难道你真的不关心你自己库的错误吗?

 

没有职位 - 没有问题?

孩子的花园。

 
Silent:

没有职位 - 没有问题?

孩子的花园。

你在说什么呢?今天这个主题中没有被删除的帖子。
 
meat:

在MQL4的标准 库中存在错误,特别是在指标类中。

CiATR 类没有GetData方法体。

GetData()方法被定义在基础父类中,在这种情况下不需要被重载。

请注意,在调用GetData()之前,你需要使用Refresh()方法刷新该类的指标缓冲区中的数值。

//+------------------------------------------------------------------+
//|                                                   CheckCiATR.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2013, MetaQuotes Software Corp."
#property  link      "http://www.mql5.com"
#property  version   "1.00"
#include<Indicators\Oscilators.mqh>

#property  script_show_inputs
input int sleep_debug=10; // пауза в секундах при отладке
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CiATR iatr;
   bool res=iatr.Create(_Symbol,0,15);
   if(res)
     {
      Sleep(3000);                // дадим время на расчет индикатора
      long handle=iatr.Handle();  // хендл индикатор а
      //--- набросим индикатор на график      
      iatr.AddToChart(0,1);
      //--- количество баров, на которых индикатор рассчитан
      int bars=iatr.BarsCalculated();
      //--- количество буферов в индикаторе    
      int buffers=iatr.BuffersTotal();
      Print("Buffers=",buffers);
      //--- размер индикаторного буфера      
      int size=iatr.BufferSize();  // для экономии по умолчанию установлено 100
      Print("BufferSize=",size);
      //--- покажем как увеличить размер индикаторного буфера      
      bool resized=iatr.BufferResize(bars-1);
      //--- если изменить размер индикаторного буфера не удалось вдруг
      if(!resized)
        {
         PrintFormat("Ошибка при попытке увеличить размер индикаторного буфера!, GetLastError = "
                     ,GetLastError());
        }
      //--- ! обязательно обновляем данные в буфере перед обращением к данным индикатора      
      iatr.Refresh();
      //--- выведем 10 последних значений индикатора и сравних их с DataWindow      
      for(int i=10;i>=0;i--)
        {
         // буфер индикаторя является таймсерией - индекс увеличивается вглубь истории
         PrintFormat(" ATR(%d) = %f",i,iatr.GetData(0,i));
        }
     }
//--- пауза на тот случай, если скрипт запустили в отладке
   if(MQLInfoInteger(MQL_DEBUG))
     {
      Sleep(sleep_debug*1000);
     }
  }
//+------------------------------------------------------------------+
 
meat:

在MQL4的标准库 中存在错误,特别是在指标类中。

对于使用ENUM_APPLIED_VOLUME参数的指标(CiForceCiOBV)有一个错误:不能使用不适当的枚举器


下面是一些可以编译和工作的例子。

//+------------------------------------------------------------------+
//|                                                Check_CiForce.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2013, MetaQuotes Software Corp."
#property  link      "http://www.mql5.com"
#property  version   "1.00"
#include<Indicators\Oscilators.mqh>

#property  script_show_inputs
input int sleep_debug=10; // пауза в секундах при отладке
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CiForce iforce;
   bool res=iforce.Create(_Symbol,0,15,MODE_SMA,VOLUME_TICK);
   if(res)
     {
      Sleep(3000);                // дадим время на расчет индикатора
      long handle=iforce.Handle();  // хендл индикатор
      //--- набросим индикатор на график      
      iforce.AddToChart(0,1);
      //--- ! обязательно обновляем данные в буфере перед обращением к данным индикатора      
      iforce.Refresh();
      //--- выведем 10 последних значений индикатора и сравних их с DataWindow      
      for(int i=10;i>=0;i--)
        {
         // буфер индикаторя является таймсерией - индекс увеличивается вглубь истории
         PrintFormat(" %s(%d) = %f",iforce.Name(),i,iforce.GetData(0,i));
        }
     }
//--- пауза на тот случай, если скрипт запустили в отладке
   if(MQLInfoInteger(MQL_DEBUG))
     {
      Sleep(sleep_debug*1000);
     }
  }
//+------------------------------------------------------------------+

и

//+------------------------------------------------------------------+
//|                                                  Check_CiOBV.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2013, MetaQuotes Software Corp."
#property  link      "http://www.mql5.com"
#property  version   "1.00"
#include<Indicators\Volumes.mqh>

#property  script_show_inputs
input int sleep_debug=10; // пауза в секундах при отладке
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CiOBV indicator;
   bool res=indicator.Create(_Symbol,0,VOLUME_TICK);
   if(res)
     {
      Sleep(3000);                // дадим время на расчет индикатора
      long handle=indicator.Handle();  // хендл индикатор
      //--- набросим индикатор на график      
      indicator.AddToChart(0,1);
      //--- ! обязательно обновляем данные в буфере перед обращением к данным индикатора      
      indicator.Refresh();
      //--- выведем 10 последних значений индикатора и сравних их с DataWindow      
      for(int i=10;i>=0;i--)
        {
         // буфер индикаторя является таймсерией - индекс увеличивается вглубь истории
         PrintFormat(" %s(%d) = %f",indicator.Name(),i,indicator.GetData(0,i));
        }
     }
//--- пауза на тот случай, если скрипт запустили в отладке
   if(MQLInfoInteger(MQL_DEBUG))
     {
      Sleep(sleep_debug*1000);
     }
  }
//+------------------------------------------------------------------+
 
日志中的信息,这可能是什么原因?
它出现的次数非常少,但我还是想弄清它的真相--我需要程序的稳定性。
3 14:55:11.739 无法打开文件'D:\progy\mt4\MQL4\indicators\.ex4' [123]
 
ALXIMIKS:
日志中出现了一条信息,这可能是什么原因?
它出现的次数非常少,但我还是想弄清它的真相--我需要程序的稳定性。
它在什么条件下出现?该指标的名称是什么?