Обсуждение статьи "МetaTrader 5. Экспорт котировок в .NET приложение, используя WCF сервисы" - страница 3

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1) Если у вас терминал x64, то скорее всего будет необходимо перекомпилировать с++ проект в x64. На всякий случай делается это так: Visual Studio -> Properties (вашего с++ проекта) -> Configuration Manager -> и там через выпадающий список либо через <New...> меняете на x64. Компилируем. Готово. Если не компилируется - проверьте References проекта, пройдитесь по ошибкам компилятора.
2) У меня были проблемы c советником, он даже не инициализировался. Я заметил это только при отключении советника от графика, когда вылетела ошибка init failed (забавно..). Советник впадал в бесконечный Sleep еще на стадии инициализации и все дело было в этих строчках (в QService.mqh):
QService::EnterCriticalSection()
{
while (GlobalVariableCheck("QService_CriticalSection") > 0)
Sleep(1);
GlobalVariableTemp("QService_CriticalSection");
}
После дебага и тщетных попыток понять этот "Sleep(1)", заменил код на:
QService::EnterCriticalSection()
{
if(!GlobalVariableCheck("QService_CriticalSection"))
GlobalVariableTemp("QService_CriticalSection");
}
P.S: Спасибо автору статьи! Все круто расписано!
Очень интересно..Спасибо..Но может быть Сегодня есть более простые возможности*??
Конечно есть - использование подключения через встроенную в терминал возможность. Это PIPE-канал.
https://www.mql5.com/ru/docs/files/fileopen
Только что разместил новую работу, основанную на этой статье: https: //www.mql5.com/en/job/34392.
Это не работает в моей среде MT5 64 бит...
Отличная статья!
Спасибо
Просто для знаний, я обнаружил, что произошло на моей 64-битной машине.
После долгих часов исследований и отладки я обнаружил, что одна из ссылающихся сборок не загружается, генерируя исключение "System.IO.FileNotFoundException: Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'".
Возможно, потому что у dll нет файла конфигурации, пока не знаю, MT 5 не знал, где найти сборку. Поэтому он пытался получить ее по базовому пути (путь, по которому находится metaeditor64.exe). После изменения выходного каталога ссылаемых проектов на этот путь все заработало как по маслу.
Привет, Джо,
Есть ли какой-нибудь специальный трюк, чтобы заставить его работать на x64? Я только что скомпилировал его для x64, но при запуске dll вываливается со странными ошибками.
Сейб, смотри мой ответ ниже.
[]'s
Здравствуйте,
Я протестировал ваш готовый файл, все выглядит хорошо в MT5. Но в WinClient нет никаких данных.
Интересно а есть ли подобный проект с предварительной выгрузкой исторических баров? Очень уж хочется прикрутить это всё к Lightweight-Chart и удобно пользоваться графиком.