帮助。为什么EA不关闭交易 - 页 4 1234567 新评论 onewithzachy 2012.05.25 13:23 #31 如果你不使用SRC按钮来发布你的代码,你会遇到没有人回复你的问题。 Simon Gniadkowski 2012.05.25 13:26 #32 crossy:各位朋友,大家好。OrderT是订单的票号, 。 我的问题是。EA有时能很好地关闭交易,但有时EA关闭了交易,但它仍在继续寻找票据来关闭它,尽管它已经被关闭。(我得到的错误是:"未知票据号码..." 。我认为我有一个逻辑错误。谢谢你的帮助。Y 这非常、非常简单。 只要回答这个简单的问题,你就会得到答案 . . 你把票据 号码传递给函数,这样票据就可以被关闭了 . . . . 为什么你要在所有的 其他订单中循环呢? 你已经知道了 你需要关闭的票据号码. . . 为什么要循环呢? Yochanan Gerbi 2012.05.25 13:29 #33 ... for(int cnt = OrdersTotal()-1; cnt >= 0 ; cnt--) { CodeY = false; if ( OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ) { CodeY = true; OrderS = OrderSymbol(); OrderT = OrderTicket(); OrderM = OrderMagicNumber(); OrderTyp = OrderType(); OrderL = OrderLots(); } if ( CodeY && OrderS == Pair1 && OrderTyp == OP_BUY && OrderM == MAG &&.... ) CLOSE_Single_P(Pair1,"LONG",OrderT,OrderL); //-----------------------------------------------+ void CLOSE_Single_P(string SYMB, string TREN, int TICKET, double LOTT) { double PRC; bool Check = false; for ( int cntt=0; cntt<20000; cntt++ ) { if ( Check ) { Check_Ini(); return; } for ( int vvv = OrdersTotal()-1; vvv >= 0; vvv-- ) { if ( OrderSelect(vvv, SELECT_BY_POS, MODE_TRADES) ) { Check = false; if ( TREN == "LONG" ) PRC = MarketInfo(SYMB,MODE_BID); else if ( TREN == "SHORT" ) PRC = MarketInfo(SYMB,MODE_ASK); Check = OrderClose(TICKET,LOTT,PRC,Slippage,Yellow); if ( Check ) break; } } } return; } //-----------------------------------------------+ 我希望现在更清楚了。 谢谢 Yochanan Gerbi 2012.05.25 13:31 #34 RaptorUK: 这非常、非常简单。 只要回答这个简单的问题,你就会得到答案 . . . 你把票据 号码传递给函数,这样就可以关闭票据了 ...... 为什么你要在所有的 其他订单中循环呢? 你已经知道了 你需要关闭的票据号码...... 为什么还要循环呢? 谢谢Raptor,我做过一次,没有ORDERSELECT,但有同样的错误。 Y. onewithzachy 2012.05.25 13:34 #35 我已经在第一页提供了一个线索。 https://www.mql5.com/en/forum/139543 Yochanan Gerbi 2012.05.25 13:42 #36 谢谢onewithzachy,我按照你的建议做了,我得到的错误是 按摩说它没有找到票据。 Simon Gniadkowski 2012.05.25 13:46 #37 crossy:各位朋友,大家好。OrderT是订单的票号, 。 我的问题是。EA有时能很好地关闭交易,但有时EA关闭了交易,但它仍在继续寻找票据来关闭它,尽管它已经被关闭。(我得到的错误是:"未知票据号码..." 。我认为我有一个逻辑错误。谢谢你的帮助。Y 这非常、非常简单。 只要回答这个简单的问题,你就会得到答案 . . 你把票据 号码传递给函数,这样票据就可以被关闭了 . . . . 为什么你要在所有的 其他订单中循环呢? 你已经知道了 你需要关闭的票据号码. . . 为什么要循环呢? Simon Gniadkowski 2012.05.25 13:47 #38 onewithzachy: 我已经在第一页提供了一个线索。 https://www.mql5.com/en/forum/139543 我也给出了答案。 . .https://www.mql5.com/en/forum/139543 Simon Gniadkowski 2012.05.25 13:49 #39 crossy: 谢谢Raptor,我做过一次,没有使用ORDERSELECT,但也有同样的错误。 你没有读懂我写的东西,而是问......为什么是循环? 在这种情况下,循环的作用 是什么? Yochanan Gerbi 2012.05.25 14:02 #40 ... for(int cnt = OrdersTotal()-1; cnt >= 0 ; cnt--) { CodeY = false; if ( OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ) { CodeY = true; OrderS = OrderSymbol(); OrderT = OrderTicket(); OrderM = OrderMagicNumber(); OrderTyp = OrderType(); OrderL = OrderLots(); } if ( CodeY && OrderS == Pair1 && OrderTyp == OP_BUY && OrderM == MAG &&.... ) CLOSE_Single_P(Pair1,"LONG",OrderT,OrderL); //-----------------------------------------------+ void CLOSE_Single_P(string SYMB, string TREN, int TICKET, double LOTT) { double PRC; bool Check = false; for ( int cntt=0; cntt<20000; cntt++ ) { if ( Check ) { Check_Ini(); return; } Check = false; if ( TREN == "LONG" ) PRC = MarketInfo(SYMB,MODE_BID); else if ( TREN == "SHORT" ) PRC = MarketInfo(SYMB,MODE_ASK); Check = OrderClose(TICKET,LOTT,PRC,Slippage,Yellow); } return; } //-----------------------------------------------+ O.K. 这里是修改后的版本,我得到了同样的错误。 Y. 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果你不使用SRC按钮来发布你的代码,你会遇到没有人回复你的问题。
各位朋友,大家好。
OrderT是订单的票号,
。
我的问题是。EA有时能很好地关闭交易,但有时EA关闭了交易,但它仍在继续寻找票据来关闭它,尽管它已经被关闭。
(我得到的错误是:"未知票据号码..." 。
我认为我有一个逻辑错误。
谢谢你的帮助。
Y
这非常、非常简单。
只要回答这个简单的问题,你就会得到答案 . .
你把票据 号码传递给函数,这样票据就可以被关闭了 . . . . 为什么你要在所有的 其他订单中循环呢? 你已经知道了 你需要关闭的票据号码. . . 为什么要循环呢?
我希望现在更清楚了。
谢谢
这非常、非常简单。
只要回答这个简单的问题,你就会得到答案 . . .
你把票据 号码传递给函数,这样就可以关闭票据了 ...... 为什么你要在所有的 其他订单中循环呢? 你已经知道了 你需要关闭的票据号码...... 为什么还要循环呢?
谢谢Raptor,我做过一次,没有ORDERSELECT,但有同样的错误。
Y.
谢谢onewithzachy,我按照你的建议做了,我得到的错误是
按摩说它没有找到票据。
各位朋友,大家好。
OrderT是订单的票号,
。
我的问题是。EA有时能很好地关闭交易,但有时EA关闭了交易,但它仍在继续寻找票据来关闭它,尽管它已经被关闭。
(我得到的错误是:"未知票据号码..." 。
我认为我有一个逻辑错误。
谢谢你的帮助。
Y
这非常、非常简单。
只要回答这个简单的问题,你就会得到答案 . .
你把票据 号码传递给函数,这样票据就可以被关闭了 . . . . 为什么你要在所有的 其他订单中循环呢? 你已经知道了 你需要关闭的票据号码. . . 为什么要循环呢?
我已经在第一页提供了一个线索。 https://www.mql5.com/en/forum/139543
谢谢Raptor,我做过一次,没有使用ORDERSELECT,但也有同样的错误。
O.K. 这里是修改后的版本,我得到了同样的错误。
Y.