Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть I). Концепция, организация данных, первые результаты" - страница 2

 
Sergey Voytsekhovsky:
Артем, не обращайте внимание на неодекватов плиз. Пусть себе кричат. Хорошее дело делаете. Есть вопрос - хотя бы приблизительный график выхода в свет следующих статей этой серии существует? Например - раз в неделю, раз в месяц, квартал ... ???

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

Например: запрос: когда был удалён такой-то отложенный ордер? ответ: тогда-то. Либо: запрос: нужны данные по последней закрытой позиции, ответ: возвращается заполненная структура со всеми данными позиции. Или: нужно удалить ордер, по значку которого щёлкнул пользователь, в ответ удалён ордер. Или: нужен тикет позиции с самой маленькой ценой открытия на символе EURUSD и с магиком 12345, в ответ будет возвращена цена этого ордера и заплненная структура со всеми данными этой позиции.

Запросы, естественно, делаются функциями. Как пример (гипотетический): GetLastClosePosition() - возвращает структуру с заполненными полями о последней закрытой позиции, GetLastClosePosition("USDCAD") - возвращает структуру с заполненными полями о последней закрытой позиции на символе USDCAD, и т.п.

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

И т.д., и т.п.

 
Artyom Trishkin:

Например: запрос: когда был удалён такой-то отложенный ордер? ответ: тогда-то. Либо: запрос: нужны данные по последней закрытой позиции, ответ: возвращается заполненная структура со всеми данными позиции. Или: нужно удалить ордер, по значку которого щёлкнул пользователь, в ответ удалён ордер. Или: нужен тикет позиции с самой маленькой ценой открытия на символе EURUSD и с магиком 12345, в ответ будет возвращена цена этого ордера и заплненная структура со всеми данными этой позиции.

Возвращать структуру - дорого. По этой же причине CopyRates в несколько раз дороже CopyClose.

 
fxsaber:

Возвращать структуру - дорого. По этой же причине CopyRates в несколько раз дороже CopyClose.

Ну возврат структур планируется как дополнительная возможность по запросу пользователя - сугубо для удобства. Там далее видно будет. В любом случае - библиотека создаётся "на лету" с описанием шагов её создания, с внесением изменений. Так что далее будет видно как сделать "не дорого".

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

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

 
Artyom Trishkin:

Не представляю пока себе что-то удобнее, чем то, что придумали разработчики в MT4.

 
Что имеете в виду под словом "дорого"??? 
 
Может я чего-то не понял, но пока предложенный способ локализации (перевода сообщений на другие языки) выглядит неправильным. Исходный код библиотеки не должен меняться в зависимости от локализации, а сейчас там русский зашит как основной? Как предполагается добавить, например, немецкий или французский?
 
Sergey Voytsekhovsky:
Что имеете в виду под словом "дорого"??? 

Затратно по потреблению ресурсов

 
Stanislav Korotky:
Может я чего-то не понял, но пока предложенный способ локализации (перевода сообщений на другие языки) выглядит неправильным. Исходный код библиотеки не должен меняться в зависимости от локализации, а сейчас там русский зашит как основной? Как предполагается добавить, например, немецкий или французский?

Пока так

 
Радует попытка сблизить платформы созданием кроссплатформенного функционала. Правильное русло.
 
Artyom Trishkin:

Пока так

Если оставить "пока так", потом кучу кода придется менять, если переделывать локализацию. В чем сложность сразу подключать строки из "ресурсных" библиотек или заголовков?

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