Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 855
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Все-таки для меня важно получить ответ на поставленные вопросы.
Для методов CTrade::Buy, CTrade::Sell, CTrade::ClosePosition
Означает ли, что в случае возврата false нужно игнорировать Retcode?
Означает ли, что в случае возврата true Retcode всегда заполнен корректным значением?
Спасибо.
Коллеги, помогите разобраться.
Пытаюсь осилить работу с реестром, накидал простенький советник для теста. Чтение данных из системного реестра проходит без проблем, а вот с записью возникают проблемы, происходит креш МТ и памяти... (((
Может у меня уже глаз замылился и я не вижу очевидного...
Коллеги, помогите разобраться.
Пытаюсь осилить работу с реестром, накидал простенький советник для теста. Чтение данных из системного реестра проходит без проблем, а вот с записью возникают проблемы, происходит креш МТ и памяти... (((
Может у меня уже глаз замылился и я не вижу очевидного...
Тут должно быть все просто. Перед и после каждого обращения к API функции выводить что-нибудь в лог. После креша из логов станет понятно место падения.
Тут должно быть все просто. Перед и после каждого обращения к API функции выводить что-нибудь в лог. После креша из логов станет понятно место падения.
Так лог и записаться не успеет, терминал закрывается с ошибкой. (( Я предполагаю что происходит утечка памяти. Но при этом нет использования динамических объектов (new). Прям не знаю как с этим бороться и выявлять подобные проблемы ;(
Так лог и записаться не успеет, терминал закрывается с ошибкой. (( Я предполагаю что происходит утечка памяти. Но при этом нет использования динамических объектов (new). Прям не знаю как с этим бороться и выявлять подобные проблемы ;(
Я тут немного подшаманил ваш пример.
Я ... шокирован, приятно шокирован. Поставил Ваше изменение сразу на несколько графиков для обеспечения асинхронной нагрузки на реестр.... Все работает стабильно. Вы изменили принцип передачи параметров в API, то есть там, где используются возвращаемые значения, там Вы применили массивы с передачей по ссылке, что в mql означает передачу адреса, или указателя с точки зрения с++. Но я посчитал данный подход, описанный еще 10 лет назад, анахронизмом, ведь все простые типы данных в API и так передаются по ссылке.... Но видимо это было моей ошибкой и недальновидностью, значит простые типы не так уж и безболезненно передаются в API. Большое спасибо что направили на путь истинный! )))
Я ... шокирован, приятно шокирован. Поставил Ваше изменение сразу на несколько графиков для обеспечения асинхронной нагрузки на реестр.... Все работает стабильно. Вы изменили принцип передачи параметров в API, то есть там, где используются возвращаемые значения, там Вы применили массивы с передачей по ссылке, что в mql означает передачу адреса, или указателя с точки зрения с++. Но я посчитал данный подход, описанный еще 10 лет назад, анахронизмом, ведь все простые типы данных в API и так передаются по ссылке.... Но видимо это было моей ошибкой и недальновидностью, значит простые типы не так уж и безболезненно передаются в API. Большое спасибо что направили на путь истинный! )))
Когда-то под МТ4 учили передавать указатели в API функции через одномерные массивы. Если что-то изменилось на текущий момент, и кто-нибудь может это подтвердить, то я буду использовать новый подход.
Но у вас еще с типами было напутано. В частности, long в Windows и в MQL5 имеют разные размеры.
Может еще какие другие отличия найдете.
Когда-то под МТ4 учили передавать указатели в API функции через одномерные массивы. Если что-то изменилось на текущий момент, и кто-нибудь может это подтвердить, то я буду использовать новый подход.
Но у вас еще с типами было напутано. В частности, long в Windows и в MQL5 имеют разные размеры.
Может еще какие другие отличия найдете.
Я увидел все отличия))) Большое спасибо!
Вопрос только по размеру хранимых в реестре данных. Согласно примера из документации (https://msdn.microsoft.com/en-us/library/windows/desktop/ms724911(v=vs.85).aspx) можно хранить немного больше данных, чем в исправленном файле (ushort buff[1024];). Я верно понимаю?Я увидел все отличия))) Большое спасибо!
Вопрос только по размеру хранимых в реестре данных. Согласно примера из документации (https://msdn.microsoft.com/en-us/library/windows/desktop/ms724911(v=vs.85).aspx) можно хранить немного больше данных, чем в исправленном файле (ushort buff[1024];). Я верно понимаю?Верно. Данных может быть больше. Для больших данных правильно сначала запрашивать длину, потом динамически изменять размер массива, затем уже получать все данные.
Хм... вероятно я не совсем внимательно смотрел API, но не заметил такой функции.... А было бы скорее всего удобно.
Может еще подскажете... возможно вопрос слишком .. нелепый... Как число, например double, перевести в массив char? То есть в некоторых API требуется передавать числа в виде указателя. Указатели передаются в виде одномерных массивов... Со строками понятно, для них предусмотрены функции StringToShortArray и StringToCharArray, а вот с числами я пока не понял как их переводить в байтовые массивы (char).