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

 
Владимир Казаков #:

将表达方式分解为行动...而且,哦,我的上帝,结果是一样的!!!?

因此,所有与减少类型相同的东西不工作,因为我想

的专家和理解者可以有人解释什么是问题?!
好了,不重复错误))。

PS:下面是同样的表达方式,这种格式的工作方式也是如此

排除法是一个万无一失的替身,为int。

我希望我没有弄错。

double a = (double) ((d*pow(10,_Digits-2))*(180/M_PI)*(double) coefAngle);
double a = (double) ((d*pow(10,_Digits-2))*(180.0/M_PI)*(double) coefAngle);
 

问候,你能不能给我一个机器人的建议,MT5。

我需要数组中的索引与相对于当前柱状体的移位值相吻合,就像在指标缓冲器 中一样。

如何做到这一点?

 
Andrey Sokolov #:

问候,你能不能给我一个机器人的建议,MT5。

我需要数组中的索引与相对于当前柱状体的移位值相吻合,就像在指标缓冲器 中一样。

如何做到这一点?

阵列集为系列

 
Vitaly Muzichenko #:

阵列集为系列

谢谢,这不仅适用于指标,也适用于机器人吗?

 
Andrey Sokolov #:

谢谢你,这不仅在指标中有效,在机器人中也有效吗?

我不知道你的问题,但它翻转了阵列

 
Vitaly Muzichenko #:

我不知道你的问题,但它翻转了阵列

我们需要数组中的索引与相对于当前条形的移位值相吻合,就像指标缓冲区 一样。

你需要指数值在新的蜡烛图出现后与蜡烛图相匹配,就像在指标中一样。

 
Andrey Sokolov #:

我们需要数组中的索引与相对于当前条形的移位值相吻合,就像指标缓冲区 一样。

你需要在新的蜡烛图出现后获得与蜡烛图相匹配的指数值,就像在指标中一样。

试试吧,应该能行

 
Vitaly Muzichenko #:

试试吧,应该能行。

它不是这样工作的。我在指数0中写了300,当一个新的蜡烛图出现时,它应该是指数1中的300,但是没有。

#property strict

int bars;
double arr[];

int OnInit()//////////////***OnInit()****///*************OnInit()*******/////////***/////////////////////OnInit()
{
   Comment("");
   
   bars = Bars(NULL, 0);
   bool series = ArraySetAsSeries(arr, true);
   int size = ArraySize(arr);
   int res = ArrayResize(arr, bars);
   arr[0] = 300;

   return(INIT_SUCCEEDED);
}//+------------------------------------------------------------------+
void OnDeinit(const int reason)//////////////**////////*OnDeinit()****////////////////////*************OnDeinit()
{       
        Comment("");  
}//+------------------------------------------------------------------+
void OnTick()//////////////***OnTick()****///*************OnTick()**********/////////////////////////////OnTick()
{
   if(bars!=Bars(NULL, 0))
   {
        bars=Bars(NULL, 0);
        int res = ArrayResize(arr, bars);
   }
   
   Comment(TimeCurrent(), "  ", bars, "  ", arr[0], "  ", arr[1], "  ", arr[2], "  " , arr[3]);
}//+------------------------------------------------------------------+

我可以在新的蜡烛图的循环中自己写整个数组的 "位移",但处理图表的语言,可能有一些标准。

 
Andrey Sokolov #:

它不是这样工作的。我在指数0中写了300,当一个新的蜡烛出现时,它在指数1中应该是300,但它不是。

我可以在新烛台的循环中自己写整个数组的 "位移",但在处理图表的语言中,可能有一些标准。

它翻转了,但没有任何意义。

#property strict

int bars;
double arr[]={};

int OnInit()//////////////***OnInit()****///*************OnInit()*******/////////***/////////////////////OnInit()
{
   Comment("");
   
   bars = Bars(NULL, 0);
   int size = ArraySize(arr);
   int res = ArrayResize(arr, bars);
   arr[res-1] = 300;
   ArraySetAsSeries(arr, true);
   return(INIT_SUCCEEDED);
}//+------------------------------------------------------------------+
void OnDeinit(const int reason)//////////////**////////*OnDeinit()****////////////////////*************OnDeinit()
{       
        Comment("");  
}//+------------------------------------------------------------------+
void OnTick()//////////////***OnTick()****///*************OnTick()**********/////////////////////////////OnTick()
{
static int res;
   if(bars!=Bars(NULL, 0))
   {
        bars=Bars(NULL, 0);
        res = ArrayResize(arr, bars);
   }
   
   Print(res, "  ", arr[0], "  ", arr[1], "  ", arr[2]);
}//+------------------------------------------------------------------+

它需要以另一种方式来填补

 
Andrey Sokolov #:

它不是这样工作的。我在指数0中写了300,当一个新的蜡烛出现时,它在指数1中应该是300,但它不是。

我可以在新烛台的循环中自己写整个数组的 "位移",但在处理图表的语言中,可能有一些标准

是的,有一个标准的......添加到数组中并从数组中删除。该阵列应该是动态的。在文档中寻找更多细节,我不记得它们是怎么写的...