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

 
Artyom Trishkin:

没有人会去看那种衬衫。


那还有什么可看的呢?"鞑靼人 "是Murrey-levels-系统指标(我想很多人都知道)。问题是如何从中 "提取"。

为iCustom()提供正确的数据。

 
psyman:

为什么我不能使用动态数组?

在这种情况下,我把收盘价覆盖在那里,没有任何计算。

我在哪里可以读到如何使用指示剂缓冲器?

它可以在这里找到:https://book.mql4.com/ru/samples/icustom

Создание пользовательских индикаторов - Простые программы на MQL4 - Учебник по MQL4
Создание пользовательских индикаторов - Простые программы на MQL4 - Учебник по MQL4
  • book.mql4.com
При создании торговой стратегии у разработчика часто возникает необходимость графически отобразить в окне финансового инструмента некоторую зависимость, рассчитанную пользователем (программистом). Для этой цели в языке MQL4 предусмотрена возможность создания пользовательских индикаторов. Пользовательский индикатор - это программа, составленная...
 

它告诉你如何进行计算并将其传递给终端显示。

我没有中间计算输出的地方,所以我的学校编程知识告诉我,一个动态数组在每一个i++上增加就可以满足这个要求。

为什么要用缓冲器,这对我来说是个谜,而且现在还没有答案。

 
psyman:

为什么我不能使用动态数组?

在这种情况下,我把收盘价覆盖在那里,没有任何计算。

我在哪里可以读到如何使用指示剂缓冲器?

你可以使用它。但在你写之前,应该增加它的尺寸。你可以在文档中读到它。你已经在你的指标中声明了一个缓冲区。

psyman

他们告诉你如何进行计算并将其发送到终端进行显示。

我没有在任何地方输出中间值,所以我在学校的编程技巧告诉我,一个每隔i++就递增的动态数组就可以了。

为什么要用缓冲器,这对我来说是个谜,我还没有答案。

只有指标缓冲区 阵列的大小会随着每一个i++而自动增加。
IndicatorBuffers - Пользовательские индикаторы - Справочник MQL4
IndicatorBuffers - Пользовательские индикаторы - Справочник MQL4
  • docs.mql4.com
Количество буферов не может превышать 512, а также не может быть меньше значения, указанного в свойстве #property indicator_buffers. Если пользовательский индикатор требует дополнительных буферов для расчета, то необходимо использовать функцию IndicatorBuffers() для указания общего числа буферов...
 

=你可以在文档中读到它


请给我链接。

我添加了SetIndexBuffer(1, tmp1),但没有任何变化。

据我所知,当一个数组被分配到一个缓冲区时,它被当作一个同名的数组来寻址,但它实际上是一个缓冲区。是这样吗?

 
psyman:

=你可以在文档中读到它


请给我链接。

我添加了SetIndexBuffer(1, tmp1),但没有任何变化。

据我所知,当一个数组被分配到一个缓冲区时,它被当作一个同名的数组来寻址,但它实际上是一个缓冲区。对吗?

注意事项

缓冲区的数量不能超过512,也不能小于#property indicator_buffers 属性中指定的值。 如果自定义指标需要额外的缓冲区进行计算,你必须使用IndicatorBuffers()来指定缓冲区的总数量

然后有一个例子。如果有一个缓冲区用于显示,需要一个缓冲区用于计算,那么IndicatorBuffers应该有2个,然后才是SetIndexBuffer(1, tmp1);而事先在全局变量级别声明数组。

 
Anatoliy Ryzhakov:

那么,在这里看什么呢?"小道消息 "是Murrey-levels-系统指标(我想很多人都知道)。问题是如何正确地从中 "提取"。

为iCustom()提供正确的数据。

再一次。仔细观察图片。


[删除]  
psyman:

为什么我不能使用动态数组?

在这种情况下,我把收盘价覆盖在那里,没有任何计算。

我在哪里可以读到如何使用指示剂缓冲器?

你不明白的事情!?

动态数组 用于记录动态数据(即传入的报价、时间等)。

动态数组不应该被用于计算中。

所以,这很简单--要么你写,要么你算!!。

我希望这很清楚(!!???)。

如果我们谈论的是指标,那么指标(一般说来!)应该是超额的。但在MT4/MT5中,我们没有看到这一点!

在MT4/MT5中,所有指标都是动态的。(或者还有其他的?--我不知道。我没有全部检查过,但我没有看到其他的)。

我不知道,是好是坏--我不做评判。

MT4/MT5的标准指标都是动态的(如果我错了,请纠正我!但我没有看到其他的)。

因此,在解决你的问题之前,应该先制定好方案。

你想记录什么或精确什么?

之后再决定你想要哪些数组。

我希望我已经说得很清楚了。

 
neverness:

你不明白的事情!?

动态数组 用于记录动态数据(即传入的报价、时间等)。

动态数组不应该被用于计算中。

所以,这很简单--要么你写,要么你算!!。

我希望这很清楚(!!???)。

如果我们谈论的是指标,那么指标(一般说来!)应该是计算出来的。但在MT4/MT5中,我们没有看到这一点 !

我不知道,它是好是坏--我不会评判。

MT4/MT5的标准指标都是动态的(如果我错了,请纠正我!但我没有看到其他的)。

因此,在解决你的问题之前,应该先制定好方案。

你想记录什么或精确什么?

之后再决定你想要哪些数组。

我希望我已经说得很清楚了。

但这是不对的。

谁阻止你使用动态数组进行计算?动态数组的大小(如果它不是指标缓冲区,它是由子系统监控的)必须由你自己观察,必要时你可以改变其大小。但静态数组总是有一个预定义的大小--它完全取决于任务。

如果我们谈论的是指标,那么指标(一般说来!)应该是计算出来的。但在MT4/MT5中,我们没有看到这一点!

这是什么毫无根据的胡说八道?绝大多数指标除了计算和显示必要和足够数量的计算数据外,什么都不做。所有的时间,在每一次打勾。

怎么会有这么多的谩骂声?来自无知?那么最好保持沉默。然后人们会说他们是在MK的官方论坛上看到的。你是在故意制造谎言吗?

 

我在私下里创建了一个变量

我试着用一个类方法 来处理它

它说该变量未被声明

???