Ошибки, баги, вопросы - страница 251

 
Yedelkin:

Но не надо забывать, что с языком начинают и начнут работать новички, далёкие от профессионального программирования. И которым не известны тонкости умолчательных значений, перегрузок функций, проблемы компилятора, обязательность указания четырёх параметров в тех или иных случаях и т.п. Новички (в том числе и я) работают с тем справочным текстом, который есть, и стараются не домысливать то, чего не знают. Например, если бы все ваши реплики были отражены в Справочнике, то ни у меня, ни у Lizar'а проблем бы не возникло изначально. 

В документации есть раздел Перегрузка функций, где говорится:

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

...

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

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

Ниже приведен алгоритм соответствия для каждого аргумента.

Алгоритм выбора перегруженной функции

  1. Использовать строгое соответствие (если это возможно).
  2. Попробовать стандартное повышение типа.
  3. Попробовать стандартное преобразование типа.
 
alexluek:

Да вот на рисунке , а сервер любой выбираешь (из стандартных)

Оставил терминал на 3 часы М5, прихожу, а там только цена прыгает без

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

Терминал установил сегодня с билтом 373 мт5 (с форума -

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe

И вот еще - может это у меня глючит, но когда выбираешь новый график,

то обновления нет, а бары появляются после перезагрузки терминала. Рис 3

И так вот бегает линия цены, пока не перезапустишь. И появляется только те

которые набежали за это время работы терминала. Может я не то делаю,

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

чегось не обновляет все равно

Приложите пожалуйста лог терминала.
 
Rosh:

В документации есть раздел Перегрузка функций, где говорится:

Вы отвечаете, как профессионал. Который по внешнему виду функции сразу может определить её природу. Попробуйте посмотреть на этот же вопрос с точки зрения не-профессионала.

...Я приводил чёткую формулировку из Справочника, согласно которой "Большинство свойств не требуют указания номера подокна". И объяснил, к чему привела такая формулировка. Предложил внести конкретное уточнение в конкретный раздел Справочника. Вместо этого Вы на форуме отсылаете меня к разделу "Перегрузка фукций". При этом (с точки зрения новичка) в описании функции ChartGetInteger() ничего про перегрузку не говорится.

Разумеется, когда-то я читал про перегрузку функций. И сделал для себя вывод, что не буду для себя создавать перегружаемые функции (чтобы не нарваться на проблемы). О том, что в случае с ChartGetInteger() речь идёт о перегрузке функций, и  предположить не мог, так как об этом сразу могут сказать только профессионалы.

Поэтому повторю ещё раз: не-профессионалы работают с тем справочным текстом (добавлю: по отношению к конкретной функции), который есть, и стараются не домысливать то, чего не знают. Если Вы настаиваете на том, что в Справочнике имеется раздел "Перегрузка функций", и что этот раздел решает все проблемы, то предлагаю сделать следующий шаг : отразить в справочном тексте по конкретной функции ChartGetInteger() информацию о том, что функция является перегружаемой, и к каким последствиям это может привести. Хотя, на мой взгляд, проще внести в Справочник то уточнение, о котором я говорил ранее в пункте 5.

Добавлю. Общими усилиями кругозор мне расширили, так что для меня эта проблема решена. Благодарю. Теперь я веду речь о том, чтобы другие не-профессионалы не наступили на те же самые грабли. Только и всего. В компетенции разработчиков оставить всё как есть - тогда сегодняшнее обсуждение затеряется на форуме, а новички останутся один на один с описанием конкретной функции, какое оно есть. 

 
antt:
Приложите пожалуйста лог терминала.

Извините я его удалил за ненадобностью. Низнаю в чем там дело

но на Альпари все работает, может кому самому попробовать

установить по ссылке с форума "обновления мт5".

Спасибо за помощь - удачи

 
alexluek:

но на Альпари все работает, может кому самому попробовать

Не знаю как сейчас, но вплоть до окончания лета у Альпари были устаревшие билды. Т.е. обновление у них задерживалось на 2-4 недели.
 
Yedelkin:
Не знаю как сейчас, но вплоть до окончания лета у Альпари были устаревшие билды. Т.е. обновление у них задерживалось на 2-4 недели.

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

Для справки, сервер Альпари живет тут - 62.213.101.242:443

Yedelkin:

4. Из приведённого Вами примера следует, что для второго варианта функции указывать третий параметр (sub_window) нужно всегда, даже если само свойство  не требует указания номера подокна. Т.е.  в отличие от первого варианта функции (который может использоваться как с двумя, так и с тремя параметрами), второй вариант функции всегда требует указания всех четырёх параметров. Правильно?

5. Если правильно, то мы выяснили две вещи. Во-первых, моя первоначальная версия возникновения проблемы оказалась ошибочной. Во-вторых, причина возникновения этой ошибочной версии кроется в неполноте информации, отражённой в Справочнике. Поэтому предлагаю внести в Справочник уточнение, согласно которому "Для второго варианта значение по умолчанию не предусмотрено, в связи с чем номер подокна необходимо указывать всегда. Для большинства свойств, которые не требуют указания номера подокна, требуется указывать 0 (главное окно графика)". Или что-то в этом роде.


4. Второй вариант требует всех четырех параметров (в отличии от первого). Как мы выяснили ранее.

5. В справочнике требуется уточнение, больше перекрестных ссылок и больше примеров.

PS

Также предлагаю разработчикам по крайней мере в Онлайн версии справочника внести дополнительно такой блок

Статьи на эту тему / Смотри также:

1. ........................................................

2. ........................................................

3. ........................................................

 
Interesting:

Также предлагаю разработчикам по крайней мере в Онлайн версии справочника внести дополнительно такой блок

Статьи на эту тему / Смотри также:

1. ........................................................

2. ........................................................

3. ........................................................

Согласен полностью. Правда, надо учитывать, что это потребует дополнительных затрат: временных, трудовых и т.д.

...А что если для  Онлайн версии Справочника предусмотреть блок, в который каждый желающий (автор статьи, автор вопроса на форуме) сможет внести ссылку на имеющийся на сайте материал по теме? Модераторам гораздо легче будет удалить левую ссылку, чем отслеживать новые статьи/темы. А у нас появится возможность поделиться знанием с "будущими поколениями" :)

 
!
Interesting:

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

Для справки, сервер Альпари живет тут - 62.213.101.242:443

Хочется отписаться по теме - вводиши в реге счета эти параметры сервера

(причем прописывал около 15 разных подобных 62.213.101.242:443 и этот тож кстати)

и результат один и тот же (Мт5 373) - не регистрирует новый демо счет.

Может и я что не так делаю, если у кого есть подобное - можно и заявку создать!

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5
 
alexluek:
!

Хочется отписаться по теме - вводиши в реге счета эти параметры сервера

(причем прописывал около 15 разных подобных 62.213.101.242:443 и этот тож кстати)

и результат один и тот же (Мт5 373) - не регистрирует новый демо счет.

Может и я что не так делаю, если у кого есть подобное - можно и заявку создать!

Говорят на картинках получается лучше объяснить. Попробую...

Так мы регим новый счет на Альпах

1. Добавляем сервер в список


2. Добавляем новый счет


Входим в существующий счет


 
Interesting:

Говорят на картинках получается лучше объяснить. Попробую...

Так мы регим новый счет на Альпах

1. Добавляем сервер в список


2. Добавляем новый счет


Входим в существующий счет


Ну у тя хотя бы сканировать выходит, а меня пишет n/a

на всех вводимых параметрах серваков альпари попробую твой

выше описнный !(например 148.58,....)

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