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

 
Leanid Aladzyeu:
...
我怎样才能在不调用函数的情况下获得数组的值?或者如何使数组记住最后写入的数值?
...


为了从一个数组中检索出一些东西,你必须先把这个 "东西 "写到数组中。

Leanid Aladzyeu:
...
或者如何让一个数组记住最后写入的值?
...
在哪些情况下:在切换图表的时间框架 时或重新加载终端后,阵列应该被保存?
 
Karputov Vladimir:


如果我想从一个数组中取东西,我首先要把它写进数组。

对于哪些情况:在切换图表的时间框架时或重新加载终端后,应该保存阵列?

不是在EA的工作期间

如果我在函数中设置returnee,当市场上有一个订单时,它给我的数组是零(我在数组归零之前设置returnee)。

 
Leanid Aladzyeu:

如果一个订单在市场上,它给我的数组是零(我在数组归零之前设置了返回者)。

订单 "给出 "的数组是什么?它们在哪里申报,在哪里填写?另外,请正确插入代码。
 
Karputov Vladimir:

函数参数必须恢复到原来的版本,否则它们根本不会被调用。

以下是标准SignalAC文件的代码

//+------------------------------------------------------------------+

//| "投票",价格将增长。|

//+------------------------------------------------------------------+

intCSignalAC::LongCondition(void)

我是这样理解的:代码发送一个信号,参数double& price,double& sl,double& tp,datetime& expiration是需要下单 的。

这是由另一个EA模块处理的?

 

将代码改成了一个变体。

int CSampleSignal::ShortCondition(void)

专家开始做事了,谢谢你的提示!"。

 
pr0gre5:

将代码改成了一个变体。

int CSampleSignal::ShortCondition(void)

专家开始做事了,谢谢你的提示!"。

不客气。问吧,在你需要的时候和地方问吧 :)
 

这样的问题,这段代码是否起到了限制计算的作用--在一个新条形 上只计算一次?

static datetime TimeN=0;
   datetime TimeC=iTime(NULL,TF,0);
   if(TimeN==0)TimeN=TimeC;
   if(TimeN==TimeC) return(0);

 
-Aleks-:

这样的问题,这段代码是否起到了限制计算的作用--在一个新条形 上只计算一次?

static datetime TimeN=0;
   datetime TimeC=iTime(NULL,TF,0);
   if(TimeN==0)TimeN=TimeC;
   if(TimeN==TimeC) return(0);

如果新的条形图是在M1时间框架上,那么我们就打印一条信息。

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   static datetime TimeN;
   datetime TimeC=iTime(NULL,PERIOD_M1,0);
   if(TimeN==TimeC)
      return;
   TimeN=TimeC;
// новый бар, выполняем код
   Print("New bar");
   return;
  }
 
Karputov Vladimir:

如果新的条形图是在M1时间框架上,则打印一个信息。

所以我是对的,这是一张新酒吧 的支票?
 
-Aleks-:
所以我是对的,这是一个新的酒吧 检查?
如果你是指我的代码--那么是的,我的代码是一个新的条形检查。