Обсуждение статьи "Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?" - страница 7
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Мы стараемся не выкладывать потенциально опасный код (DLL), чтобы лишний раз не нервировать пользователей. К тому же это лишь тестовый пример.
К сожалению, под рукой нет Borland C++ компилятора. Попробуйте приспособить самостоятельно - там ведь меньше одной страницы кода.
yu-sha:
Не слишком ли высокие цели ставят себе разработчики?
И зачем изобретать велосипед, если уже давным-давно все сделано (C, Delphi, ...)?
Надо делать не то, что кажется правильным, а то, что выгодно. Потому что выгодность - это и есть правильность. А в данном случае (MT5+MQL5+сервисы) - это колоссальная выгода (окупится в десятки-сотни раз) для MetaQuotes и огромная выгода для трейдеров. Только не сразу.
Всегда полезно посмотреть широко и вперед на, как минимум, 5 лет. MetaQuotes это сделали.
pisara:
...ИМХО развитие языка написания ТС должно служить именно специфическим задачам торговли, т.е. сбора информации, анализа, тестирования, управления торговлей и интеграции с другими системами - всё это можно и ИМХО нужно делать на высоком уровне современных средств разработки, т.е. интегрируя и расширяя выбранный стандартный framework общепринятыми в нём методами (ООП и тд). Задача не в написании замкнутой и самодостаточной платформы на смеси C/C++ или чего там ещё, а прежде всего качественное написание основ торговой платформы, её сервисов, API и интерфейса пользователя...
Moe IMHO полностью совпадает с вашими ИМХО. Приятно обнаржить единомышленников. У меня MT ассоциируется с пословмцей "дьявол скрывается в мелочах" и есть подозрения в наличии серьезных архитектурных промахов, иначе откуда столько "кирпичей" - "Эй, гражданина! Ты туда не ходи, ты сюда ходи! А то снег башка упадет - совсем мертвый будешь!"
В то же время, надо признать, что MT далеко не самый худший продукт из числа тех, c которыми приходилось иметь дело.
Хорошая статья, но она вызывает серьезные опасения.
Я за защиту приложения, но не за счет производительности. Это еще одно изменение по сравнению с MT4, так как исключения в dll приводят к краху MT4, но хорошо написанный код должен справиться с этим сценарием, я бы предпочел увидеть статьи о написании безопасного кода в dll для преодоления подобных проблем. Теперь из-за плохих привычек кодирования все должны платить за производительность.
Это очень плохо, если у вас есть библиотеки алгоритмов, которые вызываются на тиковых базах, я бы осмелился сказать, что это делает их бесполезными. Учитывая многие отзывы о MT5, которые я видел, не очень хорошие, в основном из-за того, что людям нужно переписывать индикаторы и т.д., это просто еще один пункт, который вызывает много разочарований, и поскольку это влияет на производительность, я думаю, что другие, как я, которые широко используют DLL, просто останутся с MT4 как можно дольше и будут искать другую платформу, где это не является проблемой.
Почему бы Metaquotes просто не добавить немного другой метод для вызова DLL безопасным способом. Тогда разработчик мог бы выбирать, загружать ли его через безопасную или производительную загрузку, и гарантировать, что он пишет хороший код, который отлавливает исключения.
"Лучше делать редкие вызовы" - я серьезно, что это за заявление.
Неудивительно, что в этом сообществе трудно найти достойные статьи. Любой хороший автор не стал бы тратить время на то, чтобы писать здесь. Да и зачем? Они делают что-то приличное, например, показывают, как подключать dll и устанавливать связь, а потом появляется кто-то и сбивает их с ног.
Из того, что я вижу, он проделал приличную работу над статьей, так что, возможно, производительность не там, где должна быть. Но вопрос или проблема здесь в том, что если все так плохо, и вы являетесь частью этого сообщества, почему вы не пытаетесь написать решение того, что вы нашли как очевидную проблему производительности?
Это все хорошо и хорошо, что вы подняли эту тему, но это не делает никто ничего хорошего, чтобы жаловаться на это, если они не хотят представить решения или даже предложения о том, как достичь цели.
Статья показала риск, да, я думаю, мы даже получили пример этого, когда другой человек сказал: "Эй, я скачал эту программу, и у меня с ней возникла проблема". Это именно та проблема, которая обсуждалась в статье.Я думаю, что если бы я хотел расширить эту статью, то, как вы сказали, PFX, показал бы, как безопасно взаимодействовать. Однако он раскрыл риск, оставив достаточно места для кого-то вроде вас, чтобы расширить его самой концепцией темы SAFETY.
Одно личное замечание автору от меня, при написании тем старайтесь воздерживаться от терминов типа "новичок". Это оскорбительно и унизительно, а не профессиональный способ говорить о тех, кого вы хотите заставить следовать вашей мудрости.
Я пытался понять, смогу ли я с помощью этой функции импорта dll импортировать dll, написанные на других языках, таких как C#. Возможно ли это? Если нет, то почему?
В чем разница между C++ dll и C# dll.
В чем разница между C++ dll и C# dll.
Основное отличие заключается в дизайне. Сборка c# dll используется для хранения управляемого кода, а c++ dll содержит нативный код.
Но есть трюк, который делает импорт сборок возможным: Inverse P/Invoke.
Что касается меня, то я привык писать c++\cli wrapper dll для этих целей или писать весь управляемый код с помощью c++\cli.
Renat писал(а) # :
....На сайте MQL4.community уже есть статьи про связку Маткад - МетаТрейдер 4:Возможно я что то пропустил, или Вы оговорились. Нигде не нашол статью про связь Маткада с MT4. Матлаб да есть. Маткада нет ((
В своё время я заказывал программистам связь МТ4Б<-> Маткад. Единственно приемлемым (устойчивым) была связь через файловые операции. МТ4 –пишет котировки в файл-Маткад читает-обрабатывает-выкладывает в файл результаты (валюта купить/продать)- МТ4 читает и выполняет. Но иногда по непонятным причинам происходил крах…более 3 месяцев потратили, но так и не смогли решить.
С одной стороны Ваше стремление сделать все в одной упаковке, да хорошо и отлично. Это устойчивость и надежность системы.
Но с другой стороны есть языки программирования Высокого уровня (Матлаб, Маткад) для них уже столько написано, потрачены миллиарды человеко лет. И подключить эту мощь к МТ5 было бы просто великолепно. Достигнуть уровня этих языков у Вас ни хватит ни сил, ни возможностей…
З.Ы. Хочу обратить Ваше внимание, что оба этих языка заточены на работу с массивами (матричная алгебра), именно то что нужно …
Возможно я что то пропустил, или Вы оговорились. Нигде не нашол статью про связь Маткада с MT4. Матлаб да есть. Маткада нет ((
В своё время я заказывал программистам связь МТ4Б<-> Маткад. Единственно приемлемым (устойчивым) была связь через файловые операции. МТ4 –пишет котировки в файл-Маткад читает-обрабатывает-выкладывает в файл результаты (валюта купить/продать)- МТ4 читает и выполняет. Но иногда по непонятным причинам происходил крах…более 3 месяцев потратили, но так и не смогли решить.
Попробуйте сделать связку с MQL5 - это более мощный, эффективный и защищенный язык.
Чтобы получить хороший результат, можно запустить публичную открытую работу над интеграцией Маткада с МТ5. Так и ошибки быстро можно исправить и результата рабочего добиться.
Да, я перепутал Маткад и Матлаб. Извините.
Попробуйте сделать связку с MQL5 - это более мощный, эффективный и защищенный язык.
Чтобы получить хороший результат, можно запустить публичную открытую работу над интеграцией Маткада с МТ5. Так и ошибки быстро можно исправить и результата рабочего добиться.
Можно многое, но в первую очередь я думаю именно Вы должны быть заинтересованы в таких проектах (просто представьте как увеличиться ваша аудитория и форекс и биржа + пишу программы на стандартном матлабе ).
А публичная, открытая, и т.д. работа мне уже давно не интересна. Я слишком ценю свое время. Надоело наступать на грабли, типа таких
как эта процедура может выдавать вот такое ?
2010.05.06 02:28:14 Setka_Final_1 (EURUSD,M5) Ошибка создания SetVLine VLine_838524 4202 t1= 2010.05.06 00:00:00
Бред получается
ERR_OBJECT_NOT_FOUND
4202
Графический объект не найден
Если объект не найден. Программа должна была его создать. Но объект есть if(…) почему же тогда выдается 4202.
Наверное я просто устал и пора ложиться спать.