Лига Торговых Систем. Продолжаем работу. - страница 396
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хороший стиль программирования, чтобы куда-то перенести программу, нужно везде таскать пачку портянок.
Стиль называется "повтороне использование кода".
По-хорошему, вся библиотека должна быть в одном .lib-файле, к которому должно быть обращение из одного файла эксперта.
Однако, хедеры ( файлы .mqh ) все равно должны "носиться" отдельно.
Виталий, ты ж вроде как в курсе сколько файлов приходится носить во всяких обычных С++ проектах! Да погляди, сколько файлов за собой носит сам MT ! Ты про них забыл?
Проблема в том, что мне неинтересно "впаривать" экспертов, поэтому я забочусь не об удобстве тех, кому буду "впаривать" граали, а о собственном удобстве. У меня каждый класс лежит в отдельной паре файлов .mqh - mq5. Мне так удобно и привычно. И я вовсе не собирался ни с кем делиться ничем, кроме информации или .ex5-модуля.
Однако, админы почему-то против. Видимо, считают участников форума за дебилов, которые не могут решить, нужны ли им .ex5 модули, и решают за них... ну... я не вижу смысла спорить с админами, значит, участники и есть дебилы. Зачем им давать .ex5-модули?
Ну а раз так... Народ, чем богаты - тем и рады. Я, в отличие от местных граалевпаривальщиков - ничего не скрываю. Всё открыто, и денег мне не надо. Нравится - используйте. Но, при этом вся тысяча классов будет разбросана по двум тысячам файлов, которые необходимо собрать. Не нравится - игнорьте. И не надо ничего собирать.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Лига Торговых Систем. Продолжаем работу.
Georgiy Merts, 2023.04.18 10:48
Мой код тебе, боюсь, не поможет.
Впрочем, МНК-ядро почти не зависит от классов моей библиотеки. Так что, прикрепляю файлы. Требуется хотя бы базовое пониманиее ООП. Разберёшься?
Для использования надо пронаследоваться от класса CLSMCore, и обязательно перегрузить чисто виртуальные функции:
Стиль называется "повтороне использование кода".
По-хорошему, вся библиотека должна быть в одном .lib-файле, к которому должно быть обращение из одного файла эксперта.
Однако, хедеры ( файлы .mqh ) все равно должны "носиться" отдельно.
Не знаю, для меня это как если разные падежи слов были разными словами. Я тоже за универсальность, но не такую могучую))) Так что бы дерево или логику можно было нарисовать для себя и для других. Но в любом случае достойный труд)))
Там все есть. Конечно это не мой стиль, но разобраться можно.
Не знаю, для меня это как если разные падежи слов были разными словами. Я тоже за универсальность, но не такую могучую))) Так что бы дерево или логику можно было нарисовать для себя и для других. Но в любом случае достойный труд)))
Да, про "падежи" - близкая аналогия.
Однако, я не раз убеждался, что универсальность играет добрую службу. Вот этот же класс, ядро МНК - изначально был разработан вовсе не для аппроксимации ценовых данных, а для статистической обработки точек (графиков результатов тестирования). Идея со статистикой по точкам тестирования не выгорела, код остался. А потом, гораздо позже - возникла идея построения канала, ось которого строится по методу МНК, а границы - по принципу обычного прайс-ченела, только значение границ строится не просто по старшему экстремуму за несколько баров, а по максимальному отклонению от оси за несколько баров.
Соответственно, мне не надо было писать класс расчёта оси канала заново - пронаследовался от ядра МНК, в функции передал число точек закрытия баров (можно было и другие цены брать), на выходе - получил готовую аппроксимированную ось. Бинго!
Безусловно, где-то надо остановиться, универсальность не должна писаться ради универсальности. Однако, если есть малейшее подозрение, что код может быть повторно использован в другом месте - его надо писать как можно универсальнее, и сдабривать подробными комментариями. По моему опыту - это всегда окупается.
Да, про "падежи" - близкая аналогия.
Однако, я не раз убеждался, что универсальность играет добрую службу. Вот этот же класс, ядро МНК - изначально был разработан вовсе не для аппроксимации ценовых данных, а для статистической обработки точек (графиков результатов тестирования). Идея со статистикой по точкам тестирования не выгорела, код остался. А потом, гораздо позже - возникла идея построения канала, ось которого строится по методу МНК, а границы - по принципу обычного прайс-ченела, только значение границ строится не просто по старшему экстремуму за несколько баров, а по максимальному отклонению от оси за несколько баров.
Соответственно, мне не надо было писать класс расчёта оси канала заново - пронаследовался от ядра МНК, в функции передал число точек закрытия баров (можно было и другие цены брать), на выходе - получил готовую аппроксимированную ось. Бинго!
Безусловно, где-то надо остановиться, универсальность не должна писаться ради универсальности. Однако, если есть малейшее подозрение, что код может быть повторно использован в другом месте - его надо писать как можно универсальнее, и сдабривать подробными комментариями. По моему опыту - это всегда окупается.
Не понял... Вроде написал длинное сообщение в ответ на реплику, и всё исчезло...
Похоже, модераторы усердствуют?
Ладно, им виднее...
Не понял... Вроде написал длинное сообщение в ответ на реплику, и всё исчезло...
Похоже, модераторы усердствуют?
Ладно, им виднее...
Наверное сайт обновлялся (какое-то короткое время) и ваш пост попал под это.
Нет, не удаляли.
Наверное сайт обновлялся (какое-то короткое время) и ваш пост попал под это.
Понятно. Ну и ладно... Там ничего интересного не было. Спорили о необходимости отрицательных попыток для эволюции.
Понятно. Ну и ладно... Там ничего интересного не было. Спорили о необходимости отрицательных попыток для эволюции.
https://www.mql5.com/ru/forum/446262/page3