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

 

雷纳特,请给予推荐或任何其他评论

对我来说,在困难的问题上,最后一页https://www.mql5.com/ru/forum/160683/page1434#comment_21634884

我可以提供3个机器人的打印件,其中有2个通道。
 

请告知如何向您的账户添加资金以及如何提取资金(充值和提款按钮的位置)。

 
feniok83:

你能告诉我如何存入你的交易账户以及如何提款吗(存款和提款按钮在哪里)?

到经纪人网站上的个人账户。

 

当设置mql5缓冲区的属性 在属性的顺序上是否有依赖性?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_CALCULATIONS);
SetIndexBuffer(2,Buffer3,INDICATOR_DATA);

或者先指定日期,再进行计算?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_DATA);
SetIndexBuffer(2,Buffer3,INDICATOR_CALCULATIONS);

缓冲区的索引 中的类型会改变,很明显,我们不考虑这个问题。
我所感兴趣的是属性本身的顺序。
属性的顺序是否影响正确性?

这个问题是由以下情况引起的。
我试图在一个程序中通过第一个指标的值来计算第二个指标。
我尝试在(4 , Buffer5, INDICATOR_DATA)
中显示第二个指标的结果,但无法显示,就是不显示。
我打印了Buffer5[]来检查,在打印机中一切正常事实证明,问题出在显示上。
我不明白该在哪里挖掘。#
Buffer1和
Buffer2都显示出来了,但是Buffer5却不想显示。
我试着用动态属性PlotIndexSetInteger(),结果一样。
缓冲区5不显示
缓冲区1和缓冲区2 被设置为系列,并记录数值 for(int i=limit; i>=0; i--)
缓冲区5被设置为常规阵列,并记录数值 for(int i=pos; i<total-1; i++)
即所有缓冲区的值都从左到右写。这里应该没有任何问题。没有错误或警告。
我应该在哪里挖?

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
//indicator1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_NONE
#property indicator_type4   DRAW_NONE

//indicator2
#property indicator_type5   DRAW_ARROW
#property indicator_color5  clrGoldenrod
#property indicator_style5  STYLE_DOT
#property indicator_width5  1

#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1,   INDICATOR_DATA);
SetIndexBuffer(1, Buffer2,   INDICATOR_DATA);
SetIndexBuffer(2, Buffer3,   INDICATOR_CALCULATIONS);
SetIndexBuffer(3, Buffer4,   INDICATOR_CALCULATIONS);
//indicator2 buffers 
SetIndexBuffer(4, Buffer5,   INDICATOR_DATA);
SetIndexBuffer(5, Buffer6,   INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7,   INDICATOR_CALCULATIONS);
 
Roman:

当设置mql5缓冲区的属性 在属性的顺序上是否有依赖性?

或者先指定日期,再进行计算?

缓冲区索引 中的类型会改变,这很清楚,我们不考虑它。
我所感兴趣的是属性本身的顺序。
属性的顺序是否影响正确性?

只有数据缓冲区和颜色缓冲区 的顺序会影响到正确性。

一般来说,如果一个建筑有2-3-4个缓冲区,它们应该是在一排。

在你的例子中没有区别,但有第二个选项更好,这样你就不会把缓冲区号码和构建号码混淆。

 
Alexey Viktorov:

只有数据缓冲区和颜色缓冲区 的顺序会受到影响。

一般来说,如果一个建筑有2-3-4个缓冲区,它们应该是在一排。

在你的例子中没有区别,但有第二个选项更好,这样你就不会把缓冲区号码和构建号码混淆。

我已经设置了这一序列的缓冲区属性

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_ARROW
#property indicator_color3  clrGoldenrod
#property indicator_style3  STYLE_DOT
#property indicator_width3  1

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1, INDICATOR_DATA);
SetIndexBuffer(1, Buffer2, INDICATOR_DATA);
SetIndexBuffer(2, Buffer5INDICATOR_DATA);
SetIndexBuffer(3, Buffer3, INDICATOR_CALCULATIONS);
SetIndexBuffer(4, Buffer4, INDICATOR_CALCULATIONS);
SetIndexBuffer(5, Buffer6, INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7, INDICATOR_CALCULATIONS);

即先显示所有的INDICATOR_DATA,然后是所有的INDICATOR_CALCULATIONS
#属性被编辑成序列
,哦,我的上帝,三个缓冲区都显示出来了。
事实证明有一个依赖关系,首先我们把所有的日期,然后是所有的计算。

 
Roman:

我对缓冲区属性的顺序做了如下设置

即首先所有显示的INDICATOR_DATA ,然后所有INDICATOR_CALCULATIONS
#属性编辑成序列
,哦,我的上帝,所有三个缓冲区都显示出来了。
原来有一个依赖关系,先放所有的日期,再放所有的计算。

我还没有做过实验,但我认为有可能让它对不一致声明的映射缓冲区也能工作。如果我感到无聊,我会用它来做实验。(如果我不忘记的话)。

只有这几句话

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE
是不必要的。缓冲区4-7被声明为辅助性的,与结构没有任何关系。
 
Alexey Viktorov:

我还没有做过实验,但我认为有可能使它在不一致的声明的映射缓冲区也能工作。如果我感到无聊,我会用它来做实验。(如果我不忘记的话)。

只有这些线

我认为它们没有必要。缓冲区4-7被声明为辅助性的,与结构没有关系。

我试图评论出

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

和显示这三种结构都变得不正确。
我取消了它们的注释,一切都恢复了正常。
事实证明,编译器需要它们。

 
Roman:

事实证明有一种依赖性,把所有的日期放在第一位,然后再进行所有的计算。

是的,常规缓冲区的顺序(直方图-箭头-线)也很重要。
最近花了几个小时寻找一个 "错误"--为什么简单的缓冲区没有全部显示在图表上。

当有几十个缓冲区时,增加一个新的缓冲区是很麻烦的。

 
Taras Slobodyanik:

是的,而且常规缓冲区(直方图-箭头-线)的一致性也很重要。
我最近花了几个小时来寻找一个 "错误"--为什么简单的缓冲区没有全部显示在图表上。

当有几十个缓冲区的时候,增加一个新的缓冲区是很麻烦的。

是的,带有指标缓冲区的语言逻辑不是最好的。我在某处看到,以µl为单位的指示器缓冲液 需要以正确的顺序进行全面描述。而这是正确的,并不方便。

原因: