在MQL5中一起学习和写作 - 页 36

 

谢谢你如此全面的回答,并为我在研究文档时的匆忙和不注意而道歉;答案确实包含在OnCalculate函数的描述中。

显然,我在学习过程中过于急功近利,错过了学习OnInit和OnCalculate的描述。

Yedelkin:

这些句子是否回答了你的问题?

MetaDriver

在这种情况下,这些数值无法正确计算(没有足够的历史来计算它们),所以它们被愚蠢地分配为零值。

// 我更希望给他们分配相应的输入数据,但这并没有什么区别。

错误地提出了问题(这很明显,我在行文的注释中也写了,我理解为空值赋值是存在的)。套用一句话

Profi_R:

我把打印出来,看到ExtLineBuffer中除0以外的 值从索引limit-1到索引rate_total-1 被分配,但在图表中,指标是在整个空间中绘制的,嗯,那么在0到 limit-1的空间中,指标缓冲区 除0以外)是在哪里分配

它们不能被计算,也没有意义,这一点从一开始就很清楚。我看了一下,在第0条上,简单平均数(指标)的值等于最大的价格值(不一定),起初我以为是关于图表上显示和存储在历史上的条数,我把这个设置选项切换到unlimit,结果没有改变,第一个(左边)限制条上的指标被画出来,其值与0不同。
 
Profi_R:

谢谢你如此全面的回答,我为我在研究文档时的匆忙和不注意而道歉,答案确实包含在OnCalculate函数的描述中。

显然,我在学习过程中过于急功近利,错过了学习OnInit和OnCalculate的描述。

好的。

释义

它们不能被计算,也没有意义,这一事实从一开始就很清楚。我看了一下,在0条的时候,一个简单的平均数(指标)的值,相当于最大的价格值(不一定),起初我以为是关于图表上显示的条数 和存储在历史上的条数,我把这个设置切换到 "无限",结果没有改变,指标在第一个(左边)条上绘制,而且其值与0不同。

我检查了一下,看起来是一样的。 设置中的历史是100000条,我不想检查任何无限制的,我相信它)。

我对 "怎么可能 "没有答案,最好的办法是问开发者(例如,在 "bug,bug,问题 "主题中,开发者会经常访问它)。

我相信这里不会出现奇迹,最可能的是终端没有显示所要求的所有历史,最左边的可用(程序)条被简单地排除了。:)

 
Profi_R:
它们不能被计算,也没有意义,这一事实从一开始就很清楚。我看了一下,在0条的时候,简单平均数(指标)的值,等同于最大的价格值(不一定),起初我以为是关于图表上显示的条数 和存储在历史上的条数,我把这个选项换成了无限,结果没有改变,在第一个(左边)条上的指标被画出来,其值与0不同。
科学地做了这个:在行中for(i=0;i<limit-1;i++) ExtLineBuffer[i]=0.0; 用1替换0,看看它出现在哪里。与以前获得的结果进行比较。
 
MetaDriver:

我确信这里不会出现奇迹,最可能的是终端并不完全显示所有要求的历史,最左边的可用(程序)条只是停留在视野之外。:)

是的,事实证明,整个历史深度是计算出来的(没有链接到图表上),只是不足以启用深度,显示在图表上,你必须重新启动终端或再次打开图表,只有这样这个选项才会生效。这段代码现在完全清楚了。
Документация по MQL5: Операции с графиками / ChartOpen
Документация по MQL5: Операции с графиками / ChartOpen
  • www.mql5.com
Операции с графиками / ChartOpen - Документация по MQL5
 

一般来说,你应该从如何在MQL5中写一个指标MQL5中的 指标的文章开始。

此外,在论坛的相应部分有一个专门的主题,旨在回答此类问题--你需要知道的指标

 
Rosh:

一般来说,你应该从如何在MQL5中写一个指标MQL5中的 指标的文章开始。

此外,在论坛的适当部分有一个专门的主题,旨在回答此类问题 -你需要知道的指标

))))),很高兴看到你身体健康,愿你原谅我的火气。谢谢,我会考虑的 )
 
很高兴在5号台看到你 :)
 
晚上好,我正在调查交易请求结果(MqlTradeResult)的结构。写道,所以这个结构的打印量分别在Print(999999999999999999)之间。
 OrderSend(request,result);

      int Error=GetLastError(); ResetLastError();
        printf("Error %i ",Error);
      
        Print(i);
        
       Print(999999999999999999); 
        uint re= result.retcode;
         Print( "Код результата операции");
        Print( re);  
      // int re=
       ulong  ru= result.   deal;
        Print( "Тикет сделки, если она совершена");
       Print( ru); 
       
         ru= result.  order;
        Print( "Тикет ордера, если он выставлен");
        Print( ru);
        
         double    rd= result. volume;
         Print( "Объем сделки, подтверждённый брокером"); 
         Print( rd); 
       
          rd= result.  price;  
        Print( "Цена в сделке, подтверждённая брокером");  
       Print( rd);
      
           rd= result. bid;     
       Print( "Текущая рыночная цена предложения (цены реквота)"); 
         Print( rd); 
      
            rd= result. ask;   
        Print( "Текущая рыночная цена спроса (цены реквота)"); 
         Print( rd); 
      
          string    rs= result. comment;  
           Print( "Комментарий брокера к операции (по умолчанию заполняется расшифровкой)"); 
         Print( re);
      
         //    re= result.  request_id;   
       //    Print( "Идентификатор запроса, устанавливается терминалом при отправке "); 
       //  Print( re);
         
          
                   
      Print(999999999999999999); 
对于许多数值,打印出来的是零,那是什么?
 
Dimka-novitsek:
晚上好,我正在调查交易请求结果(MqlTradeResult)的结构。我为这个结构分别写了Print(999999999999999999);对于许多值,Print写的是0,这是什么?

我们为什么要写这些句子?我们为什么不分析一下结果呢?

uint re= result.retcode;
         Print( "Код результата операции");
         Print( re);  

关于零点:什么样的零点会造成干扰?

 
谢谢你!目前的买卖价格为零。交易票.购票顺序。对了,这就是爸爸。
Документация по MQL5: Торговые функции / OrderGetTicket
Документация по MQL5: Торговые функции / OrderGetTicket
  • www.mql5.com
Торговые функции / OrderGetTicket - Документация по MQL5