初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1414

 
我能理解,谢谢。但我还是不明白,如果第一个 EA 买入 0.01 手,第二个买入 0.05 手,哪个止损适用?那么会有一个 0.06 手的仓位,对吗?哪个止损适用于这个仓位?第一个、第二个还是总计的?
 
Benjamin Fotteler #:
我能理解,谢谢。但我还是不明白,如果第一个 EA 买入 0.01 手,第二个买入 0.05 手,哪个止损适用?那么会有一个 0.06 手的仓位,对吗?哪个止损适用于这个仓位?第一个、第二个还是总计的?
我认为是最后一个。
 

好吧,如果是这样的话,那我终于明白净额结算账户的基本原理了:只有一个仓位,它是之前所有交易的总和;无论谁最后设置了 SL 和 TP(无论是通过OrderSend 方法 还是通过 PositionModify方法 或其他方法),他都为整个仓位设置了 SL 和 TP,无论是否适合其他 EA。

这意味着,当使用净额结算账户对同一符号使用多个 EA 时,用户必须注意必须对不同 EA 的 SL 和 TP 进行相同设置,这样它们的功能才不会与最初计划的不同--除非它们具有保护功能,并且仅在相应符号上未建立头寸时才建立 "内部 "头寸。您上面提到的PositionSelect() 在这方面非常有用。

Documentation on MQL5: Trade Functions / PositionSelect
Documentation on MQL5: Trade Functions / PositionSelect
  • www.mql5.com
PositionSelect - Trade Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
Benjamin Fotteler OrderSend 方法 还是通过 PositionModify方法 或其他方法),他都为整个头寸设置了 SL 和 TP,无论是否适合其他 EA。

这意味着,当使用净额结算账户对同一符号使用多个 EA 时,用户必须注意必须对不同 EA 的 SL 和 TP 进行相同设置,这样它们的功能才不会与最初计划的不同--除非它们具有保护功能,并且仅在相应符号上未建立头寸时才建立 "内部 "头寸。您上面提到的PositionSelect() 在这方面非常有用。

不过,为了安全起见,我会再试一次,看看是否会为另一个订单采用 SL 和 TP,或者之后再单独更改 SL 和 TP 是否更好--我没有这方面的经验!

 
您好,下午好,有人可以帮助我,我不能下载任何指标的mql5的mt5,我给在mql5下载指标,我得到一个窗口,问我是否有mt5,我给它是的,然后自动打开mt5的标记或市场部分,并没有下载任何东西。
我试着在 mt5 的工具部分社区中输入 mql5 的用户和密码,直接通过 mt5 下载,但什么也下载不了,只是在操作未输入或出现错误时发出同样的声音 lotaje....

我的电脑是 Windows 8.1 32 位,我不知道是否与操作系统有关。
非常感谢你们的帮助。
 

是的,您当然应该试一试。至于净额结算账户,我还没做过,但我已经用交易结果的交易值做过了,我把它保存为 positionTicket。

我意识到,如果我运行 EA,并在市场订单之间发送限价订单和类似订单(我只在其中使用这些订单(除了 SL 和 TP)),那么未结头寸的票据与 tradeResult.deal 并不相同,而是与 tradeResult.order 相同。正如头寸属性 页面所描述的,头寸的单子可以简单改变,而 POSITION_IDENTIFIER 不会改变,但仍与开仓订单的单子相同,即与入市交易的 tradeResult.order 相同。

 

请问,谁知道在哪里可以交易 USDKZT?

 
我刚刚用净额结算账户试了一下。如果您下了 1 手市场卖出订单,止损位是 1.1 欧元兑美元,然后又下了 1 手市场卖出订单,止损位是 1.05 欧元兑美元,那么整个 2 手净额结算头寸的止损位就是 1.05 欧元兑美元。这意味着,如果您在一个符号上运行两个相互竞争的 EA,而这两个 EA 以不同的方式管理或处理止损和止盈,可能会导致混乱。我最好用PositionSelect() 在我的 EA 中检查是否已经开仓,让我的 EA 等到没有更多仓位时再纠结。
 
Benjamin Fotteler #:
我刚刚用净额结算账户试了一下。如果您下了 1 手市场卖出订单,止损位是 1.1 欧元兑美元,然后又下了 1 手市场卖出订单,止损位是 1.05 欧元兑美元,那么整个 2 手净额结算头寸的止损位就是 1.05 欧元兑美元。这意味着,如果您在一个符号上运行两个相互竞争的 EA,以不同的方式管理或处理止损和止盈,可能会导致混乱。我最好用PositionSelect() 在我的 EA 中检查是否已经开仓,然后让我的 EA 等待,直到没有更多仓位时再纠缠在一起。
谢谢你的测试!正如我所怀疑的,在净额结算账户中,未结头寸没有 "记忆"。您也可以使用对冲账户,每个仓位都有 "其" EA 的 "神奇数字",然后由 EA 进行管理。
 

我刚刚阅读了《交易机器人必须通过的检查》。这些信息对我很有帮助。不过,出现了追加保证金的问题。我不知道自己的理解是否正确。

目前,我的 EA 做了两件事来避免追加保证金:在开仓或可能开仓的交易之前,它会使用 OderCalcMargin(...) 和 ACCOUNT_MARGIN_FREE 来查看是否可以提高保证金。然后,如果要开仓,它会检查止损金额是否超过要支付的保证金。我不确定我是否对第二点有所误解。

假设保证金为 500 美元,市场走势与我的方向相反,我的止损只有在损失 1000 美元时才会生效或触发。如果我的仓位的未平仓损益值是 -750$,即 500 美元的保证金用完了,我会收到追加保证金通知吗?那么检查止损单是否有意义?- 这是我不想尝试的。