Обсуждение статьи "Создание многомодульных советников" - страница 2

 
Aleksandr Masterskikh:

Многомодульность торговой системы определяется прежде всего природой процесса (для финансовых рынков движение цен - это нестационарный процесс).

А моделирование такого сложного процесса (ведь разработка советника - это всегда моделирование процесса)  невозможно при помощи единого, даже очень сложного алгоритма входа. Чтобы  приблизиться к процессу с точки зрения точности, необходим набор алгоритмов (модулей), каждый их которых является независимой моделью.

Ну и какого рожна я должен чего-нибудь моделировать, чтобы что-нибудь купить/продать? И при чем тут технологические моменты? Зачем о стационарности гутарим? 

Мальчик, код выложи, или ТЗ, или еще что, а после я обращу внимание на твои суждения. 

 
Автор статьи допустил принципиальную ошибку. Он поставил равенство между набором модулей и Торговой Системой. Объясняю. Признаки любой системы: 1. Иерархия, наличие главных и подчиненных (это есть), 2. Декомпозиция, например, разделение на модули (это тоже есть), 3. Взаимосвязь (в том числе и обратная), а этого нет. А должно быть так: взаимосвязь у любого модуля с любым другим модулем. Например, в Солнечной СИСТЕМЕ, Солнце является главным, система разделена на планеты (модули) и они все взаимосвязаны и влияют друг на друга. Так что автору есть еще над чем работать.
 
MetaQuotes Software Corp.:

Опубликована новая статья Разработка многомодульных советников:

Автор: Сергей Павлов

Это интересно как шаблон для создания проекта для конкретных случаев использования, но я вижу много проблем, которые неизбежно возникнут при использовании этого шаблона в качестве обобщенного шаблона разработки.

Самооптимизация модулей приведет к постоянной подгонке кривых под набор данных истории оптимизации, что приведет советника в ловушку "памяти рынка". По мере того как волатильность будет расти или падать относительно размера обучающей выборки, модуль будет отставать и, как правило, устанавливать стоп-лосс или тейк-профит слишком близко. По статистике, со временем он будет генерировать больше проигравших, чем выигравших. При больших размерах выборки подгонка кривой будет чрезвычайно специфичной для ложных рыночных условий, которые имели место на протяжении истории выборки.

Отказавшись от самооптимизации, нам придется вручную корректировать исходный код, чтобы исследовать параметры индикаторов, вместо того чтобы использовать тестер стратегий для быстрой итерации по "проблемному пространству" и сравнительного анализа результатов. Так что, по сути, мы бы потратили 1000 лет на поиск параметров относительно простых торговых стратегий.

При составлении программ в качестве конечного продукта всегда получается "монолит", хотя существуют различные средства для составления подкомпонентов полученного монолита. То есть вся массивная программа просто обязана работать, независимо от того, как организован ее исходный код, потому что все это где-то заканчивается в виде машинного кода. Такое решение, по сути, жертвует "пользовательским интерфейсом", он же ввод, ради решения проблем с определением дискретных блоков кода, которые можно надежно поддерживать с течением времени. Эти проблемы чаще всего решаются с помощью принципов ОО с использованием классов и интерфейсов. На "верхнем" уровне библиотеки или программы объявляются все внутренние зависимости, такие как пути к модулям, входы и т. д. Создание системы, в которой "верхний" уровень в основном запрещает входы, ограничивает разработчика от взаимодействия с инструментами, встроенными в metatrader, которые обеспечивают разработку стратегий и определение рисков, что с точки зрения конечного пользователя практически равносильно переименованию файлов в вашей системе модулей.
 
Поздравляю! Отличный учебный материал,
 

Хотел бы выразить благодарность автору данной статьи. Спасибо за такие труды. Мне как начинающему чайнику в освоении ООП и в конкретике mql5, данная статья очень помогает осваивать язык в целом. Господа которые видят недостатки, реализации концепции в выше изложенном в статье, хотелось бы сказать, что совершенствам предела нет нигде, совершенствоваться возможно я думаю и Ваших трудах есть еще куда ....

Статья данная скорее ориентирована для начинающих свой путь в изучении языка...

 

Здравствуйте, есть ли исходный код?

 
MT5 hedge ea в xm брокере обратно тестирует нормальный хедж открытых ордеров! Но когда я тестирую с ic, он не открывает длинные ордера и не хеджирует? Кто-нибудь знает, почему так происходит?