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

 
pennyhunter:

非常感谢!

我是个编程新手,我很害怕你的文章,因为它们看起来很神秘,而且没有图片,哈哈哈。

但实际上,它们写得很好,翻译得也很好,它们正在帮助我进入面向对象编程。

:)

好的。不客气

 

以下段落显然存在错误:

+------------------------------------------------------------------+
| Returns StopLoss position closing flag |
+------------------------------------------------------------------+
bool COrder::OrderCloseByStopLoss(void) const
{
#ifdef __MQL4__
return(::StringFind(::OrderComment(),"[sl")>WRONG_VALUE);
#else
return
(
this.this.Status()==ORDER_STATUS_HISTORY_ORDER ? this.OrderReason()==ORDER_REASON_SL :
this.Status()==ORDER_STATUS_DEAL ?orderReason()==DEAL_REASON_SL :false
);
#endif
}
//+------------------------------------------------------------------+
//| Returns the flag for closing the position by TakeProfit |
//+------------------------------------------------------------------+
bool COrder::OrderCloseByTakeProfit(void) const
{
#ifdef __MQL4__
return(::StringFind(::OrderComment(),"[tp")>WRONG_VALUE);
#else
return
(
this.Status()==ORDER_STATUS_HISTORY_ORDER ? this.OrderReason()==ORDER_REASON_TP :
this.Status()==ORDER_STATUS_DEAL ? this.OrderReason()==DEAL_REASON_TP : false
);
#endif
}

返回的信息是:'Status' - 未声明标识符 Order.mqh

很遗憾,我无法解决这个问题。

谢谢。

 
albertpess:

下面这段话显然有误:

+------------------------------------------------------------------+
| Returns StopLoss position closing flag |
+------------------------------------------------------------------+
bool COrder::OrderCloseByStopLoss(void) const
{
#ifdef __MQL4__
return(::StringFind(::OrderComment(),"[sl")>WRONG_VALUE);
#else
return
(
this.this.Status()==ORDER_STATUS_HISTORY_ORDER ? this.OrderReason()==ORDER_REASON_SL :
this.Status()==ORDER_STATUS_DEAL ?orderReason()==DEAL_REASON_SL :false
);
#endif
}
//+------------------------------------------------------------------+
//| Returns the flag for closing the position by TakeProfit |
//+------------------------------------------------------------------+
bool COrder::OrderCloseByTakeProfit(void) const
{
#ifdef __MQL4__
return(::StringFind(::OrderComment(),"[tp")>WRONG_VALUE);
#else
return
(
this.Status()==ORDER_STATUS_HISTORY_ORDER ? this.OrderReason()==ORDER_REASON_TP :
this.Status()==ORDER_STATUS_DEAL ? this.OrderReason()==DEAL_REASON_TP : false
);
#endif
}

返回的信息是:'Status' - 未声明标识符 Order.mqh

很遗憾,我无法解决这个问题。

谢谢。

MetaTrader 4 还是 MetaTrader 5?

 

同样的情况出现在

m_long_prop[ORDER_PROP_PROFIT_EN] = this.ProfitInPoints();

e

m_double_prop[this.IndexProp(ORDER_PROP_PROFIT_FULL)] = this.ProfitFull();

这两个代码段都在封闭参数构造函数中

谢谢

 
Artyom Trishkin:

MetaTrader 4 还是 MetaTrader 5?

MT5
 
albertpess :
MT5

我想知道您在做什么。

请使用信息输入窗口工具栏上的 按钮插入代码

 

我正在学习您的文章。我的目标是学习如何与班级合作。

 
Artyom Trishkin:

我想知道你在做什么。

请使用信息输入窗口工具栏上的按钮插入代码

bool COrder::OrderCloseByStopLoss(void) const
  {
#ifdef __MQL4__
   return(::StringFind(::OrderComment(),"[sl")>WRONG_VALUE);
#else 
   return
     (
     this.Status()==ORDER_STATUS_HISTORY_ORDER ? this.OrderReason()==ORDER_REASON_SL : 
     this.Status()==ORDER_STATUS_DEAL ? this.OrderReason()==DEAL_REASON_SL : false
     );
#endif 
  }
//+------------------------------------------------------------------+
//| 返回通过 TakeProfit 平仓的标志。
//+------------------------------------------------------------------+
bool COrder::OrderCloseByTakeProfit(void) const
  {
#ifdef __MQL4__
   return(::StringFind(::OrderComment(),"[tp")>WRONG_VALUE);
#else 
   return
     (
      this.Status()==ORDER_STATUS_HISTORY_ORDER ? this.OrderReason()==ORDER_REASON_TP : 
      this.Status()==ORDER_STATUS_DEAL ? this.OrderReason()==DEAL_REASON_TP : false
     );
#endif 
  }
 

Спасибо。

Я не знал об этой функции.

 
albertpess :

我正在学习您的文章。我的目标是学习如何与班级合作。


会出现哪些错误?
请详细说明。