Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 216
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как программно проверить запущена панель one click trading или нет?
Вытащил из класса:
Такую проблему нужно решать путём проверки: а есть ли, или была ли уже открыта и закрыта позиция на этом самом баре.
Иначе вы всё в кучу накидаете. Сигнальная функция должна отсылать сигналы, а торговая функция уже должна проверять валидность сигнала.
Я это и хотел сделать, только не знаю как реализовать. Как прописать проверку на текущем баре.
Я это и хотел сделать, только не знаю как реализовать. Как прописать проверку на текущем баре.
Нужно проверить есть ли открытая позиция, время открытия которой соответствует бару 0.
Если нету, то дополнительно проверить - а есть ли закрытая позиция, которая была открыта на баре 0 и закрыта на нём же.
Соответственно, вам нужно сделать такие функции:
- Бар открытия последней открытой позиции
- Бар открытия последней закрытой позиции
- Бар закрытия последней закрытой позиции
- Факт открытия и закрытия последней закрытой позиции на одном и том же баре (используются две предыдущие функции 2 и 3)
Далее, используя эти функции, получать необходимые вам данные для принятия решения.Всем доброго времени суток!
Подскажите пожалуйста как закодировать в тестере стратегий следующее действие
Общий смысл
1.Открывается ордер N -X ( объем = 0.1)
2.Если именно этот ордер закрывается по СЛ, то. для компенсации потерь, сразу по цене закрытия по СЛ ордера N X , открывается ордер N - X1 ( объем = 0.3)
МНЕ НУЖНО
3 Если ордер ( объем = 0.3) закрывается по СЛ - запомнить только значение часа открытия ордера N -X для компенсации потерь по которому он и был открыт .
Умею открывать оба ордера, но не могу до конца дойти своим умом, как запомнить значение часа закрывшегося по СЛ ордера объемом 0.1 лот.
ПРИМЕЧАНИЕ , связанное с закрытием ордеров на одном тике.
Бывает иногда что на одном тике закрываются по СЛ больше одного ордера и объемом 0.1 и объемом 0.3.
Если на одном тике закрывается по СЛ , например 3 ордера по 0.1, то вместо открытия 3 ордеров по 0.3. - открывается только 1 ордер по 0.3 лота
В этом случае при закрытии по СЛ только 1 ордера по 0.3 лота я не получу значений часа открытия двух ордеров по 0.1 лота для компенсации потерь по которым они и был открыты.
То есть, мне нужно что бы, в этом случае, открылось именно 3 ордера по 0.3 лота, а не один.
А бывает, что на одном тике закрываются по СЛ , например 3 ордера объемом 0.3 лота, не смотря на то, что соответствующие им ордера по 0.1. лота открылись на разных тиках( но просто по одной цене)
В этом случае программа опять же сохраняет нужное мне значение часа только одного последнего ордера объемом 0.1 лот .
А мне нужно что бы программа запоминала значение часа каждого закрытого по СЛ ордера объемом 0.1 лот.
Вот мой код, который нужно довести до ума.
Спасибо за помощь.
Вот пример ситуации в которой на одном тике закрываются несколько ордеров
Добрый день!
1. А зачем вам учет времени каждого закрытого ордера? Ведь можно и без этого обойтись... ИЛИ вы эти данные ещё где-то учитываете?
2. И именно 3 последних закрывшихся в убыток ордера? Или не важно сколько их там будет, может 5 или 8... И соответственно каждому
ордеру, закрывшемуся в минус должен соответствовать ордер с увеличенным лотом?
Добрый день!
1. А зачем вам учет времени каждого закрытого бара? Ведь можно и без этого обойтись... ИЛИ вы эти данные ещё где-то учитываете?
2. И именно 3 последних закрывшихся в убыток ордера? Или не важно сколько их там будет, может 5 или 8... И соответственно каждому
ордеру, закрывшемуся в минус должен соответствовать ордер с увеличенным лотом?
Спасибо за отклик.
Да , час открытия я учитываю в последующих действиях программы.
Количество может быть от 2 до 10
Именно каждому ордеру закрывшемуся по стопу должен соответствовать другой ордер открывшийся большим объемом.
Под словом соответствовать я имею в виду если , например в течении 1 дня закрылись по СЛ 3 ордера открытые в любое время , сразу по цене их закрытия
должны открыться 3 ордера большего объем. Сразу после закрытия каждого отдельного ордера. А не все одновременно. Например в 12 00 закрылся ордер по цене 1.2000
сразу в 12 00 по цене 1.2000 открывается ордер большего объема . И так по каждому ордеру меньшего объема закрывшегося по СЛ. А после закрытия ордера большего объема по СЛ - запомнить час открытия ордера в ответ на закрытие которого он был открыт . То есть , если ордер открылся в 12 00 по цене 1.200 и закрылся по стопу , то открывается ордер большего объема в 12 00 по цене 1.2000. И если ордер большего объема закрылся по СЛ запомнить час открытия ордера меньшего объема , то есть 12.
И так после каждого ордера большего объема который закрылся только по СЛ.
Особенную трудность для меня составляет открытие ордеров и сохранение значений часа в ситуациях когда на одном тике закрываются по СЛ несколько ордеров ( от 2 до 10)
См подробное описание этой ситуации в начальном посте.
Спасибо за отклик.
Да , час открытия я учитываю в последующих действиях программы.
Количество может быть от 2 до 10
Именно каждому ордеру закрывшемуся по стопу должен соответствовать другой ордер открывшийся большим объемом.
Под словом соответствовать я имею в виду если , например в течении 1 дня закрылись по СЛ 3 ордера открытые в любое время , сразу по цене их закрытия
должны открыться 3 ордера большего объем. Сразу после закрытия каждого отдельного ордера. А не все одновременно. Например в 12 00 закрылся ордер по цене 1.2000
сразу в 12 00 по цене 1.2000 открывается ордер большего объема . И так по каждому ордеру. А после закрытия ордера большего объема по СЛ - запомнить час открытия ордера в ответ на закрытие которого он был открыт . То есть , если ордер открылся в 12 00 по цене 1.200 и закрылся по стопу , то открывается ордер большего объема в 12 00 по цене 1.2000. И если ордер большего объема закрылся по СЛ запомнить час открытия ордера меньшего объема , то есть 12.
И так после каждого ордера большего объема который закрылся только по СЛ.
Ну и ещё одно уточнение.... Например, 1-й ордер закрылся лотом 0.1, 2-й открылся 0.3 лотом. Запомнили время открытия первого ордера. Потом закрылся 2-й ордер по стопу, запомнили время открытия 2-гоордера и выставили ордер с 0.9 лотом. И т.д. Я правильно понял? ИЛИ нужно запоминать всегда время только первого ордера?
Здравствуйте. Почему уменя отоброжение волютных пар euro vs usd в числах 149,16325 ане в 1,0616?
Попробуйте обновить котировки. Сервис - Архив котировок - выберите вашу валютную пару - загрузить.
Если не поможет, то переустановите метатрейдер.
Ну и ещё одно уточнение.... Например, 1-й ордер закрылся лотом 0.1, 2-й открылся 0.3 лотом. Запомнили время открытия первого ордера. Потом закрылся 2-й ордер по стопу, запомнили время открытия 2-гоордера и выставили ордер с 0.9 лотом. И т.д. Я правильно понял? ИЛИ нужно запоминать всегда время только первого ордера?
Все ордера большего объема открываются только объемом 0.3 лота. Все ордера меньшего объема, в ответ на закрытие которых по СЛ открываются ордера объемом 0,3 лота, открываются объемом 0.1 лот. Только 0,1 и 0.3. Других объемов нет.
Во время закрытия по СЛ ордера объемом 0,3 запомнить час открытия ордера в ответ на закрытие которого он был открыт( то есть ордера объемом 0.1 лот).
Спасибо за помощь.
Не подскажете заодно а где настраивается опция которая отправляет сообщения на .адрес моей электронной почты, когда на мой пост пришел ответ.
Еще раз спасибо огромное.