来自一个 "傻瓜 "的问题 - 页 135

 
Cmu4:

我通过反命令减少音量,在里面写评论,但评论停留在里面,没有 "附着 "在位置上......。

最有趣的是,如果订单在发送时带有对立场方向 的评论,它就会收到这个评论,如果反对--就不会。

也许这是个错误?

我在可视化模式下查看了我的EA,发现有时评论 "粘",有时不粘。还不能说什么(这对我来说不是关键)。再观察一下,如果发现有规律可循,就写信给服务台。
 
tol64:
我在可视化模式下看了一下,发现有时评论被 "钩住",有时没有。还不能说什么(这对我来说不是关键)。再观察一下,如果你发现重播有任何模式,请写信给服务台

我已经做了。嗯,我总是得到错误的东西。而且还有一个关于 "摘录 "评论的鬼东西。呜呜呜...

顺便说一下,这里有一个简单的函数,可以得到一个仓位的最后一笔交易的评论(只有评论中的数字),是否正确?否则,也许我 "刮 "错了...。

double OrderLastMy()
{HistorySelectByPosition(pos_id);
 int total=HistoryDealsTotal();
 double Comments = StringToDouble(HistoryDealGetString(total,DEAL_COMMENT));
 if (Comments!=0)
  {Print("comment = ", Comments));
   return(Comments);
  }
 else return(0);
 }
 
Cmu4:

我已经做了。嗯,我总是得到错误的东西。而且还有一个关于 "摘录 "评论的鬼东西。呜呜呜...

顺便说一下,这里有一个简单的函数,可以得到一个仓位的最后一笔交易的评论(只有评论中的数字),是否正确?或者是我没有 "搞清楚"...

double OrderLastMy()
{HistorySelectByPosition(pos_id);
 int total=HistoryDealsTotal();
 double Comments = StringToDouble(HistoryDealGetString(total,DEAL_COMMENT));
 if (Comments!=0)
  {Print("comment = ", Comments));
   return(Comments);
  }
 else return(0);
 } 

HistoryDealGetString() 函数的第一个参数应该是交易的票据,到目前为止你有历史上 交易数量

 
Yedelkin:

HistoryDealGetString() 函数的第一个参数应该是一个交易票据,但到目前为止,你是在指定历史上 交易数量

我已经改正了,但还是不行。先生们,请指点迷津,因为我很困惑......

double OrderLastMy()
{HistorySelectByPosition(pos_id);
 int total=HistoryDealsTotal();
 int ticket = HistoryDealGetTicket(total);
 double Comments = StringToDouble(HistoryDealGetString(ticket,DEAL_COMMENT));
 if (Comments!=0)
  {Print("commentttt = ", ticket);
   return(Comments);
  }
 else return(0);
 }
 
 
 
Cmu4:

我把它修好了,但它仍然不能工作。先生们,请指点迷津,因为我很困惑......

好了,让我们继续前进吧 :)

这里有句话。

int ticket = HistoryDealGetTicket(total);
没有考虑到列表中项目的编号(包括交易列表中交易的编号)以 "0 "开始,而不是 "1"。因此,将总值 指定为 "交易清单中的交易号码",你是在指定一个不存在的数字。见MQL5参考 /交易功能/ HistoryDealGetTicket中的例子。
 
Yedelkin:

好了,让我们继续前进吧 :)

以下是这句话

没有考虑到列表中项目的编号(包括交易列表中交易的编号)以 "0 "开始,而不是 "1"。因此,将总值 指定为 "交易清单中的交易号码",你是在指定一个不存在的数字。请参阅 MQL5参考/交易功能/ HistoryDealGetTicket的例子。
非常感谢你,添加-1解决了一切问题(我希望是这样--我暂时通过打印检查)。:)
 
这很奇怪...
   datetime Arr[], time1;
   int t;

   t=CopyTime(_Symbol,_Period,0,1,Arr);
   time1=Arr[0];
Print(time1) 在这个版本的代码中不打印任何东西,但在这个版本中。
   datetime Arr[], time1;

   CopyTime(_Symbol,_Period,0,1,Arr);
   time1=Arr[0];

- 产出。

这是一个错误还是一个特点?

 
也许t应该被定义为数据时间?
 
Cmu4:
也许t应该被定义为数据时间?

t不能是数据时间,请仔细阅读CopyTime 帮助。

"返回值。

被复制的数组项数量,如果出错则为-1。"

直观地看,似乎这个函数的返回被处理了,返回值被安全地分配给了t变量......。在这一点上,程序挂断了,好像没有其他东西想被复制到Arr中。但我认为,必须先向数组中复制,然后才是向t变量分配所复制项目的返回数量。但在这里...
 
alph:

你好!

我已经写了一个EA,一切正常。但我在开头的一行得到了一个错误:"request.type_filling =ORDER_FILLING_AON;"--未声明的标识符和隐式枚举转换。

我不知道哪里出了问题,到目前为止,所有用相同字符串编译的EA都和以前一样工作。

提前感谢。

如果你点击ORDER_FILLING_AON 链接,你会看到名称刚刚改变。