Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2333
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем зарасти! Нашел (для себя) прикольный способ проверить свои mql-писульки на пайтон, а также значительно ускорить работу некоторых функций в нем, с помощью dll.
Вот исходная функция на mql5 которую я хочу запихать в пайтон. Тут просто ищутся минимумы максимумы цены по ее сглаженному образцу.
Это делается в несколько шагов
1. Где ни будь, в визуалстудио или в кодблоксе компилим свою dll. Там все просто, в файле .cpp пилим свою функцию, в файле .h объявляем её. Пример который у меня работал в приложении к сообщению. В папке файл проекта кодблокс, файлы main .cpp, main .h , в папке \bin\Debug файл my_lib.dll. Короче вот заголовок функции на c++:
2 В пайтон делаем следущее:
Это не истина в последней инстанции, есть дополнения, или другие варианты, пишите.
Всем зарасти! Нашел (для себя) прикольный способ проверить свои mql-писульки на пайтон, а также значительно ускорить работу некоторых функций в нем, с помощью dll.
Вот исходная функция на mql5 которую я хочу запихать в пайтон. Тут просто ищутся минимумы максимумы цены по ее сглаженному образцу.
Это делается в несколько шагов
1. Где ни будь, в визуалстудио или в кодблоксе компилим свою dll. Там все просто, в файле .cpp пилим свою функцию, в файле .h объявляем её. Пример который у меня работал в приложении к сообщению. В папке файл проекта кодблокс, файлы main .cpp, main .h , в папке \bin\Debug файл my_lib.dll. Короче вот заголовок функции на c++:
2 В пайтон делаем следущее:
Это не истина в последней инстанции, есть дополнения, или другие варианты, пишите.
Если скорости, то не используйте
внутри цикла, а 1 раз до вызова функции задайте нужный размер, как вы сделали это в С++ и питоне, или зарезервируйте его 3-м параметром
Сейчас каждый вызов ArrayResize, создает новый блок в памяти, копирует в него старый и удаляет старый. Это оооочень медленно.
И
ArraySize(loc_max)
можно не каждый раз делать, а хранить в переменной.
Попробуйте, может и не придется раскидывать простую функцию на 3 разных языка программирования. Разработчики говорят, то MQL соизмерим по скорости с С++, а в некоторых вещах и быстрее.
А зачем Питон, если DLL можно сразу из MQL вызвать?
Или у вас какая-то другая цель?А чего вы хотите добиться?
Если скорости, то не используйте
внутри цикла, а 1 раз до вызова функции задайте нужный размер, как вы сделали это в С++ и питоне, или зарезервируйте его 3-м параметром
Сейчас каждый вызов ArrayResize, создает новый блок в памяти, копирует в него старый и удаляет старый. Это оооочень медленно.
И
можно не каждый раз делать, а хранить в переменной.
Попробуйте, может и не придется раскидывать простую функцию на 3 разных языка программирования. Разработчики говорят, то MQL соизмерим по скорости с С++, а в некоторых вещах и быстрее.
А зачем Питон, если DLL можно сразу из MQL вызвать?
Или у вас какая-то другая цель?Функция поиска экстремумов в сообщении приводится просто в качестве примера, что бы на ней показать принцип.
Цель складывается из того, в питоне удобно искать зависимости признаков и целевой, подбирать модели, а у MQL есть хороший тестер с которым, если не обманывать себя, можно получить четкую оценку своих изысканий.
Мне удобно работать с питоном, но я еще только учусь, и не способен любую функцию, на mql5, где есть циклы, написать на питоне с использованием либ с векторным вычислением. А писать код без них, пустая трата времени, т.к питон очень медленный. Некоторые функции могут вызываться на каждом баре и это значительно затрудняет поиск. Я везде где смог использовал algib т.к. у них есть решения и под питон и под mql5. Но когда дело касается полета моей бредовой фантазии тут возникают проблемки.
Код на mql5 можно без усилий преобразовать в С++, и скомпилировать в dll. В итоге и в тестере и в скрипте на питоне я использую одну и ту же функцию.
Функция поиска экстремумов в сообщении приводится просто в качестве примера, что бы на ней показать принцип.
Цель складывается из того, в питоне удобно искать зависимости признаков и целевой, подбирать модели, а у MQL есть хороший тестер с которым, если не обманывать себя, можно получить четкую оценку своих изысканий.
Ну нашли Вы в Питоне зависимости, подобрали, обучили и протестировали модель. И как Вы это протестируете в тестере? Питон не дружит ни с тестером ни с МКЛ5.
Если для ТС среднее время удержания позиции 10 минут. И текущая позиция зависла на 10 часов, то ее результат - авось (полностью не системный)?
Смотря как написаны логика / правила ТС. Авось, это вероятностный, не определенный логикой ТС результат от полученных данных. Если все 10 часов логика работала определенно, то это просто редкий случай.
Если все 10 часов логика работала определенно, то это просто редкий случай.
От того, что логика работала, не делает результат системным.
От того, что логика работала, не делает результат системным.
В вопросе не определено, к чему применить авось и системность. Если к ТС, то все зависит от ТС, если к внешним условиям, то редкие случаи изначально не системны. И могут быть исключениями из правил. Евродоллар 14 год с мая по март 15го. Не системный случай.
В вопросе не определено, к чему применить авось и системность. Если к ТС, то все зависит от ТС, если к внешним условиям, то редкие случаи изначально не системны. И могут быть исключениями из правил. Евродоллар 14 год с мая по март 15го. Не системный случай.
Говорим о репрезентативной статистике ТС. В общем, проехали.
Если для ТС среднее время удержания позиции 10 минут. И текущая позиция зависла на 10 часов, то ее результат - авось (полностью не системный)?
полностью. и если что выбросить из анализа результата. хотя, если текущая позиция результат работы системы, то учитывать обязательно. возникает вопрос, - что значит " текущая позиция зависла на 10 часов"? нюансы, мать их)