新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1166 1...115911601161116211631164116511661167116811691170117111721173...1953 新评论 Tretyakov Rostyslav 2020.06.04 06:45 #11651 请告诉我如何为OrdersTotal()设置按符号选择订单? int total=OrdersTotal(); if(total==0&&Bid>=OrderBuy&&Bid<=OrderBuy+10*Point) { if(OrderSend(Symbol(),OP_BUY,Lot,Ask,5,0,0,NULL,0,0,clrNONE)){::Alert(" Order Open ");} } 现在,如果某一对有一个开放的订单,它就不会在其他地方开放。 Vladimir Pastushak 2020.06.04 06:47 #11652 MakarFX:请告诉我如何为OrdersTotal()设置按符号选择订单?现在,如果在一个货币对上有一个开放的订单,它不会在其他货币对上开放。 看看kodobase,每个EA中都有一个例子。 Tretyakov Rostyslav 2020.06.04 07:01 #11653 Vladimir Pastushak:在kodobase中查看,每个顾问都有一个例子。 我不是一个程序员( 这对我来说有点复杂。 Igor Makanu 2020.06.04 07:17 #11654 MakarFX:我不是一个程序员(这对我来说有点复杂。 这并不复杂。 写一个基本的EA,这里有所有的功能https://www.mql5.com/ru/forum/131859 为了你的目的,OrdersTotal()是终端中未结订单的总数(从0开始编号),然后你必须使用OrderSelect()逐一选择它们(通过循环),并操作必要的订单。 for (i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { // проверим символ ордера, проверим магикномер ордера.... } } Только "Полезные функции от KimIV". 2011.02.18www.mql5.com Все функции взяты из этой ветки - http://forum.mql4... Maxim Kuznetsov 2020.06.04 07:25 #11655 MakarFX:请告诉我如何为OrdersTotal()设置按符号选择订单?现在,如果在一个货币对上有一个开放的订单,它不会在其他货币对上开放。 我需要根据需要定期检查(自己数)我的订单。 我在每个EA中都有一个循环(一个巨大的方法),在重要的行动之前被调用。 for(int pos=OrdersTotal()-1; pos>=0;pos--) { if (!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) { selectFailed=true; /* не удалось "выбрать" ордер - статистика может быть неверной */ continue; } if (OrderCloseTime()!=0) { /* ордер закрыт но ещё не удалён из списка*/ continue; } if (OrderMagicNumber()==0) { /* ордер выставлен юзером */ } continue; else if (OrderMagicNumber()!=_Magic) { /* ордер выставлен другим советником */ continue; } if (OrderSymbol()!=_Symbol) { /* ордер с правильным Magic но на другом символе */ continue; } /// обработка рабочих ордеров, с правильным Magic на символе советника (то есть наш ордер) /// проверяются несработки, считается кол-во, статистика, позиции и прочее } 符号上的订单检查被强调 Any questions from newcomers [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 被错误困扰的是没有交易业务 Valeriy Yastremskiy 2020.06.04 08:31 #11656 Maxim Kuznetsov:根据需要,定期检查(自我检查)他们的订单。 我在每个EA中都有一个循环(一个巨大的方法),在重要的行动之前被调用。 for(int pos=OrdersTotal()-1; pos>=0;pos--) { if (!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) { selectFailed=true; /* не удалось "выбрать" ордер - статистика может быть неверной */ continue; } if (OrderCloseTime()!=0) { /* ордер закрыт но ещё не удалён из списка*/ continue; } if (OrderMagicNumber()==0) { /* ордер выставлен юзером */ } continue; else if (OrderMagicNumber()!=_Magic) { /* ордер выставлен другим советником */ continue; } if (OrderSymbol()!=_Symbol) { /* ордер с правильным Magic но на другом символе */ continue; } /// обработка рабочих ордеров, с правильным Magic на символе советника (то есть наш ордер) /// проверяются несработки, считается кол-во, статистика, позиции и прочее } 按符号高亮显示 的顺序检查 顺便说一下,我理解历史订单的 代码可能会丢失。问题是,MT4中的订单代号(SELECT_BY_TICKET)和MT5中的交易和头寸代号是否会发生变化。 还有,在票据上的OrderSelect之后,是否可以改变顺序。比如说第二天。该EA没有被禁用。 如果挂单已成为市场订单,您可以按其类型查看。如果市场订单已经关闭,那么我们看订单关闭的时间,不等于零 OrderCloseTime()!=0 如果待定订单在其有效期内已经关闭,那么我们如何通过订单票据来跟踪它。 还有一个问题,在市场订单(MT4)中也是有寿命的,它是否有效? Tretyakov Rostyslav 2020.06.04 11:34 #11657 MakarFX:请告诉我如何为OrdersTotal()设置按符号选择订单?现在,如果在一个货币对上有一个开放的订单,它不会在其他货币对上开放。 这个问题已经解决了。谢谢大家。 novichok2018 2020.06.05 08:44 #11658 亲爱的先生们,你们好!我不明白哪里出了问题,为什么Alert: time3-time1 = wrong datetime? datetime time1 = iTime(NULL,0,1); datetime time3 = iTime(NULL,0,3); datetime delta3 = (time3-time1); Alert("time3-time1 = ",delta3); Maxim Kuznetsov 2020.06.05 09:11 #11659 novichok2018: 亲爱的先生们,你们好!我不明白哪里出了问题,为什么它说Alert: time3-time1 = wrong datetime? 因为这个数字是负数 :-) 根据这个逻辑,时间1永远比时间3多。 novichok2018 2020.06.05 09:20 #11660 Maxim Kuznetsov:因为这个数字是负数 :-)根据给定的逻辑,时间1永远比时间3多。 谢谢你!有时大脑会失灵。 1...115911601161116211631164116511661167116811691170117111721173...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请告诉我如何为OrdersTotal()设置按符号选择订单?
现在,如果某一对有一个开放的订单,它就不会在其他地方开放。
请告诉我如何为OrdersTotal()设置按符号选择订单?
现在,如果在一个货币对上有一个开放的订单,它不会在其他货币对上开放。
看看kodobase,每个EA中都有一个例子。
在kodobase中查看,每个顾问都有一个例子。
我不是一个程序员(
这对我来说有点复杂。
我不是一个程序员(
这对我来说有点复杂。
这并不复杂。
写一个基本的EA,这里有所有的功能https://www.mql5.com/ru/forum/131859
为了你的目的,OrdersTotal()是终端中未结订单的总数(从0开始编号),然后你必须使用OrderSelect()逐一选择它们(通过循环),并操作必要的订单。
请告诉我如何为OrdersTotal()设置按符号选择订单?
现在,如果在一个货币对上有一个开放的订单,它不会在其他货币对上开放。
我需要根据需要定期检查(自己数)我的订单。
我在每个EA中都有一个循环(一个巨大的方法),在重要的行动之前被调用。
for(int pos=OrdersTotal()-1; pos>=0;pos--) {
if (!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) {
selectFailed=true; /* не удалось "выбрать" ордер - статистика может быть неверной */
continue;
}
if (OrderCloseTime()!=0) { /* ордер закрыт но ещё не удалён из списка*/ continue; }
if (OrderMagicNumber()==0) { /* ордер выставлен юзером */ } continue;
else if (OrderMagicNumber()!=_Magic) { /* ордер выставлен другим советником */ continue; }
if (OrderSymbol()!=_Symbol) { /* ордер с правильным Magic но на другом символе */ continue; }
/// обработка рабочих ордеров, с правильным Magic на символе советника (то есть наш ордер)
/// проверяются несработки, считается кол-во, статистика, позиции и прочее
}
符号上的订单检查被强调
根据需要,定期检查(自我检查)他们的订单。
我在每个EA中都有一个循环(一个巨大的方法),在重要的行动之前被调用。
for(int pos=OrdersTotal()-1; pos>=0;pos--) {
if (!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) {
selectFailed=true; /* не удалось "выбрать" ордер - статистика может быть неверной */
continue;
}
if (OrderCloseTime()!=0) { /* ордер закрыт но ещё не удалён из списка*/ continue; }
if (OrderMagicNumber()==0) { /* ордер выставлен юзером */ } continue;
else if (OrderMagicNumber()!=_Magic) { /* ордер выставлен другим советником */ continue; }
if (OrderSymbol()!=_Symbol) { /* ордер с правильным Magic но на другом символе */ continue; }
/// обработка рабочих ордеров, с правильным Magic на символе советника (то есть наш ордер)
/// проверяются несработки, считается кол-во, статистика, позиции и прочее
}
按符号高亮显示 的顺序检查
顺便说一下,我理解历史订单的 代码可能会丢失。问题是,MT4中的订单代号(SELECT_BY_TICKET)和MT5中的交易和头寸代号是否会发生变化。
还有,在票据上的OrderSelect之后,是否可以改变顺序。比如说第二天。该EA没有被禁用。
如果挂单已成为市场订单,您可以按其类型查看。如果市场订单已经关闭,那么我们看订单关闭的时间,不等于零 OrderCloseTime()!=0
如果待定订单在其有效期内已经关闭,那么我们如何通过订单票据来跟踪它。
还有一个问题,在市场订单(MT4)中也是有寿命的,它是否有效?
请告诉我如何为OrdersTotal()设置按符号选择订单?
现在,如果在一个货币对上有一个开放的订单,它不会在其他货币对上开放。
这个问题已经解决了。谢谢大家。
亲爱的先生们,你们好!我不明白哪里出了问题,为什么它说Alert: time3-time1 = wrong datetime?
因为这个数字是负数 :-)
根据这个逻辑,时间1永远比时间3多。
因为这个数字是负数 :-)
根据给定的逻辑,时间1永远比时间3多。
谢谢你!有时大脑会失灵。