新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 703 1...696697698699700701702703704705706707708709710...1953 新评论 Alexey Viktorov 2018.11.29 20:11 #7021 Zvezdochet: 是。这正是谢尔盖-科瓦廖夫的教科书的全部内容。这是目前缺失很多的一个。 在这个网站上没有关于mql5这样的教科书,我不知道其他网站的情况。但有很多文章,阅读它们,你可能会成功。 Статьи по MQL5 www.mql5.com Статьи по программированию на языке MQL5 Alexander_K2 2018.11.29 21:53 #7022 各位程序员!请帮助我解决一个纠结了一个月的问题。 我的TS有时会 因为某些原因而无法关闭订单。 它看起来像这样。 前三笔订单 - 44329646,44330563和44337351完美地打开和关闭。 而在第四个订单上,悲剧发生了。 以此类推,无穷无尽...... 也就是说,专家顾问打开订单44339156,并试图关闭它自己(!!!!)在几小时前成功关闭的订单44337351。 你必须手动关闭它;如果你没有这样做,你有时会遭受最深的缩减。真是一场灾难! 这怎么可能呢? 专家顾问的代码可以说是非常简单。 здесь - условие открытия сделки { RefreshRates(); total_orders_NZDUSD=TotalOrders("NZDUSD.I"); if(total_orders_NZDUSD==0) { Balance=AccountBalance(); Lots=NormalizeDouble((Balance/(Ask*10.0))*0.01,2); double AskNorm=NormalizeDouble(Ask,Digits); ticket_buy_NZDUSD=OrderSend("NZDUSD.I",OP_BUY,0.01,AskNorm,0,0,0); } } здесь - условие закрытия сделки { RefreshRates(); if(OrderSelect(ticket_buy_NZDUSD, SELECT_BY_TICKET)==true) { total_orders_NZDUSD=TotalOrders("NZDUSD.I"); ctm_ticket_buy_NZDUSD=OrderCloseTime(); order_type_NZDUSD=OrderType(); if(total_orders_NZDUSD>0) { if(ctm_ticket_buy_NZDUSD==0) { if(order_type_NZDUSD==OP_BUY) { double BidNorm=NormalizeDouble(Bid,Digits); OrderClose(ticket_buy_NZDUSD,0.01,BidNorm,0); } } } } 一个相同的方案怎么可能 "一次又一次 "地发挥作用?我不明白... Artyom Trishkin 2018.11.29 21:59 #7023 Alexander_K2:各位程序员!请帮助我解决一个纠结了一个月的问题。我的TS有时会 因为某些原因而无法关闭订单。它看起来像这样。前三笔订单--44329646、44330563和44337351开仓和平仓都很好。而在第四个订单上,悲剧发生了。以此类推,无穷无尽......也就是说,专家顾问打开订单44339156,并试图关闭它自己(!!!!)在几小时前成功关闭的订单44337351。你必须手动关闭它;如果你没有这样做,你有时会遭受最深的缩减。真是一场灾难!这怎么可能呢?专家顾问的代码可以说是非常简单。一个相同的方案怎么可能 "一次又一次 "地发挥作用?我不明白...请阅读OrderSelect() 的帮助。特别是,请阅读关于按票选的参考资料。即使是已关闭的订单也是通过票据选择的。它已经关闭了,而你正试图再次关闭它。 如果是0,说明它还在市场中,请关闭它,如果>0,说明它已经关闭,没有必要再踢它,它不会复活,也不会关闭。 Alexander_K2 2018.11.29 22:01 #7024 Artyom Trishkin:请阅读OrderSelect()的帮助。特别是关于按票选的问题。即使是已关闭的订单,也是由票据选择的。它已经关闭了,而你正试图再次关闭它。 如果它被选中,检查关闭时间--如果是0,意味着它还在市场中--关闭它,如果>0,意味着它已经被关闭,你不必再踢它--它不会复活,也不会关闭。非常感谢你--我会努力的。 Artyom Trishkin 2018.11.29 22:05 #7025 Alexander_K2:非常感谢 - 我将试一试。不客气。你不必去尝试,你必须去做...... Alexander_K2 2018.11.29 22:17 #7026 Artyom Trishkin:请。你不必去尝试,你必须去做......Artem,我读了帮助 - 一切似乎都是正确的。 ctm_ticket_buy_NZDUSD=OrderCloseTime(); ... if(ctm_ticket_buy_NZDUSD==0) ... 我正在检查关闭时间。 我在《MQL4参考》中读到过。 建议在调用最新的订单数据之前立即调用OrderSelect()函数。 这也是事实。 那么什么是错的呢? Artyom Trishkin 2018.11.29 22:20 #7027 Alexander_K2:Artem,我读了帮助 - 一切似乎都是正确的。 我正在检查关闭时间。 我在《MQL4参考》中读到过。 建议在调用最新的订单数据之前立即调用OrderSelect()函数。 这也是事实。 那么有什么问题呢?这是一个什么样的功能? total_orders_NZDUSD=TotalOrders("NZDUSD.I"); 而在工作之后,是按哪种顺序分配? Maxim Kuznetsov 2018.11.29 22:24 #7028 Alexander_K2:各位程序员!请帮助我解决一个纠结了一个月的问题。我的TS有时会 因为某些原因而无法关闭订单。它看起来像这样。前三笔订单--44329646、44330563和44337351开仓和平仓都很好。而在第四个订单上,悲剧发生了。以此类推,无穷无尽......也就是说,专家顾问打开订单44339156,并试图关闭它自己(!!!!)在几小时前成功关闭的订单44337351。你必须手动关闭它;如果你没有这样做,你有时会遭受最深的缩减。真是一场灾难!这怎么可能呢?专家顾问的代码可以说是非常简单。一个相同的方案怎么可能 "一次又一次 "地发挥作用?我不明白...你在看什么方向的订单阵列? 如果在 "修订 "过程中可能出现关闭/删除,最好向相反方向看。从OrdersTotal()-1到0(含)。 否则,你可能会踩到它 :-) Alexander_K2 2018.11.29 22:25 #7029 Artyom Trishkin:这个功能是什么?这个专题是由Goldtrader友好地提供给我的,我对此表示衷心的感谢。 //+------------------------------------------------------------------+ //| Calculate Market Orders function | //+------------------------------------------------------------------+ int TotalOrders(string sy) { // sy - Currency Pair int orders=0; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy) { if (OrderType()==OP_SELL || OrderType()==OP_BUY) { orders++; } } } } return(orders); } 它允许你同时为不同的货币对开立订单。 :)))在我看来,它是这一切的开始,因为我大约在一个月前启用了它......没有它,我就无法看到圣杯。 有什么问题吗? Alexander_K2 2018.11.29 22:31 #7030 但有些事情真的不对劲...... 我的意思是,我做一次OrderSelect,然后再从函数中做一次...这没有任何意义... 1...696697698699700701702703704705706707708709710...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是。这正是谢尔盖-科瓦廖夫的教科书的全部内容。这是目前缺失很多的一个。
在这个网站上没有关于mql5这样的教科书,我不知道其他网站的情况。但有很多文章,阅读它们,你可能会成功。
各位程序员!
请帮助我解决一个纠结了一个月的问题。
我的TS有时会 因为某些原因而无法关闭订单。
它看起来像这样。
前三笔订单 - 44329646,44330563和44337351完美地打开和关闭。
而在第四个订单上,悲剧发生了。
以此类推,无穷无尽......
也就是说,专家顾问打开订单44339156,并试图关闭它自己(!!!!)在几小时前成功关闭的订单44337351。
你必须手动关闭它;如果你没有这样做,你有时会遭受最深的缩减。真是一场灾难!
这怎么可能呢?
专家顾问的代码可以说是非常简单。
一个相同的方案怎么可能 "一次又一次 "地发挥作用?我不明白...
各位程序员!
请帮助我解决一个纠结了一个月的问题。
我的TS有时会 因为某些原因而无法关闭订单。
它看起来像这样。
前三笔订单--44329646、44330563和44337351开仓和平仓都很好。
而在第四个订单上,悲剧发生了。
以此类推,无穷无尽......
也就是说,专家顾问打开订单44339156,并试图关闭它自己(!!!!)在几小时前成功关闭的订单44337351。
你必须手动关闭它;如果你没有这样做,你有时会遭受最深的缩减。真是一场灾难!
这怎么可能呢?
专家顾问的代码可以说是非常简单。
一个相同的方案怎么可能 "一次又一次 "地发挥作用?我不明白...
请阅读OrderSelect() 的帮助。特别是,请阅读关于按票选的参考资料。即使是已关闭的订单也是通过票据选择的。它已经关闭了,而你正试图再次关闭它。
如果是0,说明它还在市场中,请关闭它,如果>0,说明它已经关闭,没有必要再踢它,它不会复活,也不会关闭。
请阅读OrderSelect()的帮助。特别是关于按票选的问题。即使是已关闭的订单,也是由票据选择的。它已经关闭了,而你正试图再次关闭它。
如果它被选中,检查关闭时间--如果是0,意味着它还在市场中--关闭它,如果>0,意味着它已经被关闭,你不必再踢它--它不会复活,也不会关闭。
非常感谢你--我会努力的。
非常感谢 - 我将试一试。
不客气。你不必去尝试,你必须去做......
请。你不必去尝试,你必须去做......
Artem,我读了帮助 - 一切似乎都是正确的。
我正在检查关闭时间。
我在《MQL4参考》中读到过。
建议在调用最新的订单数据之前立即调用OrderSelect()函数。
这也是事实。
那么什么是错的呢?
Artem,我读了帮助 - 一切似乎都是正确的。
我正在检查关闭时间。
我在《MQL4参考》中读到过。
建议在调用最新的订单数据之前立即调用OrderSelect()函数。
这也是事实。
那么有什么问题呢?
这是一个什么样的功能?
total_orders_NZDUSD=TotalOrders("NZDUSD.I");
而在工作之后,是按哪种顺序分配?各位程序员!
请帮助我解决一个纠结了一个月的问题。
我的TS有时会 因为某些原因而无法关闭订单。
它看起来像这样。
前三笔订单--44329646、44330563和44337351开仓和平仓都很好。
而在第四个订单上,悲剧发生了。
以此类推,无穷无尽......
也就是说,专家顾问打开订单44339156,并试图关闭它自己(!!!!)在几小时前成功关闭的订单44337351。
你必须手动关闭它;如果你没有这样做,你有时会遭受最深的缩减。真是一场灾难!
这怎么可能呢?
专家顾问的代码可以说是非常简单。
一个相同的方案怎么可能 "一次又一次 "地发挥作用?我不明白...
你在看什么方向的订单阵列?
如果在 "修订 "过程中可能出现关闭/删除,最好向相反方向看。从OrdersTotal()-1到0(含)。
否则,你可能会踩到它 :-)
这个功能是什么?
这个专题是由Goldtrader友好地提供给我的,我对此表示衷心的感谢。
它允许你同时为不同的货币对开立订单。
:)))在我看来,它是这一切的开始,因为我大约在一个月前启用了它......没有它,我就无法看到圣杯。
有什么问题吗?
但有些事情真的不对劲......
我的意思是,我做一次OrderSelect,然后再从函数中做一次...这没有任何意义...