Индикатор от индикатора

 
В эту тему были перенесены комментарии, не относящиеся к "Ошибки, баги, вопросы".
 

Ребята, ктонить может объяснить внятно, почему, когда вызываю индикатор из индикатора, получаю совсем другое значени... Не то что показывает сам индикатор. Я понять не могу, там кода всего три строчки и он не работает, Ктонить может объяснить почему????

В принты выводятся значения первого бара, но они отличаются. Хотя индекс бара одинаковый. Это вообще как такое может быть???

Принт стоит в Основном и вызываемом индикатора. НО как видно на картинке в одном и томже индикатое с одинаковым индексом значения абсалютно разные.

Это такой юмор метаквотовский или что??? Что то мне нифига не смешно. Уже неделю не могу побороть этот недуг и подсказать не кому...

Файлы:
AD_1.mq5  9 kb
Buy_Si_Help.mq5  10 kb
 
2017.06.06 10:13:30   AD #1 -1920  1
2017.06.06 10:13:30   Buy Si Help #1 -1920
2017.06.06 10:37:00   AD #1 -1918  1
2017.06.06 10:37:00   Buy Si Help #1 -1918

df

Файлы:
AD_1.mq5  9 kb
 
Vladimir Karputov:

df


У меня выводит вот так....

Кидаю эти два индюка на М1 и при появлении бара картинка сверху...

 

Не понятно что не так. Но индикаторы считают по разному Мой вариант и Ваш... В чём разница, разбиратся буду позднее. Или напишите что Вы там поменя кроме как стринг??? Спасибо!

 

К сожалению проблема так и не решилась. На маленьких ТФ, когда инструмент не леквидный и есть пропуски баров. Вернее отсутсвие сделок, то начинается свистопляска с синхронизацией и т.д. Признатся честно я глубоко разочаровался в Пятёрке из за этого. Столько твердили об этом. А какие заявления делали разработчики о мультивалютности.....И всё это оказалось ерундой, потомоу как при наиличии пропусков по инструменту. Вызывая индикатор при компиляции получаем одни результаты, при тестировании результаты совсем другие. Какието данные в определённый момент берутся правильно. Но если на вызываемом инструменте есть дыры, то результат вызова индикатора с такого инструмента станвоится просто не предсказуем.... Почему я так думаю....???

Я скомпилировал индикатор на Н1 и получил принты. Потом на Н1 прогнал тестер и всё ок, все принты совпадают, а вот на М5 принты при компилировании и после теста отличаются. Не все, но какието отличаются чтобы я ни делал.... Ну так что??? Есть какоето решение этой проблемы???

 

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

А вот скрин из тестера. РАзница налидцо. В один и тот же сигнал получаются совершенно разные результаты.

Признаться думал что такой простеньккий по сути вопрос уж в МТ5 решён, ан нет. Дабы не быть голословным прикладываю все необходимые файлы......

Файлы:
 

Не нужно Вам делать такие индикаторы. Делайте простые: один индикатор записывает в буфер цену high, второй индикатор его считывает. И только потом сможете увеличивать сложность: задавать символ на котором будут работать индикаторы, добавлять формулы ... В общем Вам необходимо пройти стандартный путь посвящения. А пока от Вас только шум и голословные выкрики при полном непонимании работы с индикаторами.

 
Vladimir Karputov:

Не нужно Вам делать такие индикаторы. Делайте простые: один индикатор записывает в буфер цену high, второй индикатор его считывает. И только потом сможете увеличивать сложность: задавать символ на котором будут работать индикаторы, добавлять формулы ... В общем Вам необходимо пройти стандартный путь посвящения. А пока от Вас только шум и голословные выкрики при полном непонимании работы с индикаторами.


В чём собственно не понимание??? Вы нашли ошибку в коде???

 

Дело в том что в расчете индикатора AD данные зависят от количества баров, в тестере ты берешь за определенную дату и расчет индикатора ведется с даты старта, а в терминале показания от имеющейся истории. На картинках ниже это видно


 
Rafil Nurmukhametov:

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



Всё верно, но проблема в том что я беру не сам АД, а его разницу между 10 баров. И поэтому становится совсем не важно с какой даты идёт расчёт, разница должна быть одинаковой при любом старте расчётов. Именно поэтому графически всё одинаково, а единицы исчисления разные. НО разница между 10 барами должна быть одинаково при любом старте. А она разная. Это я уже так показал в примере, азял просто значение АД.....

Вот собственно скрин где АД(i)-АД(i+5)

Тестер

Или Вы считаете что тут тоже всё зависит от начала расчёта??? Ваша версия конечно имеет место быть, но не то.... 

У меня просто вопрос к разработчикам. Зачем нужно было делать параметр символа при вызове икустома, если использование  другого символа отличного от текущего приводит к какимто непонятным результатам. Вводите народ в заблуждение???

Хотел тупо взять стандартный АД с другого символа, в итоге прихожу к выводу что нужно писать свой АД с кучей проверок синхронизации и т.д. Хрень полная, если честно. И мультивалютность МТ5 это громко сказанно. Может быть я ошибаюсь конечно. НО ещё никто не указал на ошибку в коде......