错误、漏洞、问题 - 页 133 1...126127128129130131132133134135136137138139140...3184 新评论 Mario 2010.09.15 12:53 #1321 Interesting: 就我的理解,应计制,如在演示中或在测试器中... 那是什么? 重新计入或计入 Alexey Da 2010.09.15 13:02 #1322 Dmitriy2: 因此,当输出值到日志时,只有一次(第一次)抛物线函数,即CopyBuffer,返回0而不是-1,因为它应该在出错的情况下(虽然它也不应该,所有的数据都在那里,都被下载了,没有伟大的多维数 组,不应该发生错误!)而且这只发生在测试器中,只有一次。从这里开始,一切运作正常。在基本代码中,我并不关心函数的返回,最终当涉及到交易请求时,收到的请求值由通用函数检查,如果一切正常,我们就发送请求,如果不正常--我们就等待它正常......。 请在你获取抛物线值的函数中尝试以下代码。double Параболик(ENUM_TIMEFRAMES период,double step,double maximum,int бар) { double ЗначениеParabolic[1]; int Parabolic=iSAR(Symbol(),период,step,maximum); int cb=CopyBuffer(Parabolic,0,бар,1,ЗначениеParabolic); if(cb!=1) Print("BarsCalculated ",BarsCalculated(Parabolic),", CopyBuffer ", cb, ", ArrayValue ",ЗначениеParabolic[0]); return(ЗначениеParabolic[0]); }你会在日志中得到类似这样的信息2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 SLпоПервойТочкеПараболика=true 这将解释为什么你得到0而不是-1。我再重复一遍,这是第三次了。数据是存在的,但那一刻的指标值可能还没有计算。在帮助中写到了这一点! [删除] 2010.09.15 13:39 #1323 maryan.dirtyn: 是什么? 重新加密还是累积 Overcritching患有FC,MT一生都有应激反应。平日为单人,周三为三人(三人交换日 应予以说明)...... Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5 Mario 2010.09.15 14:04 #1324 Interesting: FC患有过度积累症,MT一生都有积累症。平时为单人,周三为三人(三人交换日 应予以说明)...... 我不知道FC是什么......我只需要知道它在锦标赛中的表现如何。 Дмитрий 2010.09.15 14:07 #1325 alexvd: 在你的函数中试试这段代码,以获得抛物线的值。 你将在日志中得到大致这样的输出结果 这将解释为什么你得到0而不是-1。 我再重复一遍,这是第三次了。数据存在,但那一刻的指标值可能还没有计算出来。这是在帮助中写的! 没错,我们得到的是抛物线的值,而不是CopyBuffer的响应... 好吧...将抛物线函数改为你提供的函数(含打印件)。 我在for循环中添加了指纹(它没有零保护)。if(НапрСигнала==ORDER_TYPE_BUY) { if(SLпоПервойТочкеПараболика==true) for(i=0;;i=i+1) { Print("бай, параболик до иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); if(iLow(PERIOD_CURRENT,i+1,1)<Параболик(PERIOD_CURRENT,0.02,0.2,i+1))// || Параболик(PERIOD_CURRENT,0.02,0.2,i+1)<=0 { Print("бай, параболик после иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); break; } } ЗначениеSAR=NormalizeDouble(Параболик(PERIOD_CURRENT,0.02,0.2,i)/ТИК,0)*ТИК; if(БИД>ЗначениеSAR) //bay slтики=(int)NormalizeDouble((АСК-ЗначениеSAR)/ТИК,0); } if(НапрСигнала==ORDER_TYPE_SELL) { if(SLпоПервойТочкеПараболика==true) for(i=0;;i=i+1) { Print("селл, параболик до иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); if(iHigh(PERIOD_CURRENT,i+1,1)>Параболик(PERIOD_CURRENT,0.02,0.2,i+1))// || Параболик(PERIOD_CURRENT,0.02,0.2,i+1)<=0 { Print("селл, параболик после иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); break; } } ЗначениеSAR=NormalizeDouble(Параболик(PERIOD_CURRENT,0.02,0.2,i)/ТИК,0)*ТИК; if(БИД<ЗначениеSAR) //sell slтики=(int)NormalizeDouble((ЗначениеSAR-БИД)/ТИК,0); } 在测试器中运行它JQ 0 Core 1 15:16:37 agent process started NJ 0 Core 1 15:16:37 connecting to 127.0.0.1:3000 NJ 0 Core 1 15:16:39 connected GP 0 Core 1 15:16:39 authorized (agent build 328) LK 0 Tester 15:16:39 EURUSD,H1 (MetaQuotes-Demo): testing of Experts\Отладка.ex5 from 2010.01.01 00:00 to 2010.09.11 00:00 to be started RH 0 Core 1 15:16:41 common synchronization completed RS 0 Core 1 15:16:41 3124 bytes of account info loaded RI 0 Core 1 15:16:41 3768 bytes of group info loaded MN 0 Core 1 15:16:41 7170 bytes of tester parameters loaded EL 0 Core 1 15:16:41 275 bytes of selected symbols loaded IK 0 Core 1 15:16:41 expert file added: Experts\Отладка.ex5. 6597 bytes loaded LE 0 Core 1 15:16:41 initial deposit 10000.00 USD, leverage 1:100 KO 0 Core 1 15:16:41 successfully initialized RQ 0 Core 1 15:16:41 23 Kb of total initialization data received KK 0 Core 1 15:16:41 performance: 72 HP 0 Core 1 15:16:41 EURUSD: symbol synchronized, 2904 bytes of symbol info received RI 0 Core 1 15:16:43 EURUSD: load 27 bytes of history data to synchronize MG 0 Core 1 15:16:43 EURUSD: history synchronized from 1993.05.13 to 2010.09.10 MP 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 CD 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 IK 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 ON 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 ER 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 KI 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 QL 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 GP 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 MG 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 CK 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 IN 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 OE 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 EI 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 KL 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 QS 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 GG 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 KJ 0 Core 1 15:16:47 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 EN 0 Core 1 15:16:47 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 以此类推,直到你按下取消键 图表上的专家顾问PJ 0 Experts 15:27:14 expert Отладка (EURUSD,M20) removed MR 0 Trades 15:27:18 '677265' : instant buy 0.10 EURUSD at 1.29697 EH 0 Trades 15:27:19 '677265' : accepted instant buy 0.10 EURUSD at 1.29697 GL 0 Trades 15:27:21 '677265' : order #1350474 buy 0.10 EURUSD at 1.29697 done LH 0 Trades 15:27:21 '677265' : deal #1426626 buy 0.10 EURUSD at 1.29697 done (based on order #1350474) LI 0 Experts 15:27:56 expert Отладка (EURUSD,M20) loaded successfully IR 0 Trades 15:28:07 '677265' : instant sell 0.10 EURUSD at 1.29690 sl: 1.30136 tp: 1.29502 IM 0 Trades 15:28:08 '677265' : accepted instant sell 0.10 EURUSD at 1.29690 sl: 1.30136 tp: 1.29502 RK 0 Trades 15:28:10 '677265' : order #1350477 sell 0.10 EURUSD at 1.29690 done RO 0 Trades 15:28:10 '677265' : deal #1426629 sell 0.10 EURUSD at 1.29690 done (based on order #1350477) 日志中没有错误 看一下专家标签中的图片;也没有错误信息 你可以计算抛物线点,一切都很吻合,在第十二个点上,退出循环...... Дмитрий 2010.09.15 14:10 #1326 很久以前我就意识到,在MQL5中,在 "那个时刻 "或在那个...这里或那里的数据可能没有计算...但这是不对的,你必须解决它,而不是在代码中写拐杖。 顺便说一下,所有其他指标都是如此,不仅仅是抛物线 指标。 [删除] 2010.09.15 14:11 #1327 maryan.dirtyn: 我不知道FC是什么,我只想知道它在锦标赛中的表现如何。FC - 外汇俱乐部,并说其终端Rumus2。你有一个冠军的测试账户吗?试试吧,一切都会清楚的......。 Alexey Da 2010.09.15 15:23 #1328 Dmitriy2:很久以前我就意识到,在MQL5中,在 "那个时刻 "或在那个...这里或那里的数据可能没有计算...但这是不对的,你必须解决它,而不是在代码中写拐杖。 顺便说一下,这对所有其他指标都是一样的,不仅仅是抛物线。我们不要把讨论扩大化。这个话题已经讨论过很多次了。不久前,人们重新审视了这个问题(https://www.mql5.com/ru/forum/1951)。 Тестер стратегий. Помогите разобраться с ошибкой. www.mql5.com mq5) handle индикатора объявляется как глобальная переменная, индикатор инициализируется в OnInit() и передается в функцию. [删除] 2010.09.15 16:30 #1329 坐在...看着...我永远不会相信MQL5和MQL4是由同一个团队编写的。MQ4-飞行...MQ5是小孩子的游戏。无意冒犯 - 但是...() Дмитрий 2010.09.15 17:11 #1330 alexvd: 我们不要讨论了。 这个话题已经讨论过不止一次了。不久前,人们重新审视了这个问题(https://www.mql5.com/ru/forum/1951)。 我还没有看到这个主题...同样的事情... 重点是,我不会愚蠢地在每一行上为所有场合做检查,使代码混乱和杂乱。如果这是不可能的,那么......拐杖被添加,一个足够大的项目终于完全重新做了,并且工作......。 而总的来说,我只是对这种做法感到惊讶...事实证明,这样的问题已经不是第一次出现了(而且我相信将来不止一次会出现在其他人身上),而且每次 "第一次 "都要花费你和别人大量的工作时间来解释你需要做什么来绕过这个错误...... 唯一要做的是,在该主题中建议的测试仪中,在专家顾问开始时只添加一个睡眠(1000)。 绝不能让外壳隐含故障,而这些故障必须在代码中避免。而终端的工作是正常和正确的,没有错误(在这种情况下)。但测试仪的操作与终端的操作是不同的。 ps小方你好:) 1...126127128129130131132133134135136137138139140...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
就我的理解,应计制,如在演示中或在测试器中...
因此,当输出值到日志时,只有一次(第一次)抛物线函数,即CopyBuffer,返回0而不是-1,因为它应该在出错的情况下(虽然它也不应该,所有的数据都在那里,都被下载了,没有伟大的多维数 组,不应该发生错误!)而且这只发生在测试器中,只有一次。从这里开始,一切运作正常。
在基本代码中,我并不关心函数的返回,最终当涉及到交易请求时,收到的请求值由通用函数检查,如果一切正常,我们就发送请求,如果不正常--我们就等待它正常......。
请在你获取抛物线值的函数中尝试以下代码。
你会在日志中得到类似这样的信息
这将解释为什么你得到0而不是-1。
我再重复一遍,这是第三次了。数据是存在的,但那一刻的指标值可能还没有计算。在帮助中写到了这一点!
是什么? 重新加密还是累积
FC患有过度积累症,MT一生都有积累症。平时为单人,周三为三人(三人交换日 应予以说明)......
在你的函数中试试这段代码,以获得抛物线的值。
你将在日志中得到大致这样的输出结果
这将解释为什么你得到0而不是-1。
我再重复一遍,这是第三次了。数据存在,但那一刻的指标值可能还没有计算出来。这是在帮助中写的!
没错,我们得到的是抛物线的值,而不是CopyBuffer的响应...
好吧...将抛物线函数改为你提供的函数(含打印件)。
我在for循环中添加了指纹(它没有零保护)。
在测试器中运行它
以此类推,直到你按下取消键
图表上的专家顾问
日志中没有错误
看一下专家标签中的图片;也没有错误信息
你可以计算抛物线点,一切都很吻合,在第十二个点上,退出循环......
很久以前我就意识到,在MQL5中,在 "那个时刻 "或在那个...这里或那里的数据可能没有计算...但这是不对的,你必须解决它,而不是在代码中写拐杖。
顺便说一下,所有其他指标都是如此,不仅仅是抛物线 指标。
我不知道FC是什么,我只想知道它在锦标赛中的表现如何。
FC - 外汇俱乐部,并说其终端Rumus2。
你有一个冠军的测试账户吗?试试吧,一切都会清楚的......。
很久以前我就意识到,在MQL5中,在 "那个时刻 "或在那个...这里或那里的数据可能没有计算...但这是不对的,你必须解决它,而不是在代码中写拐杖。
顺便说一下,这对所有其他指标都是一样的,不仅仅是抛物线。
我们不要把讨论扩大化。
这个话题已经讨论过很多次了。不久前,人们重新审视了这个问题(https://www.mql5.com/ru/forum/1951)。
坐在...看着...
我永远不会相信MQL5和MQL4是由同一个团队编写的。
MQ4-飞行...
MQ5是小孩子的游戏。无意冒犯 - 但是...()
我们不要讨论了。
这个话题已经讨论过不止一次了。不久前,人们重新审视了这个问题(https://www.mql5.com/ru/forum/1951)。
我还没有看到这个主题...同样的事情...
重点是,我不会愚蠢地在每一行上为所有场合做检查,使代码混乱和杂乱。如果这是不可能的,那么......拐杖被添加,一个足够大的项目终于完全重新做了,并且工作......。
而总的来说,我只是对这种做法感到惊讶...事实证明,这样的问题已经不是第一次出现了(而且我相信将来不止一次会出现在其他人身上),而且每次 "第一次 "都要花费你和别人大量的工作时间来解释你需要做什么来绕过这个错误......
唯一要做的是,在该主题中建议的测试仪中,在专家顾问开始时只添加一个睡眠(1000)。
绝不能让外壳隐含故障,而这些故障必须在代码中避免。而终端的工作是正常和正确的,没有错误(在这种情况下)。但测试仪的操作与终端的操作是不同的。
ps小方你好:)