错误、漏洞、问题 - 页 572 1...565566567568569570571572573574575576577578579...3184 新评论 Konstantin Chernov 2011.11.16 16:22 #5711 Interesting: MarketWatch 是在哪里以及如何产生的?根据我的理解,这个块是想把一个符号添加到列表中,并检查结果。但是,如果专家顾问是多个货币对(这在上面的例子中并不明显)。这段代码是在一个货币对的循环中,每一次的Exp_Symbol,除了第一次,都是一个 "外国 "货币对。如果有五个货币对,SymbolSelect(Exp_Symbol, true)将被调用五次,以获得五个不同的符号。我的代码中对SymbolSelect()、SymbolIsSynchronized()、CopyRates()函数 的调用由 "外来 "的符号完成(历史记录应相应更新)。在第一次测试中,有数据,但在第二次测试中,没有数据,而且Expert Advisor在测试器中崩溃。 Test Account 2011.11.16 16:29 #5712 Konstantin83:这段代码是在货币对循环中,除了第一遍是 "外来 "货币对外,每一遍的Exp_Symbol都是。我有一个通过 "外来 "符号调用SymbolSelect()、SymbolIsSynchronized()、CopyRates()函数(因此历史应该被调换)。在第一次测试中,有数据,但在第二次测试中,没有数据,而且Expert Advisor在测试器中崩溃。 你能给servicedesk一个专家和优化/测试设置的描述吗? Konstantin Chernov 2011.11.16 16:31 #5713 alexvd: 你能给servicedesk发送一个专家和优化/测试设置 的描述吗? 创建。 gumgum 2011.11.17 13:44 #5714 刚才,模拟账户 中的报价又挂了。有交流但没有运动。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5 Konstantin Chernov 2011.11.17 15:30 #5715 我想卸下2009年1月的数据。我已经卸载了15分钟和一小时的数据,但我不能卸载5分钟的数据,它说没有历史记录。为什么不下载5分钟的历史?void OnStart() { int size = 25; datetime dateFrom; datetime dateTo; MqlRates rates[]; MqlDateTime stDate; int FileHandle; stDate.day = 1; stDate.hour = 0; stDate.mon = 1; stDate.year = 2009; dateFrom = StructToTime( stDate ); stDate.day = 31; dateTo = StructToTime( stDate ); ArraySetAsSeries(rates,true); int copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates); for(int i=0;i<100;i++) { if(GetLastError()!=0) { Sleep(5000); copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates); } else { break; } Print("Нет истории, проход № " + i); } if(copied>0) { Print("Скопировано баров: "+IntegerToString(copied)); //string format="open = %G, high = %G, low = %G, close = %G, volume = %d"; string out; size = ArraySize(rates); ResetLastError(); FileHandle=FileOpen("Data.csv",FILE_WRITE|FILE_CSV); if(FileHandle==INVALID_HANDLE) { Print("Ошибка " + IntegerToString((GetLastError()))); } for(int i=size-1;i>=0;i--) { FileWrite(FileHandle, TimeToString(rates[i].time), DoubleToString(rates[i].open, _Digits), DoubleToString(rates[i].high, _Digits), DoubleToString(rates[i].low, _Digits), DoubleToString(rates[i].close, _Digits)); } Print("size = " + FileSize(FileHandle)); FileFlush(FileHandle); FileClose(FileHandle); } else { Print("Не удалось получить исторические данные по символу ",Symbol()); Print("Ошибка " + GetLastError()); } } Errors, bugs, questions 初学者的问题 MQL5 MT5 MetaTrader 编码帮助 Александр 2011.11.17 19:13 #5716 我决定检查ArrayResize函数在所有参数下是如何工作的。它的编译没有问题,自动交易在任何地方都是启用的,但专家顾问甚至没有进入OnInit就从图表上卸载了。//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Print(__FUNCTION__); //--- return(0); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Print(__FUNCTION__); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { double ZZ[][2]; //============================================== Print(__FUNCTION__); ResetLastError(); ArrayResize(ZZ,5,5); for(int i=0;i<10;i++) { ZZ[i][0]=i; Print("i=",i,"; ZZ=",ZZ[i][0]); Print(GetLastError()); } return; } //+------------------------------------------------------------------+问题出在哪里,我想不出来。 Ilyas 2011.11.17 19:32 #5717 Talex:我决定检查ArrayResize函数在所有参数下是如何工作的。它的编译没有问题,自动交易在任何地方都是启用的,但专家顾问甚至没有进入OnInit就从图表上卸载了。问题出在哪里,我想不出来。巴纳尔不在范围内,请在 "专家 "选项卡中查看 保留不是分配,你的数组仍然是5个项目,尽管内存被分配为10个。 Александр 2011.11.17 20:10 #5718 mql5:巴纳尔超出了范围,请看 "专家 "标签。 保留不是分配,你的数组仍然是5个项目,尽管你已经为10个项目分配了内存。 对,谢谢。看错标签了,我病了,一定是影响了我。 Rashid Umarov 2011.11.17 20:11 #5719 Talex:我决定检查ArrayResize函数在所有参数下是如何工作的。它的编译没有问题,自动交易在任何地方都是启用的,但专家顾问 甚至没有进入OnInit就从图表上卸载了。 一般来说,上面的屏幕截图显示的是终端日志。而你要找的东西就在专家标签里。 mario 2011.11.17 22:59 #5720 你好。 我,经过测试和启用优化,得到了这个结果。 核心1的遗传密码(127, 1195)测试时出现错误 "关键运行时错误 该测试是正常的。 1...565566567568569570571572573574575576577578579...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
MarketWatch 是在哪里以及如何产生的?
根据我的理解,这个块是想把一个符号添加到列表中,并检查结果。
但是,如果专家顾问是多个货币对(这在上面的例子中并不明显)。
这段代码是在一个货币对的循环中,每一次的Exp_Symbol,除了第一次,都是一个 "外国 "货币对。如果有五个货币对,SymbolSelect(Exp_Symbol, true)将被调用五次,以获得五个不同的符号。
我的代码中对SymbolSelect()、SymbolIsSynchronized()、CopyRates()函数 的调用由 "外来 "的符号完成(历史记录应相应更新)。在第一次测试中,有数据,但在第二次测试中,没有数据,而且Expert Advisor在测试器中崩溃。
这段代码是在货币对循环中,除了第一遍是 "外来 "货币对外,每一遍的Exp_Symbol都是。我有一个通过 "外来 "符号调用SymbolSelect()、SymbolIsSynchronized()、CopyRates()函数(因此历史应该被调换)。在第一次测试中,有数据,但在第二次测试中,没有数据,而且Expert Advisor在测试器中崩溃。
你能给servicedesk发送一个专家和优化/测试设置 的描述吗?
我想卸下2009年1月的数据。我已经卸载了15分钟和一小时的数据,但我不能卸载5分钟的数据,它说没有历史记录。为什么不下载5分钟的历史?
void OnStart()
{
int size = 25;
datetime dateFrom;
datetime dateTo;
MqlRates rates[];
MqlDateTime stDate;
int FileHandle;
stDate.day = 1;
stDate.hour = 0;
stDate.mon = 1;
stDate.year = 2009;
dateFrom = StructToTime( stDate );
stDate.day = 31;
dateTo = StructToTime( stDate );
ArraySetAsSeries(rates,true);
int copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
for(int i=0;i<100;i++)
{
if(GetLastError()!=0)
{
Sleep(5000);
copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
}
else
{
break;
}
Print("Нет истории, проход № " + i);
}
if(copied>0)
{
Print("Скопировано баров: "+IntegerToString(copied));
//string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
string out;
size = ArraySize(rates);
ResetLastError();
FileHandle=FileOpen("Data.csv",FILE_WRITE|FILE_CSV);
if(FileHandle==INVALID_HANDLE)
{
Print("Ошибка " + IntegerToString((GetLastError())));
}
for(int i=size-1;i>=0;i--)
{
FileWrite(FileHandle, TimeToString(rates[i].time), DoubleToString(rates[i].open, _Digits), DoubleToString(rates[i].high, _Digits), DoubleToString(rates[i].low, _Digits), DoubleToString(rates[i].close, _Digits));
}
Print("size = " + FileSize(FileHandle));
FileFlush(FileHandle);
FileClose(FileHandle);
}
else
{
Print("Не удалось получить исторические данные по символу ",Symbol());
Print("Ошибка " + GetLastError());
}
}
我决定检查ArrayResize函数在所有参数下是如何工作的。它的编译没有问题,自动交易在任何地方都是启用的,但专家顾问甚至没有进入OnInit就从图表上卸载了。
问题出在哪里,我想不出来。
我决定检查ArrayResize函数在所有参数下是如何工作的。它的编译没有问题,自动交易在任何地方都是启用的,但专家顾问甚至没有进入OnInit就从图表上卸载了。
问题出在哪里,我想不出来。
巴纳尔不在范围内,请在 "专家 "选项卡中查看
保留不是分配,你的数组仍然是5个项目,尽管内存被分配为10个。
巴纳尔超出了范围,请看 "专家 "标签。
保留不是分配,你的数组仍然是5个项目,尽管你已经为10个项目分配了内存。
我决定检查ArrayResize函数在所有参数下是如何工作的。它的编译没有问题,自动交易在任何地方都是启用的,但专家顾问 甚至没有进入OnInit就从图表上卸载了。
你好。
我,经过测试和启用优化,得到了这个结果。
核心1的遗传密码(127, 1195)测试时出现错误 "关键运行时错误
该测试是正常的。