任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 429 1...422423424425426427428429430431432433434435436...1178 新评论 Всеволод 2014.01.13 17:44 #4281 Trader7777: 伙计们,请检查一下这个功能,我对它有一些怀疑。 好吧,如果是关闭,最好是向后循环。 [Deleted] 2014.01.13 18:40 #4282 splxgf: 因此,如果有一个关闭,最好是向后循环。 不,它应该从旧秩序关闭到新秩序。 Vitalie Postolache 2014.01.13 18:47 #4283 Trader7777: 不,它应该从旧秩序关闭到新秩序 如果你改变了顺序,就会从旧的到新的。在此期间,从新到旧,甚至通过一个人有时可能会发生。 [Deleted] 2014.01.13 18:54 #4284 evillive: 如果你改变了顺序,就会从旧的到新的。同时,从新的到旧的,有时可能通过一个发生。 如果你为(int i =OrdersTotal()-1; i>0; i--)它将从新到旧关闭! [Deleted] 2014.01.13 18:56 #4285 evillive: 如果你改变了顺序,就会从旧的到新的。但在这期间,从新到旧,有时一个接一个,都可能发生。 我不明白,如果你懒得提出错误,为什么要把一个根据我的TS,我不需要的功能强加给我? [删除] 2014.01.13 19:23 #4286 晚上好... 这个https://www.mql5.com/ru/code/9767 专家顾问中的指标将是正确的? 如果(iCustom( NULL,0, "wave(MACD_FZR)",1,0)<Low[1] ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point, "macd sample",16384,0,Green); 如果(ticket>0) { 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("BUY订单打开:",OrderOpenPrice())。 } else Print("错误打开BUY订单:",GetLastError())。 return(0); } // 检查空头头寸(卖出)。 如果(iCustom( NULL, 0, "wave(MACD_FZR)",1,1)>High[1] ) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "macd sample",16384,0,Red); 回复|删除|编辑 Any rookie question, so [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 [WARNING CLOSED!] Any newbie Всеволод 2014.01.13 19:28 #4287 Trader7777: 我不明白,如果你懒得提出错误,为什么要把一个根据我的TS不需要的功能强加给我? 好吧,那么看看你的函数,比如说,第一笔订单被取走,由于它符合条件,所以被删除......它的位置被第二阶梯所取代。 在下一个循环中,将检查第三个订单,而第二个订单将被跳过。 这就是为什么我们指出,列举是错误的...... 如果你自己的顺序真的很重要,我们可以在删除它的时候递减循环变量。 vlad_123 2014.01.13 19:28 #4288 Trader7777: 我不明白,如果你懒得提出错误,为什么要把一个根据我的TS,我不需要的功能强加给我? 我告诉过你,要一边做。喜欢(更新3)。 void CloseHalfOrders(int otype) { int count = 0; double CTexisting = CountTrades(otype), nCloseOrdersCnt = NormalizeDouble(CTexisting/2,1), price; int i = 0; while (i < OrdersTotal()) { if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype) { if (otype == OP_BUY) price = Bid; else if (otype == OP_SELL) price = Ask; else return;//работаем только с OP_BUY/OP_SELL if (count < nCloseOrdersCnt) { OrderClose(OrderTicket(),OrderLots(),price,0,Lime); count++; Sleep(1000); i = 0; continue; } else i = OrdersTotal(); } } i++; } } Всеволод 2014.01.13 19:34 #4289 或 OrderClose(OrderTicket(),OrderLots(),Bid,0,Lime); i--; Всеволод 2014.01.13 19:48 #4290 if (count<n) 为什么k和n是与关闭的总订单数相比? 1...422423424425426427428429430431432433434435436...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
伙计们,请检查一下这个功能,我对它有一些怀疑。
好吧,如果是关闭,最好是向后循环。
因此,如果有一个关闭,最好是向后循环。
不,它应该从旧秩序关闭到新秩序。
不,它应该从旧秩序关闭到新秩序
如果你改变了顺序,就会从旧的到新的。在此期间,从新到旧,甚至通过一个人有时可能会发生。
如果你改变了顺序,就会从旧的到新的。同时,从新的到旧的,有时可能通过一个发生。
如果你为(int i =OrdersTotal()-1; i>0; i--)它将从新到旧关闭!
如果你改变了顺序,就会从旧的到新的。但在这期间,从新到旧,有时一个接一个,都可能发生。
我不明白,如果你懒得提出错误,为什么要把一个根据我的TS,我不需要的功能强加给我?
晚上好...
这个https://www.mql5.com/ru/code/9767 专家顾问中的指标将是正确的?
如果(iCustom( NULL,0, "wave(MACD_FZR)",1,0)<Low[1] )
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point, "macd sample",16384,0,Green);
如果(ticket>0)
{
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("BUY订单打开:",OrderOpenPrice())。
}
else Print("错误打开BUY订单:",GetLastError())。
return(0);
}
// 检查空头头寸(卖出)。
如果(iCustom( NULL, 0, "wave(MACD_FZR)",1,1)>High[1] )
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "macd sample",16384,0,Red);
我不明白,如果你懒得提出错误,为什么要把一个根据我的TS不需要的功能强加给我?
好吧,那么看看你的函数,比如说,第一笔订单被取走,由于它符合条件,所以被删除......它的位置被第二阶梯所取代。
在下一个循环中,将检查第三个订单,而第二个订单将被跳过。
这就是为什么我们指出,列举是错误的......
如果你自己的顺序真的很重要,我们可以在删除它的时候递减循环变量。
我不明白,如果你懒得提出错误,为什么要把一个根据我的TS,我不需要的功能强加给我?
我告诉过你,要一边做。喜欢(更新3)。
或
if (count<n)
为什么k和n是与关闭的总订单数相比?