文章 "轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果" - 页 7

 
我借此机会感谢您的出色工作。我终于开始了解班级创建了。
 

我正在按照您的建议按部就班地学习代码。

目前,我正在完成第 1 条的学习,并在实现了保护类构造函数 后停止了学习。

我发给你的这段代码在编译后出现了错误。它出现在通过 TakeProfit 返回平仓标志的部分。

显然没有 声明 "Status " 标识符

 

.... Была между клавиатурой и компьютером ...МЕНЯ!

После вставки всех методов переменная была определена ...

Так как я еще не дошел до конца кода, то искал ошибку ...Но в последовательности переменная определена и все решено.

Извините за неудобства.

Спасибо

 
albertpess :

好吧,我正在按照你的建议研究代码,以便按部就班。

目前,我正在完成第 1 条的学习。

我发给你的这段代码在编译后出现了错误。它出现在通过 TakeProfit 返回平仓标志的部分。

显然,"Status " 标识符 没有被 声明。

所以,他们在某个地方做错了什么。错过了什么。

只需将文章所附文件下载到终端文件夹,然后编译 EA。

然后再按照文章中的描述一步步拆解所有内容。

 
Artyom Trishkin:

所以,他们在某个地方做错了什么。错过了什么。

只需将文章所附文件下载到终端文件夹,然后编译 EA。

然后再按照文章中的描述一步步拆解所有内容。

谢谢。

 
非常有用,做得很好!谢谢
 
挺不错的
 

实现受保护类的构造函数

//+------------------------------------------------------------------+
//| 关闭参数构造函数|
//+------------------------------------------------------------------+
COrder::COrder(ENUM_ORDER_STATUS order_status,const ulong ticket)
  {
//--- 保存整数属性
   m_ticket=ticket;
   m_long_prop[ORDER_PROP_STATUS]                              = order_status;
   m_long_prop[ORDER_PROP_MAGIC]                               = this.OrderMagicNumber();
   m_long_prop[ORDER_PROP_TICKET]                              = this.OrderTicket();

你好,Artyom、

我们可以使用

m_long_prop[ORDER_PROP_TICKET] = (long)ticket; // ticket 是传入的参数。

 
Ming Ge # :
this.OrderTicket();

如果

 this . OrderTicket ();

返回上面设置的 m_ticket 的值,那么这就是可能的。

但我是很久以前写的,一时想不起来了。

我看了一下。该方法将票据写入订单属性:

 //+------------------------------------------------------------------+
 //| Возвращает тикет|
 //+------------------------------------------------------------------+
 long COrder::OrderTicket( void ) const 
  {
 #ifdef __MQL4__
   return ::OrderTicket();
 #else
   long res= 0 ;
   switch ((ENUM_ORDER_STATUS) this .GetProperty(ORDER_PROP_STATUS))
     {
       case ORDER_STATUS_MARKET_POSITION   :
       case ORDER_STATUS_MARKET_ORDER      :
       case ORDER_STATUS_MARKET_PENDING    :
       case ORDER_STATUS_HISTORY_PENDING   :
       case ORDER_STATUS_HISTORY_ORDER     :
       case ORDER_STATUS_DEAL              : res=( long )m_ticket;  break ;
       default                             : res= 0 ;               break ;
     }
   return res;
 #endif
   }

你自己决定是否需要用简单赋值来代替它。