Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1417

 
Maxim Kuznetsov #:

CopyRates() вместо пачки индикаторов и правки кода станут минимальными, код останется компактным и читаемым.

в реальности надо ещё добавлять проверку на кривые котировки

Максим, разве CopyRates не представлен в качестве получать все возможности символа?

дешевле есть индивидуальные функции

 
lynxntech #:

Максим, разве CopyRates не представлен в качестве получать все возможности символа?

дешевле есть индивидуальные функции

там 1) со слов разработчиков виртуальное копирование, то есть по возможности данные не переносятся, перекидываются внутренние ссылки 2) даже при полном копировании это быстрее чем по отдельности CopyBuffer для iHigh,iLow (1 вызов вместо 2-х, которые всё равно полезут в те-же структуры терминала) 

и наконец-то главное: при портировании крайне важно чтобы код даже визуально был максимально схож с оригиналом. Надо быть полностью уверенным что он (код) делает ровно то-же самое что и оригинал. А мелко-оптимизации это уже сильно после, и только там где действительно критично. 

 
Maxim Kuznetsov #:

там 1) со слов разработчиков виртуальное копирование, то есть по возможности данные не переносятся, перекидываются внутренние ссылки 2) даже при полном копировании это быстрее чем по отдельности CopyBuffer для iHigh,iLow (1 вызов вместо 2-х, которые всё равно полезут в те-же структуры терминала) 

и наконец-то главное: при портировании крайне важно чтобы код даже визуально был максимально схож с оригиналом. Надо быть полностью уверенным что он (код) делает ровно то-же самое что и оригинал. А мелко-оптимизации это уже сильно после, и только там где действительно критично. 

это вечная проблема на которую не хотят отвечать разработчики

что дешевле все что можно получить разом, или 2 нужные части

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

 
lynxntech #:

это вечная проблема на которую не хотят отвечать разработчики

что дешевле все что можно получить разом, или 2 нужные части

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

прошлый вопрос - это про обращение к GlobalVariables ? 

это очень "дорогая операция", поэтому чем реже тем лучше. Сохранять данные между OnDeinit и OnInit лучше через файлы и SQLite. 

 
Maxim Kuznetsov #:

прошлый вопрос - это про обращение к GlobalVariables ? 

это очень "дорогая операция", поэтому чем реже тем лучше. Сохранять данные между OnDeinit и OnInit лучше через файлы и SQLite. 

Максим когда проверяли глобальные переменные терминала?

я излишне настаиваю, возможно и не стоит использовать, но почему он так могут быть медленные? 1кб текста вообще не проблема иметь

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

 
lynxntech #:

Максим когда проверяли глобальные переменные терминала?

я излишне настаиваю, возможно и не стоит использовать, но почему он так могут быть медленные? 1кб текста вообще не проблема иметь

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

когда использовал :-) как-то поставил в частый таймер и потом долго разбирался отчего нагрузка и в комплексе всё тормозит..А если ещё не ставить флажок temporary, то могут и дырку в SSD провертеть

они хоть внешне и похожи на Atomic, но ни разу не они. 

не то чтобы их совсем не надо использовать, но трижды подумать и написать самому себе объяснительную в стиле "находясь в трезвом уме и здравой памяти, без стороннего принуждения, решился использовать GlobalVars с целью XXX и ничего иного"

 
Maxim Kuznetsov #:

когда использовал :-) как-то поставил в частый таймер и потом долго разбирался отчего нагрузка и в комплексе всё тормозит..А если ещё не ставить флажок temporary, то могут и дырку в SSD провертеть

они хоть внешне и похожи на Atomic, но ни разу не они. 

не то чтобы их совсем не надо использовать, но трижды подумать и написать самому себе объяснительную в стиле "находясь в трезвом уме и здравой памяти, без стороннего принуждения, решился использовать GlobalVars с целью XXX и ничего иного"

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

Конечно Ренат часто упоминал что ssd стоят копейки сейчас, наверное он забыл свой уровень дохода, и рядовых граждан

 

Всем привет!

Интересует такой вопрос. Можно ли с индикатора получить данные в советник. Кроме тех, которые хранятся в буфере?

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

 
Alexey Belyakov #:

Всем привет!

Интересует такой вопрос. Можно ли с индикатора получить данные в советник. Кроме тех, которые хранятся в буфере?

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

Через глобальную переменную, или самому в файл писать - это если штатными средствами.

 

Пытался обходными манёврами задачу решить, только усложнил, и время потерял. Прошу помощи.  Суть такая:

Есть индикатор (прикрепил). Пытаюсь просуммировать все расстояния между вершинами и основаниями, чтобы найти среднюю серию в ПУНКТАХ, а потом и в СВЕЧАХ.

То есть найти сумму расстояний, и количество. 

Единственное, что смог сделать это забраться в сам индикатор, и вставить вот это:

Но очень неудобно . Так как выдаёт следующее:


То есть, одно и тоже значение выдаёт многократно (каждый тик). Как сделать чтобы выдавал уже готовый результат единожды, (к примеру: Среднее количество cвечей между вершинами и основаниями,  или Общая сумма расстояний в пунктах/свечах между верш, и основаниями)

Файлы: