[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 4 1234567891011...652 新评论 Anton80 2011.07.24 11:29 #31 splxgf: 你如何确定这两者中的哪一个? https://book.mql4.com/ru/trading/orderclose 并在必要时按符号过滤,完全工作的例子 https://book.mql4.com/ru/trading/ordermodify 我在用下面的例子来确定,但它只关闭了最后一个挂单,而不是第一个,尽管第一个挂单的所有条件都满足。帮助我找到一个错误!!!!!!!!!!!!! if (Bid>=Openup-0.0005) { for(int count = OrdersTotal()-1; count >= 0; count--) { OrderSelect(count, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUYLIMIT) { OrderDelete(ticket,CLR_NONE); } } } Anatoli Kazharski 2011.07.24 13:45 #32 Andreev: 我在用下面的例子来确定,但它只关闭了最后一个挂单,而不是第一个,尽管第一个挂单的所有条件都满足。帮助我找到一个错误!!!!!!!!!!!!! 最简单的方法是通过神奇的数字来确定两者中哪个顺序关闭。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。也要写OrderTicket() 而不是ticket。 Anton80 2011.07.24 14:34 #33 tol64: 最简单的方法是通过神奇的数字来确定两者中哪个顺序关闭。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。也要写OrderTicket() 而不是ticket。 谢谢你的答复我已经被告知了一个神奇的数字,但在定义一个待定订单 时该把它放在哪里,以及如何把它与票据联系起来 - 我不明白。 Denis Lazarev 2011.07.24 14:48 #34 Andreev: 谢谢你的答复有人建议我使用神奇数字,但我不明白在定义挂单时应将其放在哪里,以及如何将其与票据联系起来。 魔术应该在开单时设置,但我们必须确保不同订单的数量是不同的,否则就没有意义,下面是一个链接,可以看到OrderSend函数 的完整描述,其中所有变量都可以在开单时设置,是你应该对魔术变量感兴趣,但为了正确工作,它之前的所有变量都必须填写,之后的所有变量--按你的想法填写。 https://docs.mql4.com/ru/trading/OrderSend Victor Nikolaev 2011.07.24 14:55 #35 LazarevDenis: 魔术应该在开单时设置,但要确保不同订单的数量是不同的,否则就没有意义了,下面是一个链接,可以看到OrderSend函数的完整描述,其中所有的变量都可以在开单时设置,你应该对魔术变量感兴趣,但为了正确工作,它之前的所有变量都应该填写,之后的所有变量--你认为合适。 https://docs.mql4.com/ru/trading/OrderSend 为什么不同的订单需要不同的魔法? alex 2011.07.24 15:05 #36 请给我正确的代码。我写了一个EA,它在编译过程中只产生了两个错误--我不知道如何去掉它们。 这些错误 1) 'SL' - 变量已经定义 C:\Program Files\MetaTrader Finam\experts\$.mq4 (43, 11) 和2)'TP' - 变量已经定义 C:³ Files\MetaTrader Finam\experts\$.mq4(45, 11)。 下面是专家顾问的代码。 alex 2011.07.24 15:05 #37 extern int Diapazon=1200, Slipege=500, TP=1500, SL=15000; double pa, pb, pt; int ls, dg; int start() // Спец. функция start() { pa=MarketInfo(Symbol(),MODE_ASK); pb=MarketInfo(Symbol(),MODE_BID); pt=MarketInfo(Symbol(),MODE_POINT); dg=MarketInfo(Symbol(),MODE_DIGITS); ls=MarketInfo(Symbol(),MODE_STOPLEVEL); //---------------------------------------+ if { double variable1 = NormalizeDouble(pa+ls*pt,dg); double variable2 = NormalizeDouble(pb-ls*pt,dg); //---------------------------------------------+ double pa = NormalizeDouble(Ask+Diapazon*Point,Digits); double SL = NormalizeDouble(Bid+(Diapazon-SL)*Point,Digits); double TP = NormalizeDouble(Ask+(Diapazon+TP)*Point,Digits); double pb = NormalizeDouble((Bid+Diapazon*Point,Digits); double SL = NormalizeDouble(Bid+(Diapazon+SL)*Point,Digits); double TP = NormalizeDouble(Bid+(Diapazon-TP)*Point,Digits); } // Открытие BUY OrderSend(Symbol(),OP_BUYSTOP, 0.05,Ask+Diapazon*Point,3,Bid+(Diapazon-SL)*Point,Ask+(Diapazon+TP)*Point); // Открытие SELL OrderSend(Symbol(),OP_SELLSTOP,0.05,Bid+Diapazon*Point,3,Bid+(Diapazon+SL)*Point,Bid+(Diapazon-TP)*Point); return; // Выход из start() } Роман 2011.07.24 15:06 #38 Vinin: 以及为什么不同的授权书需要不同的魔法? 显然是为了这个--上面的几个帖子:-)))- "确定两者中哪个顺序关闭的最简单方法是通过神奇的数字。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。也要写OrderTicket()而不是ticket"。 Роман 2011.07.24 15:09 #39 tol64: 最简单的方法是通过神奇的数字来确定两者中哪个顺序关闭。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。另外,用OrderTicket() 来代替ticket。 记住设置订单的时间,然后在循环中比较时间,删除最旧的那个。 Роман 2011.07.24 15:12 #40 Andreev: 我在用下面的例子来确定,但它只关闭了最后一个挂单,而不是第一个,尽管第一个挂单的所有条件都满足。帮助我找到一个错误!!!!!!!!!!!!! 不排除第一笔订单转化为市场订单的变体,以及因此不可能通过这个循环去除限价订单的情况? 1234567891011...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你如何确定这两者中的哪一个?
https://book.mql4.com/ru/trading/orderclose
并在必要时按符号过滤,完全工作的例子
https://book.mql4.com/ru/trading/ordermodify
我在用下面的例子来确定,但它只关闭了最后一个挂单,而不是第一个,尽管第一个挂单的所有条件都满足。帮助我找到一个错误!!!!!!!!!!!!!
我在用下面的例子来确定,但它只关闭了最后一个挂单,而不是第一个,尽管第一个挂单的所有条件都满足。帮助我找到一个错误!!!!!!!!!!!!!
最简单的方法是通过神奇的数字来确定两者中哪个顺序关闭。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。也要写OrderTicket() 而不是ticket。
最简单的方法是通过神奇的数字来确定两者中哪个顺序关闭。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。也要写OrderTicket() 而不是ticket。
谢谢你的答复我已经被告知了一个神奇的数字,但在定义一个待定订单 时该把它放在哪里,以及如何把它与票据联系起来 - 我不明白。
谢谢你的答复有人建议我使用神奇数字,但我不明白在定义挂单时应将其放在哪里,以及如何将其与票据联系起来。
魔术应该在开单时设置,但我们必须确保不同订单的数量是不同的,否则就没有意义,下面是一个链接,可以看到OrderSend函数 的完整描述,其中所有变量都可以在开单时设置,是你应该对魔术变量感兴趣,但为了正确工作,它之前的所有变量都必须填写,之后的所有变量--按你的想法填写。
https://docs.mql4.com/ru/trading/OrderSend
魔术应该在开单时设置,但要确保不同订单的数量是不同的,否则就没有意义了,下面是一个链接,可以看到OrderSend函数的完整描述,其中所有的变量都可以在开单时设置,你应该对魔术变量感兴趣,但为了正确工作,它之前的所有变量都应该填写,之后的所有变量--你认为合适。
https://docs.mql4.com/ru/trading/OrderSend
为什么不同的订单需要不同的魔法?
请给我正确的代码。我写了一个EA,它在编译过程中只产生了两个错误--我不知道如何去掉它们。
这些错误 1) 'SL' - 变量已经定义 C:\Program Files\MetaTrader Finam\experts\$.mq4 (43, 11)
和2)'TP' - 变量已经定义 C:³ Files\MetaTrader Finam\experts\$.mq4(45, 11)。
下面是专家顾问的代码。
以及为什么不同的授权书需要不同的魔法?
显然是为了这个--上面的几个帖子:-)))- "确定两者中哪个顺序关闭的最简单方法是通过神奇的数字。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。也要写OrderTicket()而不是ticket"。
最简单的方法是通过神奇的数字来确定两者中哪个顺序关闭。当你设置它们时,给它们分配不同的号码。你上面展示的例子缺少这种检查。另外,用OrderTicket() 来代替ticket。
记住设置订单的时间,然后在循环中比较时间,删除最旧的那个。
我在用下面的例子来确定,但它只关闭了最后一个挂单,而不是第一个,尽管第一个挂单的所有条件都满足。帮助我找到一个错误!!!!!!!!!!!!!
不排除第一笔订单转化为市场订单的变体,以及因此不可能通过这个循环去除限价订单的情况?