Что нужно сделать, чтобы все наконец перешли на МТ5? (сбор мнений) - страница 42

 
multiplicator:
так вы ж мт4 юзер

Мне не мешает 5ка как некоторым. Если я найду преимущества, то перейду без сожаления.

 
Dmitry Fedoseev:

А где, в каком месте? У меня и у самого шпаргалка есть. Но был бы проще, если бы это было в официальной справке.

У класса два метода обновления: Refresh() и RefreshRates(). Некоторые методы получения данных нужно обновлять метолом Refresh(), некоторые RefreshRates(), а некоторые не требуют обновления. В справке про это нет.

Котировочные данные - RefreshRates(), иные данные по символу - Refresh().

Это первое, что приходит на ум. Согласен, такой сухой справки не достаточно для удобства работы с классом. И по-хорошему, тут нужно не справку обновлять, а сделать несколько статей по теме этих полезных классов. Я когда разбирался с CIndicator, тоже долго разгребал что там к чему, и реально такой справочной информации не достаточно. Например, трудно понять есть ли там в классе экономный расчёт индикатора, организован ли он уже, или самому нужно. Времени не было на разбор, и сделал собственное решение для экономного расчёта индикаторов на базе класса CIndocator. Может зря делал - и это там уже и так есть...
Но ведь есть запросы на статьи. Может стоит просто разобраться и написать цикл хороших статей по всем этим классам? Ну или хотя бы по торговым и индикаторным - там много интересностей и полезностей, которых люд не знает и не видит.

 
Dmitry Fedoseev:
А еще, что интересно, в классе CSymbolInfo отсутствуют методы аналогичные SymbolInfoDouble(m_name,SYMBOL_BID) и SymbolInfoDouble(m_name,SYMBOL_ASK) - собственно то, что больше всего нужно. Но есть методы Bid() и Ask(), работающие через SymbolInfoTick(), что требует вызова RefreshRates(). Не продумано и не удобно, хоть бы уж в справке осветили нюансы.

В мелочах заключается сырость программы, хотя уже 10 лет работают над ней. 

Перспектива есть несомненно. Работают с пониманием.

 
Реter Konow:

Алготрейдинг такая ниша, которая не требует (и не должна требовать) профессионального программирования. Сюда приходят в надежде создать граальный алгоритм, что само по себе означает невысокий интеллектуальный уровень. Есть предел возможностей понимания, на котором кормится вся "банда" ДЦ. Вы хотите воспитать из алготрейдеров профессиональных программистов? Зачем?  Чтобы их стало меньше? 

Где вообще логика у этой требовательности к "уровню"? Откуда этот бред взялся? Алготрейдинг на МТ должен быть доступен для масс, иначе, массы завоюют другие платформы. Все это попахивает бредом.

Уже давно написана стандартная библиотека, и она позволяет писать программы "на коленке", как это требуют многие застрявшие на четвёрке. И даже проще. Но тут хоть кричи - не хотят слышать.

 
Artyom Trishkin:

Котировочные данные - RefreshRates(), иные данные по символу - Refresh().

Это первое, что приходит на ум. Согласен, такой сухой справки не достаточно для удобства работы с классом. И по-хорошему, тут нужно не справку обновлять, а сделать несколько статей по теме этих полезных классов. Я когда разбирался с CIndicator, тоже долго разгребал что там к чему, и реально такой справочной информации не достаточно. Например, трудно понять есть ли там в классе экономный расчёт индикатора, организован ли он уже, или самому нужно. Времени не было на разбор, и сделал собственное решение для экономного расчёта индикаторов на базе класса CIndocator. Может зря делал - и это там уже и так есть...
Но ведь есть запросы на статьи. Может стоит просто разобраться и написать цикл хороших статей по всем этим классам? Ну или хотя бы по торговым и индикаторным - там много интересностей и полезностей, которых люд не знает и не видит.

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

 
Artyom Trishkin:

У вас в чулане старый сундук стоит, а в нём рваные тапочки?

iXXX-функции давно уже есть в пятёрке. Для таких как раз лентяев и вернули.

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

Лень это двигатель прогресса! но вот разработчики этого видимо не знают!

 
xxz:

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

Лень это двигатель прогресса! но вот разработчики этого видимо не знают!

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

Потом их конечно добавили, но для "профи-прогеров" таких как вы

 
Dmitry Fedoseev:
А еще, что интересно, в классе CSymbolInfo отсутствуют методы аналогичные SymbolInfoDouble(m_name,SYMBOL_BID) и SymbolInfoDouble(m_name,SYMBOL_ASK) - собственно то, что больше всего нужно. Но есть методы Bid() и Ask(), работающие через SymbolInfoTick(), что требует вызова RefreshRates(). Не продумано и не удобно, хоть бы уж в справке осветили нюансы.

Я давно уже предлагал в СД поправить это. Просто вписать в методы Bid() и Ask() перед return обновление RefreshRates(). Но так и прошло всё мимо.

 
Vitaly Muzichenko:

Потому, что они тяжелее,


вы проверяли?

наоборот получить только день недели намного быстрее, чем получить целую структуру данных.
 
Artyom Trishkin:

Я давно уже предлагал в СД поправить это. Просто вписать в методы Bid() и Ask() перед return обновление RefreshRates(). Но так и прошло всё мимо.

Нет так нельзя делать, это снизит быстродействие.