//+------------------------------------------------------------------+//| 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
inputint sleep_debug=10; // пауза в секундах при отладке//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---
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(); // для экономии по умолчанию установлено 100Print("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);
}
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+//| 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
inputint sleep_debug=10; // пауза в секундах при отладке//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---
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
inputint sleep_debug=10; // пауза в секундах при отладке//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---
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);
}
}
//+------------------------------------------------------------------+
MT4。演示服务器MetaQuotes-Demo.孔从30.08.2012到10.09.2012。已确认。
我不相信。
我特意将硬盘上的所有历史记录删除了三次,通过重新启动检查了所有三个接入点三次。所有的历史都还在那里。
你不需要玩弄报价档案,但要干净利落地检查常规历史。
我特意把MQ的MT4和普通的历史记录放在一起玩。
当我按下主屏幕按钮时,从驱动器中删除后,历史记录被下载,可以在连接状态中看到。就像屏幕上的截图一样。
这是另一个用于比较的经纪人,它的切换和下载
ps在首页下载 "到最后 "不自动工作,我不记得了,以前是这样的吗?
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
我没有得到任何回应,新的版本已经发布了,但错误仍然存在。 坦率地说,被这样对待是不好的。 你似乎在帮助他们,指出错误,但甚至没有人愿意回答。 难道你真的不关心你自己库的错误吗?
没有职位 - 没有问题?
孩子的花园。
没有职位 - 没有问题?
孩子的花园。
在MQL4的标准 库中存在错误,特别是在指标类中。
CiATR 类没有GetData方法体。
GetData()方法被定义在基础父类中,在这种情况下不需要被重载。
请注意,在调用GetData()之前,你需要使用Refresh()方法刷新该类的指标缓冲区中的数值。
在MQL4的标准库 中存在错误,特别是在指标类中。
对于使用ENUM_APPLIED_VOLUME参数的指标(CiForce,CiOBV)有一个错误:不能使用不适当的枚举器
下面是一些可以编译和工作的例子。
и
它出现的次数非常少,但我还是想弄清它的真相--我需要程序的稳定性。
日志中出现了一条信息,这可能是什么原因?
它出现的次数非常少,但我还是想弄清它的真相--我需要程序的稳定性。