新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1776 1...176917701771177217731774177517761777177817791780178117821783...1953 新评论 законопослушный гражданин 2021.11.30 15:08 #17751 MakarFX #:如果没有打开的,你有条件一次打开两个。那是什么? double GetLotSize() { double Ls=0; for(int pos=OrdersTotal()-1;pos>=0;pos--) { if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) {Ls=OrderLots();} } } } return Ls; } 这个东西算得上是目前的地段。 该参数在设置中被设定:LotControl 分别是,当:GetLotSize()>LotControl - 我需要它在bSignalBuy()信号上打开vOrderOpenSell()。 是的,我知道两个订单都是按条件开的。我一开始就是这样写的。 但我应该如何让vOrderOpenBuy()不打开呢? законопослушный гражданин 2021.11.30 15:11 #17752 Mihail Matkovskij #:如果机器人已经在一个方向上进入市场,它就不会在同一方向上再次进入。你们的录入算法是这样的吗?如果满足 这个条件,就会触发之后还有就是当有卖出信号时。那么,以相反的方向进入的原因是条件被触发了 是的,这就是我需要的。但它需要通过这个条件来停止/排除一个前进的条目。 GetLotSize()>LotControl Tretyakov Rostyslav 2021.11.30 15:16 #17753 Kedrov #:谢谢你,Makar,谢谢你给我带来的麻烦!这里有一张截图。 是的,你搞得一团糟) 现在,在每个文件夹中,逐一将文件夹Experts重命名为_Experts,Indicators重命名为_Indicators。 在一个文件夹中重命名--启动终端,如果没有帮助--重命名回来,再去下一个文件夹。 P.S. 终端第一次启动的时间会比平时长一点。 Tretyakov Rostyslav 2021.11.30 15:19 #17754 законопослушный гражданин #:这个东西可以计算出当前的地段大小该参数在设置中被设置为:LotControl当GetLotSize()>LotControl - 我需要vOrderOpenSell()在信号bSignalBuy()时发生。是的,我知道两个订单都是按条件开的。我一开始就是这样写的。 但我应该如何让vOrderOpenBuy()不打开呢? if((bSignalBuy() == true)&&(GetLotSize()>LotControl)) vOrderOpenSell(); else if(bSignalBuy() == true) vOrderOpenBuy(); Tretyakov Rostyslav 2021.11.30 15:29 #17755 законопослушный гражданин #:是的。这就是我需要的。但它需要通过这个条件来停止/排除向前的进入。 我对这种情况感到困惑 // Если нет открытых ордеров, то входим в условие if(CountOrders()==0) { 有这种情况 GetLotSize()=0 законопослушный гражданин 2021.11.30 15:31 #17756 MakarFX #: 谢谢你,已经改正,我会考虑的。 законопослушный гражданин 2021.11.30 15:44 #17757 MakarFX #:我对这种情况感到困惑有了这个条件。 看起来你是对的。 对。 if((bSignalBuy() == true)&&(GetLotSize()>LotControl)) vOrderOpenSell(); else if(bSignalBuy() == true) vOrderOpenBuy(); 对(GetLotSize()>LotControl)条件完全没有反应。 Tretyakov Rostyslav 2021.11.30 15:53 #17758 законопослушный гражданин #:看起来你是对的。对。对(GetLotSize()>LotControl)条件完全没有反应。GetLotSize()必须取自最后关闭的一个,然后在 // Если нет открытых ордеров, то входим в условие if(CountOrders()==0) {(GetLotSize()>LotControl)将发挥作用 законопослушный гражданин 2021.11.30 15:55 #17759 MakarFX #:GetLotSize()应该取自最后关闭的一个,然后在 (GetLotSize()>LotControl)将发挥作用 非常感谢! Mihail Matkovskij 2021.11.30 16:28 #17760 законопослушный гражданин #:是的。这就是我需要的。但在这样做的时候,你需要通过这个条件停止/排除前向进入。 if (bSignalBuy()) { if (GetLotSize() > LotControl) vOrderOpenSell(); else vOrderOpenBuy(); } double GetLotSize() { double Ls=0; datetime last = 0, openTime; for (int pos=OrdersTotal()-1;pos>=0;pos--) { if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == _Symbol && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY || OrderType() == OP_SELL) { if ((openTime = OrderOpenTime()) > last) { last = openTime; Ls = OrderLots(); } } } } } return Ls; } 1...176917701771177217731774177517761777177817791780178117821783...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果没有打开的,你有条件一次打开两个。
那是什么?
这个东西算得上是目前的地段。
该参数在设置中被设定:LotControl
分别是,当:GetLotSize()>LotControl - 我需要它在bSignalBuy()信号上打开vOrderOpenSell()。
是的,我知道两个订单都是按条件开的。我一开始就是这样写的。 但我应该如何让vOrderOpenBuy()不打开呢?
如果机器人已经在一个方向上进入市场,它就不会在同一方向上再次进入。你们的录入算法是这样的吗?
如果满足 这个条件,就会触发
之后
还有就是当有卖出信号时。
那么,以相反的方向进入的原因是条件被触发了
是的,这就是我需要的。但它需要通过这个条件来停止/排除一个前进的条目。
谢谢你,Makar,谢谢你给我带来的麻烦!
这里有一张截图。
是的,你搞得一团糟)
现在,在每个文件夹中,逐一将文件夹Experts重命名为_Experts,Indicators重命名为_Indicators。
在一个文件夹中重命名--启动终端,如果没有帮助--重命名回来,再去下一个文件夹。
P.S. 终端第一次启动的时间会比平时长一点。
这个东西可以计算出当前的地段大小
该参数在设置中被设置为:LotControl
当GetLotSize()>LotControl - 我需要vOrderOpenSell()在信号bSignalBuy()时发生。
是的,我知道两个订单都是按条件开的。我一开始就是这样写的。 但我应该如何让vOrderOpenBuy()不打开呢?
是的。这就是我需要的。但它需要通过这个条件来停止/排除向前的进入。
我对这种情况感到困惑
有这种情况
谢谢你,已经改正,我会考虑的。
我对这种情况感到困惑
有了这个条件。
看起来你是对的。
对。
对(GetLotSize()>LotControl)条件完全没有反应。
看起来你是对的。
对。
对(GetLotSize()>LotControl)条件完全没有反应。
GetLotSize()必须取自最后关闭的一个,然后在
(GetLotSize()>LotControl)将发挥作用GetLotSize()应该取自最后关闭的一个,然后在
(GetLotSize()>LotControl)将发挥作用非常感谢!
是的。这就是我需要的。但在这样做的时候,你需要通过这个条件停止/排除前向进入。