Показать сообщение отдельно
Старый 19.01.2011, 13:26     # 1
Ilya81
Junior Member
 
Регистрация: 05.07.2005
Адрес: Санкт-Петербург
Сообщения: 75

Ilya81 МолодецIlya81 Молодец
Lightbulb MQL Trade advisors constructor - помощь в создании на MQL торговых советников

Хочу представить очень предварительную версию GPL-программы для автоматизированного создания торговых советников для MetaTrader 4 и предлагаю участвовать в доработке и развитии (написано на C# и WPF). Кое-что я т. с. спионерил из других программ и даже не стал убирать copyright'ы.

Смысл программы как б в том, что среди того, что есть, не существует таких программ, которые могли б удобно помочь как из кубиков собрать торговую систему. Разве что Stock Strategy Builder, но я, например, так и не сумел его поставить, а теперь он и вовсе куда-то исчез. Forex Strategy Builder, не генерирующий MQL, по этой самой причине не в счёт. При этом речь не идёт об автоматическом их создании - в этой версии всё создаётся вручную. Но здесь не надо по 10 раз вводить одни и те же параметры индикаторов для открытия и закрытия, длинных и коротких позиций. Вместо этого используется последовательность: индикаторы - равенства - условия - торговая система, и то, что было один раз указано, может потом повторяться сколько угодно раз без дополнительного ввода с клавиатуры.

Версия, как я уже заметил, очень предварительная (о чём говорит слово attempt в названии). Вводить параметры нужно правильно, ибо ошибки перейдут в MQL (хотя, никто не мешает исправить их там). Пока что не реализованы сигналы пересечения, так что их можно сделать лишь путём правки MQL'я вручную, нет сохранения состояния программы, не реализованы некоторые дополнительные индикаторы, не предлагаются значения параметров по умолчанию и не выводятся подсказки, не создаются настройки для оптимизации, не создана система помощи в тестировании (для самого тестирования я предполагаю использовать только MetaTrader, поддержка пятой версии которго тоже ещё не реализована). По причине предварительности установщик пока не делаю, в архиве Release для выполнения exe-файл и два dll.

Такое описание для пользователя.
Цитата:
1. Выбрать индикатор из списка в левом верхнем углу.
2. Заполнить параметры.
3. Повторить это действие для всего набора используемых индикаторов.
4. Выделить в левом списке подошедшие индикаторы и нажать кнопку "Использовать". Они появятся в раскрывающемся списке следующего столбца.
5. Выбрть из списка второго столбца используемые индикаторы, нажимая кнопку "Добавить" столько раз, сколько они будут использоваться в равенствах.
6. Заполнить параметры равенств.
7. Выделить нужные равнества во втором списке и нажать кнопку "Использовать". Они появятся в раскрывающемся списке следующего столбца.
8. Нажимая кнопку "Добавить" для равнеств и кнопки логических связок, сформировать вертикальную запись условия открытия/закрытия длинной/короткой позиции.
9. Выбрать в нижнем раскрывающемся списке назначение логического условия и нажать кнопку "Использовать".
10. Повторить действие для остальных 3-х случаев.
11. Нажать кнопку сохранить и в появивишеся окне ввести дополнительные параметры.
12. Выбрать файл для сохранения исходников советника. После этого можно запускать MetaTrader 4 и тестировать его.

! Внимание: эта версия почти ничего не проверяет, так что если есть ошибки в MQL - т. с. сам пользователь виноват
Для потенциальных участников разработки архитектура программы вкратце.

Модель взаимодейсвия вверху объединяет приложение. Далее идут отдельные модели (некоторые из них почти пустые, ибо многое ещё не реализовано), модели представления и компоненты. Обведённые рамкой компоненты находятся в главном окне (которое не более, чем контейнер, его модуль ничего не содержит), окно параметров - отдельное окно. Refactoring явно нужен, но при этом желательно сохранение использование шаблонов проектирования, их улучшение (например, по MVVM встречное взаимодействие, которго следует избегать, здесь присутствует) и добавление новых.
Вложения
Тип файла: rar TAConstrucatorAttempt1_sources_topost.rar (82.0 Кбайт, 6 просмотров - Кто скачивал? )
Ilya81 вне форума