Ошибки, баги, вопросы - страница 2444
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
О удалении лишних пробелов, задача решается в 4 строчки через SQL-style:
Результат компиляции всегда один и тот же. Там рэндома нет.
А дальше этот результат пропихивается в EX5, где защита на рэндоме.
И в opt попадает контрольная сумма, не зависящая от изменений в ex5?
Тогда да, разработчики могли бы дать к ней доступ.
Вам нужно решить какую-то задачу, или найти причину, что бы ее не решать?
И в opt попадает контрольная сумма, не зависящая от изменений в ex5?
Нет, в opt попадает хэш именно ex5. По этой причине перекомпиляция сбрасывает кеш тестера.
Вам нужно решить какую-то задачу, или найти причину, что бы ее не решать?
Задачу озвучил. Мне нужно, чтобы при изменении логики (нативного кода) результат выполнения программы сбрасывался в файл с другим именем.
не работает программаю выяснил опытным путем что падает на этой строке:
boost::asio::connect(*socket_, endpoint); (из tick_receiver.cpp )
из этой функции:
_DLLAPI int __stdcall client_connect(int port){ // тут нет переменных с изменяемым размером для такой ошибки
boost::asio::ip::tcp::resolver resolver(io);
boost::asio::ip::tcp::resolver::results_type endpoint = resolver.resolve("127.0.0.1", std::to_string(port));
boost::asio::connect(*socket_, endpoint); // тут падает
return 1;
}
2019.04.24 15:17:45.306 test_tick_receiver (EURUSD,H1) Access violation at 0x00007FFC1AF29200 read to 0x0000000000000000 in 'C:\Users\rukpe\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\tick_receiver.dll'
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) crash --> 00007FFC1AF29200 498B4D00 mov rcx, [r13+0x0]
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29204 33C0 xor eax, eax
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29206 49837D08FF cmp qword [r13+0x8], 0xff
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920B 742D jz 0x7ffc1af2923a
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920D 33D2 xor edx, edx
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920F F0480FB15138 lock cmpxchg [rcx+0x38], rdx
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29215 740C jz 0x7ffc1af29223
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00: 0x00007FFC1AF29200
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 01: 0x000001BA759C1F40
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 02: 0xFFFFFFFFFFFFFFFF
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 03: 0x000001BA6E450000
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 04: 0x000001BA7575C5A0
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 05: 0x0000002E16AFE670
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 06: 0x00000FED243F54C5
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 07: 0x000001BA6E452000
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 08: 0x00007FF7DAEC6000
2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)
Нет, в opt попадает хэш именно ex5. По этой причине перекомпиляция сбрасывает кеш тестера.
Тогда разработчики не помогут, пишите свой анализатор кода.
Нет, в opt попадает хэш именно ex5. По этой причине перекомпиляция сбрасывает кеш тестера.
Не совсем.
Не всякая перекомпиляция эксперта сбрасывает кеш тестера.
Если у эксперта есть зависимые компоненты: библиотеки, кастомные индикаторы и/или dll то к хешу эксперта подмешивается хеши компонентов.
Как считается хеш эксперта, где он хранится в эксперте - это один из технологических секретов.
Поэтому я сразу сказал Вам: "Нет"
ну ведь, действительно:
В первом приближении уже будет работать вполне сносно.
Конечно, если изменить имя переменной(функции) или добавить новую неиспользуемую переменную,изменить порядок и т.д., то хэш измениться, хотя логика нет. Контролировать эти вещи это уже мега сложно. Все равно что написать свой линковщик.
Как считается хеш эксперта, где он хранится в эксперте - это один из технологических секретов.
Поэтому я сразу сказал Вам: "Нет"
Дело в том, что не было просьбы давать MD5-хеш. Нужен любой хеш нативного кода. Например, сумма каждого третьего байта.
Если эта сумма отличается, то с огромное вероятностью, советник (логика - нативный код) изменился.
Т.е. ну совсем просто! Сейчас такого механизма нет, к сожалению.