新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1364

 
MakarFX:

但我已经试过这种方式。

接下来我应该用什么函数来浏览关闭的位置

 
Amon1953:

接下来我应该用哪个函数来翻阅关闭的位置

那么一般来说,应该如何处理发现的订单呢?
 
MakarFX:
到底应该如何处理发现的订单?

我需要找到最后关闭的SL位置来做决定

如果(HistorySelectByPosition(ORDER_MAGIC==1))

{

int PosTotal= ??? 使用哪个函数?

Alert("PosTotal",PosTotal)。

for(int i=PosTotal-1; i>=0; i--)

{

Alert("PositionsTotal",PosTotal)。

}}


 
Amon1953:

我需要找到最后关闭的SL位置来做决定

之间存在着巨大的差异

a) 找出最后一个头寸是否在停止时关闭,以及

b) 找出被止损点关闭的最后位置。

--------

你需要什么?

 
Amon1953:

我需要找到最后关闭的SL位置来做决定

我不擅长MQL5,但我认为搜索应该像这样开始

      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,DEAL_TIME)>=CurrentTime)
           {
            if(HistoryOrderGetInteger(ticket,DEAL_MAGIC)==Magic)
              {
               if(HistoryOrderGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
 
MakarFX:

我不擅长MQL5,但我认为搜索应该像这样开始

我需要一个关闭的头寸,而不是交易或订单

 
Amon1953:

我需要一个关闭的头寸,而不是交易或订单

困惑

历史订单选择


 
MakarFX:

困惑

历史订单选择


搜查令能提供什么帮助?

 
Artyom Trishkin:

搜查令能提供什么帮助?

原来的问题是

Amon1953:
这可能是一个简单而天真的问题,但我已经对HistorySelectByPosition(ORDER_MAGIC==1) 绞尽脑汁了需要一个 magic=1的位置历史我不明白的事。无论我做什么,我都没有得到这段历史。我应该在哪里输入一个魔术师的号码?
      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,ORDER_MAGIC)==Magic)


 
MakarFX:

原来的问题是。


在五,顺序!=位置。还有一笔交易。一个订单(order)会产生一个交易。而一笔交易会产生一种立场,要么改变它,要么关闭它。

因此,要找到一个头寸是如何被关闭的,你需要选择 这个头寸的交易,找到关闭的交易并查看其属性--关闭的原因可能在那里被指明。

原因: