任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 784 1...777778779780781782783784785786787788789790791...1178 新评论 Vitalie Postolache 2014.11.18 21:41 #7831 Leonid123456:为本EA最后))。事实上,它起作用了,是最后一个))。专家顾问是为了测试...因此,为几种货币和手动交易(一起)工作还没有设想到......你能不能给我一些提示,让我知道如何正确地做这件事,那就太好了......再次感谢。如果你需要,你应该区分市场订单和挂单。 你遇到的第一个订单,从所有标准(符号、魔术师、类型)来看,通常是最新鲜的。 但最好也看看开盘时间,这样它肯定不会更年轻。在测试器中,你可以立即选择OrderSelect(OrdersTotal()-1,SELECT_BY_POS))如果系统中没有挂单,一切都会正常工作。但如果既有挂单又有市价订单,这就行不通了,更不用说真正的工作了。 Alexey Viktorov 2014.11.19 05:24 #7832 Leonid123456:为本EA最后))。事实上,它起作用了,是最后一个))。这个EA是用来测试的...因此,为几种货币和手动交易(一起)工作还没有设想到......你能不能给我一些提示,让我知道如何做得正确,那就太好了......再次感谢。不写不必要的东西是比较正确的。你为什么要加入嵌套循环?毕竟,你需要的一切都可以在一个循环中完成,只需选择一个订单。if(New_Bar) { OrderSend(Symbol(),OP_BUYSTOP,Lotpers,Ask+step,100,0,0,NULL,MagicNumber,0,DarkTurquoise); OrderSend(Symbol(),OP_SELLSTOP,Lotpers,Bid-step,100,0,0,NULL,MagicNumber,0,Yellow); } for(int b=0; b<OrdersTotal(); b++) { if(OrderSelect(b, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == MagicNumber) { lastlot = OrderLots(); // Здесь надо в переменную засунуть тикет выбранного ордера if(OrderType() == OP_BUYSTOP||OrderType() == OP_BUY) orderprisebuy = OrderOpenPrice(); if(OrderType() == OP_SELLSTOP||OrderType() == OP_SELL) orderprisecell = OrderOpenPrice(); SL_VirtualCell = orderprisecell+step1*Point; SL_VirtualBuy = orderprisebuy-step1*Point; /* if(Mas_Tip[0] >0|| Mas_Tip[1] >0) { if (New_Bar&&/*valsar1<Ask && osma0>0&&osma1<0 /*&& Volume[1]>VolumeFiltr) OrderSend(Symbol(),OP_BUY,NormalizeDouble( lastlot*Marti,2),Ask,100,0,0,NULL,MagicNumber,0,DarkTurquoise); if (New_Bar&& /*valsar1>Bid && osma0<0&&osma1>0 /* && Volume[1]>VolumeFiltr) OrderSend(Symbol(),OP_SELL,NormalizeDouble( lastlot*Marti,2),Bid,100,0,0,NULL,MagicNumber,0,Yellow); }*/ CheckEvents(MagicNumber); // Вот здесь теряется выбранный ордер при переборе ордеров в вызванной функции /*if ( eventSellClosed_SL >0|| eventBuyClosed_SL >0) { as(); } /* /// if ( eventBuyClosed_TP > 0 ) // Alert( Symbol(), ": Buy-позиция закрыта по ТейкПрофиту!" ); */ if(eventBuyStopOpened > 0) { OrderSend(Symbol(),OP_SELLSTOP,NormalizeDouble( Lotpers,5),orderprisecell,0,0,0,NULL,MagicNumber,0,clrKhaki); if (OrderType() == OP_SELL) OrderClose(OrderTicket(),OrderLots(), Ask, 3,clrIvory ); // Здесь может быть чужой OrderTicket() Возможны и другие аналогичные потери }//завершение блока if(eventBuyStopOpened > 0) /// if(eventSellStopOpened > 0) { OrderSend(Symbol(),OP_BUYSTOP,NormalizeDouble( Lotpers,5),orderprisebuy,0,0,0,NULL,MagicNumber,0,clrPlum); if (OrderType() == OP_BUY) OrderClose(OrderTicket(),OrderLots(), Bid, 3,clrIvory ); }//завершение блока if(eventSellStopOpened > 0) }//завершение блока if(OrderSelect(b }//завершение блока for(int b=0我没有设法进入你有多行评论 的那个地方。在我看来,那里可能有一个编译错误......。请注意我在代码中的评论。 gordon 2014.11.19 06:29 #7833 Zhunko: 这有什么意义? 谢谢你的帮助! Leon 2014.11.19 15:56 #7834 AlexeyVik:不要写不必要的东西。你为什么要加入嵌套循环?因为你需要的一切都可以在一个循环中完成,只需选择一个订单。我没能理解你有多行注释的那个地方。我有一种感觉,那里可能有一个编译错误......请注意我在代码中的评论。没有错误,但建议检查OrderSend.OrderClose.和OrderDelete 函数。应该检查'OrderSend'的返回值 。谢谢你的评论。 forexman77 2014.11.20 12:05 #7835 使用"ArrayMinimum"寻找阵列中 "ZigZag "指标的最小值。我是否可以将搜索设置为忽略空值,或者我必须使用一个循环来寻找空值? Александр 2014.11.20 13:04 #7836 我搞不清楚如何编码。如果最后一个姿势无利可图,我需要EA等待一定的时间。你有什么想法吗? Victor Nikolaev 2014.11.20 15:05 #7837 Forexman77:使用"ArrayMinimum " 寻找阵列中 "ZigZag "指标的最小值。我能否将搜索设置为忽略空值,或者我必须使用循环来寻找空值? 最有可能的是,你将不得不使用一个循环 forexman77 2014.11.20 19:32 #7838 Vinin: 可能要用一个循环 谢谢你! forexman77 2014.11.20 21:41 #7839 我们如何找到最大和最小之间最深的修正?最大和最小值是我们已知的,用iHighest和iMessage找到它们并不是问题。如果我们使用iHighest和iLowest,我们有时会发现接近极值的情况,因为它并不总是如此,如图所示。一般来说,我们需要ABC形成的识别。 我试着用ZigZag来解决这个问题,但它并没有带来准确的点击率。е. Alexey Viktorov 2014.11.21 05:31 #7840 Forexman77: 我们如何找到最大和最小之间最深的修正?最大和最小值是我们已知的,用iHighest和iMessage找到它们并不是问题。如果我们使用iHighest和iLowest,我们有时会发现接近极值的情况,因为它并不总是如此,如图所示。 一般来说,我们需要ABC形成的识别。我试着用ZigZag来解决这个问题,但它并没有带来准确的点击率。如果确定在什么深度上应该寻求,一切都会变得容易。你可以使用 CopyLow 和ArrayMinimum()来代替iLowest。 1...777778779780781782783784785786787788789790791...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
为本EA最后))。事实上,它起作用了,是最后一个))。专家顾问是为了测试...因此,为几种货币和手动交易(一起)工作还没有设想到......
你能不能给我一些提示,让我知道如何正确地做这件事,那就太好了......
再次感谢。
如果你需要,你应该区分市场订单和挂单。 你遇到的第一个订单,从所有标准(符号、魔术师、类型)来看,通常是最新鲜的。 但最好也看看开盘时间,这样它肯定不会更年轻。
在测试器中,你可以立即选择
如果系统中没有挂单,一切都会正常工作。但如果既有挂单又有市价订单,这就行不通了,更不用说真正的工作了。
为本EA最后))。事实上,它起作用了,是最后一个))。这个EA是用来测试的...因此,为几种货币和手动交易(一起)工作还没有设想到......
你能不能给我一些提示,让我知道如何做得正确,那就太好了......
再次感谢。
不写不必要的东西是比较正确的。你为什么要加入嵌套循环?毕竟,你需要的一切都可以在一个循环中完成,只需选择一个订单。
我没有设法进入你有多行评论 的那个地方。在我看来,那里可能有一个编译错误......。请注意我在代码中的评论。
这有什么意义?
不要写不必要的东西。你为什么要加入嵌套循环?因为你需要的一切都可以在一个循环中完成,只需选择一个订单。
我没能理解你有多行注释的那个地方。我有一种感觉,那里可能有一个编译错误......请注意我在代码中的评论。
没有错误,但建议检查OrderSend.OrderClose.和OrderDelete 函数。
应该检查'OrderSend'的返回值 。
谢谢你的评论。
使用"ArrayMinimum"寻找阵列中 "ZigZag "指标的最小值。
我是否可以将搜索设置为忽略空值,或者我必须使用一个循环来寻找空值?
使用"ArrayMinimum " 寻找阵列中 "ZigZag "指标的最小值。
我能否将搜索设置为忽略空值,或者我必须使用循环来寻找空值?
可能要用一个循环
我们如何找到最大和最小之间最深的修正?最大和最小值是我们已知的,用iHighest和iMessage找到它们并不是问题。
如果我们使用iHighest和iLowest,我们有时会发现接近极值的情况,因为它并不总是如此,如图所示。一般来说,我们需要ABC形成的识别。
我试着用ZigZag来解决这个问题,但它并没有带来准确的点击率。
е.![](https://c.mql5.com/mql4/forum/2014/11/kpkjrwddejjnhehhbxpw_small.jpg)
Forexman77:
我们如何找到最大和最小之间最深的修正?最大和最小值是我们已知的,用iHighest和iMessage找到它们并不是问题。
如果我们使用iHighest和iLowest,我们有时会发现接近极值的情况,因为它并不总是如此,如图所示。 一般来说,我们需要ABC形成的识别。
我试着用ZigZag来解决这个问题,但它并没有带来准确的点击率。
如果确定在什么深度上应该寻求,一切都会变得容易。你可以使用 CopyLow 和ArrayMinimum()来代替iLowest。