Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
подскажите хоть эксперт подобный посмотреть.. что открывает 2 разных отложника при отсутствии ордеров и закрывает при срабатывании одного оставшийся..
раньше был в код бейз дубле пендинг 2 назывался .. теперь нет..
он имеет в виду что у него в одном цикле перемешаны все операции над всеми ордерами, причем от одной итерации существенно зависит результат другой, и он не может понять, почему все это не работает.
значит сначала надо отделить котлеты от мух... Я до такого хаоса не додумался :-)
подскажите хоть эксперт подобный посмотреть.. что открывает 2 разных отложника при отсутствии ордеров и закрывает при срабатывании одного оставшийся..
раньше был в код бейз дубле пендинг 2 назывался .. теперь нет..
перебирай селектором открытые ордера по OrderType() и поставь счетчик:
int count=0;
if(OrderType()<2) count++;
if(count==0)
{ тут селектор - как наткнулся на OrderType()>1 - удаляй его: OrderDelete(.....); при удачном удалении (см. Документация) выставляй активный: OrderSend(...); } Элементарно, Ватсон!
я немного неправильно тебя понял: if(OrdersTotal()==0) {выставляем 2 отложника} а после этого проверка селектором типа ордера: как только нашел один<2, ищешь второй >2 и удаляешь его
вот тебе цикл для проверки состояния ордеров, вот после него и делай проверки и закрытия и модификации, после каждого действия оператор return чтобы цикл обновил состояние ордеров
ладно.. понял что мало чем поможете.. пока не увижу всё равно бесполезно советы давать.. буду искать подобный ( не работает и с этим циклом проверки.. всё осталось тем же ... и даже с несколькими циклами на каждую операцию...)
ленив ты стал.. напиши функцию (или две, если не умеешь), которая будет возвращать количество ордеров в рынке (истории) по заданным параметрам: символ, магик, тип ордера, т.е. в любых комбинациях..
затем на каждой тике (или ином интервале времени, с которым стартует советник) определяешь количество ордеров в рынке и отложенных и по их сочетаниям выполняешь нужные действия..
рынок == 0 и отложки == 0 выставляемОтложки
рынок == 0 и отложки == 2 ничего не делаем
рынок == 1 и отложки == 1 удаляем отложку
рынок == 1 и отложки == 0 тралим
это что так сложно сделать что ли ? детсад какой-то..
зы. пора бы уже забыть про о процедурном программировании - используй функции..
а то переменная сохраняет какое-то там последнее значение,честное слово смешно это..
В ИСТОРИИ НЕТ ПРОБЛЕМ НО КАК УЗНАТЬ ЧТО ОТКРЫТЫХ ТО НЕТ ? ЕСЛИ В СЕЛЕКТОРЕ СОХРАНЯЕТСЯ ЗНАЧЕНИЕ ПОСЛЕДНЕЕ ПОКА НЕ ПЕРЕЗАПУСТИТСЯ...
МАСЛО МАСЛЯНОЕ ПОЛУЧАЕТСЯ
В ИСТОРИИ НЕТ ПРОБЛЕМ НО КАК УЗНАТЬ ЧТО ОТКРЫТЫХ ТО НЕТ ? ЕСЛИ В СЕЛЕКТОРЕ СОХРАНЯЕТСЯ ЗНАЧЕНИЕ ПОСЛЕДНЕЕ ПОКА НЕ ПЕРЕЗАПУСТИТСЯ...