ошибки и дисфункции - страница 2

 
angevoyageur:

Не стоит ожидать чего-то другого, кроме того, что описано в документации.

Количество буферов в индикаторе должно быть объявлено заранее с помощью директив компилятора, например:

#propertyindicator_buffers 3// Количество буферов
#propertyindicator_plots 2// количество графиков

Количество буферов, используемых для построения графиков, зависит от типа индикатора. Этот тип может быть задан динамически. Поэтому у компилятора нет способа определить правильное использование буферов. Приведенное выше объявление может быть использовано с 2 графиками по 1 буферу, третий с INDICATOR_CALCULATIONS, или 1 график по 1 буферу и 1 по 2 буфера, или...

MQL5 дает вам большую гибкость, и только от вас зависит, как логически связать ваш буфер с вашим индикатором (индикаторами). Это не баг.

я бы не назвал это багом, это дисфункция. впредь я буду уточнять, считаю ли я отчет багом или дисфункцией.

Я понимаю концепцию #pragma, но если я объявляю через #pragma.

#property indicator_buffers 3
#property indicator_plots   3

это не означает, что я буду использовать 3 буфера и 3 графика, это означает, что я ограничил использование ресурсов максимум 3 буферами и максимум 3 графиками, чтобы система знала, сколько памяти и/или других ресурсов она должна зарезервировать при запуске моего индикатора.

Итак, независимо от объявленных мною максимумов, истинное использование определяется через динамическое распределение.
Поэтому, когда я объявляюбуфер индикатора какбуферINDICATOR_CALCULATIONS, я не ожидаю, что он будет виден на графике.

 
angevoyageur:

Какие объекты вы рисуете, первый кажется линией тренда, а второй имеет только 2 опорные точки?

Какие у вас настройки для чувствительности магнита?

это расширение фибоначчи, чувствительность магнита установлена на 50. но он не работает правильно и на меньших значениях, например 20.

и на других типах объектов, таких как линии тренда.

 
graziani:

g #4

магнит (tools->options->charts->magnet sensitivity) не работает корректно со свечами.

выбранные точки располагаются не на типичных точках свечи (high/low/...), а в пространстве между ними.

Рядом с этим, если вы перемещаете одну точку, другие также перемещаются, хотя вы хотели переместить только одну.

Я думаю, что привязка работает только тогда, когда вы отпускаете опорную точку, а не во время ее перетаскивания. Я знаю, что это работает по-другому, например, в Ninja, но я думаю, что это обычное поведение для MetaTrader.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
  • www.mql5.com
Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding - Documentation on MQL5
 
RaptorUK:
Я думаю, что привязка работает только тогда, когда вы отпускаете опорную точку, а не во время перетаскивания. Я знаю, что в Ninja это работает по-другому, но я думаю, что это обычное поведение для MetaTrader.
Нет, в MT4 это работает правильно.
 
graziani:

я бы не назвал это багом, это дисфункция. впредь я буду уточнять, считаю ли я отчет багом или дисфункцией.

Я понимаю концепцию #pragma, но если я объявляю через #pragma.

это не значит, что я буду использовать 3 буфера и 3 графика, это значит, что я ограничил использование ресурсов максимум 3 буферами и максимум 3 графиками, чтобы система знала, сколько памяти и/или других ресурсов она должна зарезервировать при запуске моего индикатора.

Таким образом, независимо от максимумов, которые я объявил, истинное использование определяется через динамическое распределение.
Поэтому, когда я объявляюбуфер индикатора какбуферINDICATOR_CALCULATIONS, я не ожидаю, что он будет виден на графике.

Можете ли вы показать фрагмент кода, который вы использовали для этой "дисфункции"?
 
RaptorUK:
Я думаю, что привязка работает только тогда, когда вы отпускаете точку привязки, а не во время перетаскивания. Я знаю, что это работает по-другому, например, в Ninja, но я думаю, что это обычное поведение для MetaTrader.
Понятно, привязка по оси X работает при перемещении в MT4, но не в MT5.
 
graziani:

это расширение фибоначчи, чувствительность магнита установлена на 50. но он не работает правильно и на меньших значениях, например, 20.

и другие типы объектов тоже, например, линии тренда.

Я не очень привык к этому виду инструментов, но мне кажется, что это работает, нет?

Чувствительность магнита

 
angevoyageur:
Можете ли вы показать фрагмент кода, который вы использовали для этой "дисфункции"?

Ладно, кажется, мы уже уходим от моей идеи сообщить об этой "дисфункции".

Дело в том, что когда вы определяете динамический массив с помощью SetIndexBuffer(int, double,ENUM_INDEXBUFFER_TYPE), логично предположить (так как в документации это не указано), что определив

   SetIndexBuffer(0, all, INDICATOR_DATA);
   SetIndexBuffer(1, up, INDICATOR_DATA);
   SetIndexBuffer(2, down, INDICATOR_CALCULATIONS);

нельзя будет увидеть существование третьего буфера нигде: ни на графике, ни в свойствах индикатора, ни из советника, использующего этот индикатор.
Тем более, что вы ОБЯЗАНЫ определить характер использования этого динамически выделяемого массива.
(Еще раз повторю, что определение количества буферов и графиков через #pragmas НЕ означает, что вы будете использовать их все. )

Но кроме того, что это неправда, похоже, что это не очевидно и для опытных программистов, поэтому я не вижу смысла в данный момент сообщать о подобных "дисфункциях".

Итак... должен ли я сообщать о подобных вещах или нет?

Я попробую еще раз с чем-то подобным, но в данный момент это кажется пустой тратой времени (не только моего) ;)

 
angevoyageur:

Я не очень привык к такого рода инструментам, но мне кажется, что это работает, нет?


Я не могу поверить, что вы не можете воспроизвести эту неудачу с первой попытки.

Просто установите чувствительность на 20/50 и попробуйте передвинуть опорные точки трендовой линии, фибо или любого объекта.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
  • www.mql5.com
Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding - Documentation on MQL5
 
RaptorUK:
Понятно, привязка к оси X работает при перемещении в MT4, но не в MT5.

да!

и он защелкивается на неправильном уровне!

и когда вы перемещаете другие точки, все точки, которые не защелкнуты, также перемещаются, хотя они не должны.

почему я первый заметил это?

Я заметил это раздражающее поведение после использования MT5 в течение 10 минут 6 месяцев назад.

Причина обращения: