来自一个 "傻瓜 "的问题 - 页 38 1...313233343536373839404142434445...277 新评论 x572intraday 2011.08.01 18:15 #371 就这样。它正在发生!甚至一年后也没有。我下定决心了!我检查了MQL5的文档。我开始时非常小:我最小化了一些指标的代码,试图简化和理解其结构和操作。然后我就发呆了。首先,我挖到了Fractals--它似乎是出乎意料的小,而且非常简单。然后我从逻辑上推理:把这段代码从一个程序拖到另一个程序是不合理的,我应该直接调用这个指标,复制并使用准备好的计算好的缓冲区数值。如果我没有搞错方向,我被带到了接近标准的步骤,并被带到了一个有iFractals的例子("我做对了吗?"(c)).我尽可能地减少了代码,清除了所有不必要的和常规的东西,只留下了精华。而我发现了什么?就大小和可读性 而言,指标调用的代码 并不比指标本身的原始代码更紧凑。这些问题。1.iFractals的含义是什么?2.我有什么问题吗?谢谢!P.S.: 或者说,这只是一个特殊情况,在第二代码的数量上没有任何好处? --- 2011.08.01 19:13 #372 x100intraday:2.我有什么问题吗? 这不是一个精神病学家的论坛,而是一个MQL程序员的论坛。你通常不希望去戳别人的蟑螂。 问题要更加具体。 BaTTLeBLooM 2011.08.02 14:06 #373 这是个问题生与死的关系...什么是非犯罪的方式来获得时间框架的开放[15625]bar H1的值?我试过了,不管我怎么努力,但它说关键错误......。我什么都试过了,所以谁知道...我知道这只是3行代码...但其中...权力...权力...所以它不会抛出一个错误...... Renat Fatkhullin 2011.08.02 14:25 #374 BaTTLeBLooM:这是个问题生与死的关系...有什么非犯罪的方法可以获得H1时间框架的开放[15625]条的值我试图得到它,但它说关键错误......。我试过各种各样的东西,所以谁知道呢......我知道这只是3行代码...但其中...权力...权力...所以它不会抛出一个错误......请给我你的代码。 BaTTLeBLooM 2011.08.02 17:47 #375 Renat:请告诉我们您的代码。这里是 double MTime ( int mode ){ 双重iOpen_min [], iOpen_hour [], iOpen_4hour []。 ArraySetAsSeries ( iOpen_min, true )。 ArraySetAsSeries ( iOpen_hour, true ) 。 ArraySetAsSeries ( iOpen_4hour, true ) 。 int rates_open_min, rates_open_hour, rates_open_4hour; int err = 0; 做{ rates_open_min = CopyOpen ( NULL, PERIOD_M1, 0, 7501, iOpen_min ) 。 rates_open_hour = CopyOpen ( NULL, PERIOD_H1, 0, 20000, iOpen_hour ) 。 rates_open_4hour = CopyOpen ( NULL,PERIOD_H4, 0, 10000, iOpen_4hour ) 。 err ++;} while ( ( rates_open_min <= 0 || rates_open_hour <= 0 || rates_open_4hour <= 0) && err < 10); double Minute2 = iOpen_min [ 0 ] - iOpen_min [ 2 ] 。 double Minute12 = iOpen_min [ 0 ] - iOpen_min [ 12 ] 。 double Hour = iOpen_min [ 0 ] - iOpen_min [ 60 ]; // Hour double Hour5 = iOpen_min [ 0 ] - iOpen_min [ 300 ]; // 5 Hour double Day = iOpen_min [ 0 ] - iOpen_min [ 1500 ]; // Day double Week = iOpen_min [ 0 ] - iOpen_min [ 7500 ]; // Week double Month = iOpen_hour [ 0 ] - iOpen_hour [ 625 ]; // Month double Month5 = iOpen_hour [ 0 ] - iOpen_hour [ 3125 ]; // Half Yeardouble Month25 = iOpen_hour [ 0 ] - iOpen_hour [ 15625 ]; // 3年在最后一个运营商的最后一行,总是有一个关键的错误......专家顾问甚至可能在策略测试器中开始交易,然后,在运行一年半之后,它产生了一个错误并崩溃。 Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков www.mql5.com Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5 Questions from a "dummy" Experts: OpenTime 淘宝网上有卖的,有卖的,有卖的,有卖的,有卖的,有卖的,有卖的,有卖的。 Aleksey Lebedev 2011.08.02 18:32 #376 BaTTLeBLooM:关键错误 是超过了阵列的限制。你可以试试这个。 do { //if(err>0) Sleep(10);//желательно с паузой rates_open_min = CopyOpen ( NULL, PERIOD_M1, 0, 7501, iOpen_min ); rates_open_hour = CopyOpen ( NULL, PERIOD_H1, 0, 20000, iOpen_hour ); rates_open_4hour = CopyOpen ( NULL, PERIOD_H4, 0, 10000, iOpen_4hour ); err ++; } while ( ( rates_open_min < 7501 || rates_open_hour < 20000 || rates_open_4hour < 10000) && err < 10 ); if(rates_open_min<7501 || rates_open_hour<20000 || rates_open_4hour<10000) return(-1);//Данные не скопированы else { double Minute2 = iOpen_min [ 0 ] - iOpen_min [ 2 ]; double Minute12 = iOpen_min [ 0 ] - iOpen_min [ 12 ]; double Hour = iOpen_min [ 0 ] - iOpen_min [ 60 ]; // Час double Hour5 = iOpen_min [ 0 ] - iOpen_min [ 300 ]; // 5 Часов double Day = iOpen_min [ 0 ] - iOpen_min [ 1500 ]; // День double Week = iOpen_min [ 0 ] - iOpen_min [ 7500 ]; // Неделя double Month = iOpen_hour [ 0 ] - iOpen_hour [ 625 ]; // Месяц double Month5 = iOpen_hour [ 0 ] - iOpen_hour [ 3125 ]; // Полугодие double Month25 = iOpen_hour [ 0 ] - iOpen_hour [ 15625 ]; // 3 года } BaTTLeBLooM 2011.08.02 20:55 #377 Swan:关键错误--超过阵列限制。不知何故,我们可以这样试一试。这并不能改变问题的本质...如果它没有进一步复制数据...专家顾问不会像以前那样交易,但没有错误...问题是为什么首先出现这种情况,如果历史是巨大的...而你不能使用它...... BaTTLeBLooM 2011.08.03 08:14 #378 Renat:请提供您的代码。 好吧,既然没有答案,我就手动输入)))),因为只有一个值 --- 2011.08.03 08:41 #379 BaTTLeBLooM: 好吧,既然没有答案,我就手动输入)))),因为只有一个值。你的代码中没有任何检查。那你想要什么? Aleksey Lebedev 2011.08.03 09:39 #380 BaTTLeBLooM:这并不能改变问题...如果他不进一步复制数据...专家顾问不会像以前那样交易,但没有错误...问题是为什么会出现这种情况,如果历史是巨大的...而你不能使用它......数据将被复制,但并不总是在第一次尝试时......在出现关键错误 后,专家顾问停止工作。 while( ...rates_open_hour <= 0 // 只有目前可用的数据量会被复制,而这个数组,可能会小于15625。出现这种情况是由于没有阅读手册:) Документация по MQL5: Программы MQL5 / Ошибки выполнения www.mql5.com Программы MQL5 / Ошибки выполнения - Документация по MQL5 1...313233343536373839404142434445...277 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
就这样。它正在发生!甚至一年后也没有。我下定决心了!我检查了MQL5的文档。我开始时非常小:我最小化了一些指标的代码,试图简化和理解其结构和操作。然后我就发呆了。
首先,我挖到了Fractals--它似乎是出乎意料的小,而且非常简单。然后我从逻辑上推理:把这段代码从一个程序拖到另一个程序是不合理的,我应该直接调用这个指标,复制并使用准备好的计算好的缓冲区数值。如果我没有搞错方向,我被带到了接近标准的步骤,并被带到了一个有iFractals的例子("我做对了吗?"(c)).我尽可能地减少了代码,清除了所有不必要的和常规的东西,只留下了精华。而我发现了什么?就大小和可读性 而言,指标调用的代码 并不比指标本身的原始代码更紧凑。
这些问题。
1.iFractals的含义是什么?
2.我有什么问题吗?
谢谢!
P.S.: 或者说,这只是一个特殊情况,在第二代码的数量上没有任何好处?
2.我有什么问题吗?
问题要更加具体。
这是个问题
生与死的关系...
什么是非犯罪的方式来获得时间框架的开放[15625]bar H1的值?
我试过了,不管我怎么努力,但它说关键错误......。我什么都试过了,所以谁知道...我知道这只是3行代码...但其中...权力...权力...所以它不会抛出一个错误......
这是个问题
生与死的关系...
有什么非犯罪的方法可以获得H1时间框架的开放[15625]条的值
我试图得到它,但它说关键错误......。我试过各种各样的东西,所以谁知道呢......我知道这只是3行代码...但其中...权力...权力...所以它不会抛出一个错误......
请给我你的代码。
请告诉我们您的代码。
这里是
double MTime ( int mode )
{
双重iOpen_min [], iOpen_hour [], iOpen_4hour []。
ArraySetAsSeries ( iOpen_min, true )。ArraySetAsSeries ( iOpen_hour, true ) 。
ArraySetAsSeries ( iOpen_4hour, true ) 。
int rates_open_min, rates_open_hour, rates_open_4hour;
int err = 0;
做
{
rates_open_min = CopyOpen ( NULL, PERIOD_M1, 0, 7501, iOpen_min ) 。
rates_open_hour = CopyOpen ( NULL, PERIOD_H1, 0, 20000, iOpen_hour ) 。
rates_open_4hour = CopyOpen ( NULL,PERIOD_H4, 0, 10000, iOpen_4hour ) 。
err ++;
}
while ( ( rates_open_min <= 0 || rates_open_hour <= 0 || rates_open_4hour <= 0) && err < 10);
double Minute2 = iOpen_min [ 0 ] - iOpen_min [ 2 ] 。
double Minute12 = iOpen_min [ 0 ] - iOpen_min [ 12 ] 。
double Hour = iOpen_min [ 0 ] - iOpen_min [ 60 ]; // Hour
double Hour5 = iOpen_min [ 0 ] - iOpen_min [ 300 ]; // 5 Hour
double Day = iOpen_min [ 0 ] - iOpen_min [ 1500 ]; // Day
double Week = iOpen_min [ 0 ] - iOpen_min [ 7500 ]; // Week
double Month = iOpen_hour [ 0 ] - iOpen_hour [ 625 ]; // Month
double Month5 = iOpen_hour [ 0 ] - iOpen_hour [ 3125 ]; // Half Year
double Month25 = iOpen_hour [ 0 ] - iOpen_hour [ 15625 ]; // 3年
在最后一个运营商的最后一行,总是有一个关键的错误......专家顾问甚至可能在策略测试器中开始交易,然后,在运行一年半之后,它产生了一个错误并崩溃。
关键错误 是超过了阵列的限制。
你可以试试这个。
关键错误--超过阵列限制。
不知何故,我们可以这样试一试。
这并不能改变问题的本质...如果它没有进一步复制数据...专家顾问不会像以前那样交易,但没有错误...
问题是为什么首先出现这种情况,如果历史是巨大的...而你不能使用它......
请提供您的代码。
好吧,既然没有答案,我就手动输入)))),因为只有一个值。
你的代码中没有任何检查。那你想要什么?
这并不能改变问题...如果他不进一步复制数据...专家顾问不会像以前那样交易,但没有错误...
问题是为什么会出现这种情况,如果历史是巨大的...而你不能使用它......
数据将被复制,但并不总是在第一次尝试时......在出现关键错误 后,专家顾问停止工作。
while( ...rates_open_hour <= 0 // 只有目前可用的数据量会被复制,而这个数组,可能会小于15625。
出现这种情况是由于没有阅读手册:)