Торговые системы: Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Продолжение) - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что обозначает bool& в Lite_EXPERT1.mqh на ст.14, и далее 7 раз? -Ошибка? Влияеет ли это на работу функций?
+==================================================================+
//| OpenBuyOrder1() |
//+==================================================================+
bool OpenBuyOrder1
(bool& BUY_Signal, int MagicNumber,
double Money_Management, int STOPLOSS, int TAKEPROFIT)
Не нашел в документации сочетание bool&. Sorry,нашел: &-модификатор.Ставиться после типа данных.Указывает, что параметр передается по ссылке.
Правильно ли я понял:- в Exp_3.mq,Exp_4.mq4 в одно время может быть открыто 2 ордера(2 позиции)?
Что необходимо сделать что бы в одно время был открыт только один ордер, при условии использования двух алгоритмов эксперта?
Как модернизировать эксперты при исполнении ордеров как в WHC, где МТ с исполнением (По Рынку) не позволяет одновременно при выставлении ордера указывать S/L или T/P. Делайть это необходимо в 2 шага. 1эй - выставление ордера. 2ой - установка S/L или T/P. ?
"...но ежели оно так, как вы его представляете"-из клиентского соглашения WHC:
"3.4.3.5. При открытии позиции по рынку Клиент не может выставить ордера Stop Loss и Take Profit в связи с
типом исполнения «Market Watch». Выставление ордеров типа Stop Loss и Take Profit происходит по средствам
модификации открытой позиции."
2.В Lite_EXPERT1.mqh в функциях:OpenSellOrder1,OpenSellLimitOrder1,OpenSellStopOrder1 используется условие: if (SPREAD == 0)
return(false);
Следует ли из этого, что при спреде=0,функции не будут работать? Для чего введено это условие? Если убрать это условие, то как это повлияет на работу функций? В WHC многие инструменты имеют нулевой спред.
3.Почему выбран минимальный интервал времени между двумя торговыми операциями <11? Это установлено опытным путем? Как вы относитесь к мнению программиста KimIV:
"Между торговыми операциями я задержек не делаю. То есть, если мне нужно выставить два и более ордера, то эти торговые операции я совершаю без паузы между ними. А вот между торговыми попытками, которые приходится повторять, если при обращении к серверу возникает ошибка, делаю паузу согласно рекомендациям разработчиков МТ4
4.В экспертах задается параметр Timeframe... = 240;Какое значение имеет этот параметр?Исполнение советника на определенном таймфрейме? Только для тестирования и оптимитизации?
Спасибо за статьи и ответы на вопросы, помогающие начинающему программисту, проникнуть в глубины программироваания.Многократно их перечитываю Да:
"...но ежели оно так, как вы его представляете"-из клиентского соглашения WHC:
"3.4.3.5. При открытии позиции по рынку Клиент не может выставить ордера Stop Loss и Take Profit в связи с
типом исполнения «Market Watch». Выставление ордеров типа Stop Loss и Take Profit происходит по средствам
модификации открытой позиции."
2.В Lite_EXPERT1.mqh в функциях:OpenSellOrder1,OpenSellLimitOrder1,OpenSellStopOrder1 используется условие: if (SPREAD == 0)
return(false);
Следует ли из этого, что при спреде=0,функции не будут работать? Для чего введено это условие? Если убрать это условие, то как это повлияет на работу функций? В WHC многие инструменты имеют нулевой спред.
3.Почему выбран минимальный интервал времени между двумя торговыми операциями <11? Это установлено опытным путем? Как вы относитесь к мнению программиста KimIV:
"Между торговыми операциями я задержек не делаю. То есть, если мне нужно выставить два и более ордера, то эти торговые операции я совершаю без паузы между ними. А вот между торговыми попытками, которые приходится повторять, если при обращении к серверу возникает ошибка, делаю паузу согласно рекомендациям разработчиков МТ4
4.В экспертах задается параметр Timeframe... = 240;Какое значение имеет этот параметр?Исполнение советника на определенном таймфрейме? Только для тестирования и оптимитизации?
Для WHC я уже сделал пару функций OpenSellOrder2() и OpenBuyOrder2() с дифференцированной установкой стоплосса и тейкпрофита. Файлы в статьях я уже поменял, так что после замены версий статей на сайте можете ознакомиться. Насчёт спреда тут вот в чём дело: функция MarketInfo() иногда по ошибке возвращает нулевые значения, а проверка на ноль определяет эту ошибку. Просто как-то в требованиях к Чемпионату 2006 предлагалось все значения отMarketInfo() проверять на ноль. Я как-то не задумывался над тем, что спред по логике вещей может быть ещё и нулевым! Так что для спреда эту проверку на ноль можно и убрать, для других возвратов от MarketInfo() она всё равно сработает, когда надо! Насчёт паузы между торговыми операциями могу сказать, что раньше считалось делать такой, какую я выставил, теперь, когда появились рекомендации от MetaQuotes, для более быстрой работы логичнее это сделать как у программиста KimIV. А что касается параметров Timeframe_Up или Timeframe_Dn, так это просто таймфреймы. на которых работают алгоритмы эксперта независимо от того оптимизация это, тестирование или работа на счёте. Просто гораздо удобнее для каждого алгоритма иметь свой таймфрейм.
Здравствуйте !
Я вот что-то не пойму... При нескольких (на схеме - девяти) проходах будут разные параметры оптимизации. По чём же их сравнивать между собой, какие в итоге выбирать ? Которые дают лучшие показатели при тестировании ? Но ведь для каждой оптимизации - свой один тест (на схеме). Тогда для каждой оптимизации (фиолетовые прямоугольники) нужен не один форвард-тест, а ещё несколько, например, три ? Тогда получится 9 оптимизаций и 27 тестов ? По чём тогда выбирать параметры ?