Ошибки, баги, вопросы - страница 2576
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ЗЫ: может не связываться со строками вообще? сохраняйте в wchar_t массивы и гоняйте их, а внутри мкл конвертировать в строку если надо
О, сенкю )), за подсказку, что wcsncpy обрезает ноль.
Да массивы оставил на последок, если не получится с указателями, то буду юзать массивы.
Движок форума не позволяет сделать пост из одной картинки. Требует ввода текста.
Приходится ставить пробел.
Движок форума не позволяет сделать пост из одной картинки. Требует ввода текста.
Приходится ставить пробел.
Вроде всё логично: это форум и главное это текст. А картинка прикладывается по сколько постольку. Здесь ведь не кладбище картинок.
дописал код, работает в MT4/5, столкнулся небольшой неожиданностью
а чем в MQL4 можно заменить TesterStop()
?
а чем в MQL4 можно заменить TesterStop()?
ExpertRemove.
ExpertRemove.
этот вариант знаю, но видел сообщения, что ExpertRemove(0 нельзя для экспертов для Маркета использовать, может соберусь в Маркет выложить, придется опять переделывать
в общем использую TesterStop() в двух случаях:
- вместо INIT_PARAMETERS_INCORRECT , чтобы скрыть лог оптимизатора
- если недостаточно средств для открытия ордера, ордер то не открываю, а тест завершаю, что оптимизация быстрее шла
этот вариант знаю
Тогда деление на ноль.
Тогда деление на ноль.
пн...была надежда, но как всегда только хардкор )))
ЗЫ: может не связываться со строками вообще? сохраняйте в wchar_t массивы и гоняйте их, а внутри мкл конвертировать в строку если надо https://www.mql5.com/ru/docs/convert/shortarraytostring
Согласен
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
WinAPI -> MQL5 x64
A100, 2018.05.29 14:11
Все правило было сказано. Если вы хотите чтобы работало всегда - нужно использовать ushort, а если вы хотите разбираться почему вдруг со string перестало работать (то что работало еще вчера) - то можно и string
тут вы выходите за границы out
Вы навели меня на мысль проверить длину инициализированной строки в StringInit(out, 165, 32);
Справка StringInit гласит, что вторым параметром является длина строки, длина строки в моём понимании это количество символов строки.
В моём случае входящая строка имеет 164 символа, по этому во второй параметр я ставил 165, пробовал и больше *2, 330.
Используя memcpy_s с указателем,
результат был один, конец строки всегда плывёт по количеству символов, и при парсинге бывают утечки.
Без указателя строка тоже плывёт.
Но вот вы натолкнули меня на мысль, и в StringInit(out, 1400, 32) я поставил не длину строки, а размер в байтах указателя.
И о чудо, строка стала без лишних выводимых символов, без проблем парсится, и не одной утечки.
Хочу заметить что именно с указателем в sizeof, без указателя строка плывёт.
Напрашивается вопрос к разработчикам, а корректна ли справка по StringInit ???
Не перепутано ли, в справке или в самой функции StringInit, длина строки с размером строки?
В общем сейчас если использовать memcpy то корректно работает, если передаёшь размер указателя, и StringInit инициализируешь этим размером, а не длиной!