[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 478

 

和你在这里的主要错误

      ExtMapBuffer3[i]=iMAOnArray(ExtMapBuffer4,0,МА_ТЛ,0,Вид_МА_ТЛ,0); //рассчет значения для расчета Третьей Линии (ТЛ)

你必须这样去做。

      ExtMapBuffer3[i]=iMAOnArray(ExtMapBuffer4,0,МА_ТЛ,0,Вид_МА_ТЛ,i); //рассчет значения для расчета Третьей Линии (ТЛ)
 
midorum:

首先,尝试将第四个不可显示的缓冲区ExtMapBuffer4与指示器缓冲区连接起来

因为你写

在开始时,你描述了3条线/缓冲区

顺便说一下,那么你就不需要把它声明为一个时间序列并对其进行检查。

谢谢你的答复...最后点一下i,我想了解一下这个问题。

1.你写道:"首先尝试将第四个非映射缓冲区ExtMapBuffer4与指标缓冲区联系起来"。我以为只有那些数组应该被绑定,这些数组应该以这样或那样的方式显示在客户终端屏幕上,而参与自定义指标 计算的所有数组的总数应该用IndicatorBuffers函数指定。所以我一定是搞错了?

2.如果你不介意,为什么不把这个数组声明为一个时间序列?它是以某种方式自我组织成一个时间序列吗?

 
7777877:

谢谢你的答复...为了最终确定这一点,我还想弄清楚一件事。

1.你写道:"首先,尝试将第四个非映射缓冲区ExtMapBuffer4连接到指标缓冲区"。我以为只有那些数组应该被绑定,这些数组应该以这样或那样的方式显示在客户终端屏幕上,而参与自定义指标计算的所有数组的总数应该用IndicatorBuffers函数指定。所以我错了?

2.如果对你来说不难,请解释一下为什么我们不应该把这个数组声明为一个时间序列?它是否以某种方式自我组织为一个时间序列?

正是如此,它被自动组织成一个时间序列

你在开始时描述了可见的指标缓冲区

使用IndicatorBuffers(),你可以将自动组织的时间序列的数量扩大到8个,并将它们连接到你的数组 中。

 
又是重复的问题,删除旧的问题,谁能帮帮我?


好的。我试着给出问题的要点,也许有人会提出建议或帮助更容易地实现它。

我们在1分钟图上工作。让我们以12年10月29日00:00的图表上的分钟条(高+低/2-条的平均值)--它将成为一个参考点。

然后我们检查与此价格向上的偏差10个点(每个正确的偏差是+1)。

当我们达到与起点的10点偏差时--+1计数器;我们开始检查进一步的偏差,但从我们达到10点偏差的地方开始,并等待价格的下一个10点上涨。

例如,我们得到。

如果(起始点)+10点<=价格(我们使用从起始点开始的所有条形的后续价格。)我们得到一个计数器=计数器+1;并且我们已经从这个点-(起始点+10点)开始起始点。

如果(起始点+10点)+10点<=价格(使用从参考点开始的所有后续条形价格),我们得到counter=Counter+1;并且我们从这个点开始-(起始点+10点)+10点。

如果(起始点+10点+10点)+10点<=价格(我们使用从参考点开始的所有条形的后续价格。)我们得到counter=Counter +1;并且我们从这个点开始-(起始点+10点+10点)+10点。

等等...

直到我们达到一个10的计数器(计数器==10)。

每一个新形成的1分钟条形图(高+低/2-条形图的平均值),我们都要检查这个条件,并等到计数器达到10(计数器==10)。假设两天过去了,每形成一个新的柱状物,我们就检查并转移,如果条件正确的话.....。

当我们达到counter =10时 - 我们输出 "Counter == 10 "的信息。我们将起点比用户最初定义的点提前2天,即从29/10/12的00:00移动到31/10/12的00:00,并重复循环。

重复这个循环,就这样在时间表中移动。

也就是说,我们应该把新形成的条形图画出来(高+低/2-条形图的平均价值)。并检查条件,如果是正确的,就按上述方法移位。

我曾试图通过一个数组来实现它,但它非常混乱,并给出了错误的值帮助我如何实现这个算法!?
附加的文件:
qawer.mq4  3 kb
 
merkulov.artem:

我试图通过一个数组来实现它,它变得非常混乱,并给出了错误的值!!!。帮助如何实现这个算法!

如果你能详细评论你的算法(每条命令和使用的数据),那将是非常好的,因为很难理解做了什么,有什么目的

然后,也许你可以得到一些帮助,或者你自己会发现问题。

 

根据帮助,SetIndexDrawBegin 函数指示从哪个条开始绘制。我拿了一个标准的交流 指示器进行测试,并改变了其中的参数

SetIndexDrawBegin(0,8);
   SetIndexDrawBegin(1,38);
   SetIndexDrawBegin(2,38);

   SetIndexDrawBegin(0,8);
   SetIndexDrawBegin(1,8);
   SetIndexDrawBegin(2,8);

没有任何变化;它从......不是从8巴到0巴开始画,而是从什么巴开始,这一点不清楚。

你可以看到,这不是8...


 
hoz:

根据帮助,SetIndexDrawBegin 函数指示从哪个条开始绘制。我拿了一个标准的交流 指示器进行测试,并改变了其中的参数

没有任何变化;它从......不是从8巴到0巴开始画,而是从什么巴开始,这一点不清楚。

你可以看到,这不是8...


从数据的开始(读作 "从图表的开始""从左边")的条形的序列号,指标的选定线应从该条形开始绘制。指示器的绘制是由左至右进行的。
 
midorum:
设置从数据开始的条形图的序号(读作 "从图表的开始""从图表的左侧"),指示的指标线应从该条形图开始绘制。指标从左到右画出。

例如,如果我需要画出最后30条,那么我应该如何做?

 
hoz:

如果我想画出最后30条,那我该怎么做?

试试Bars-30
 
midorum:
试试Bars-30
不,不是的。从逻辑上讲,它将在左边缩进30个柱子,并画到第0个柱子。