Вот кусок закрытия позиции что нужно сюда вставить чтобы закрыть позици лишь в том случае когда она положительная
Буду примного благодарен!!!!
OrderProfit()>0
Спасибо большое!!!!
Блин а как сделать чтоб закрывались только положительные ордера и отрицительные оставались. А так он кроет только когда они все становяться положительными...Чёт ума не могу приложить как это сделать....
Спасибо большое!!!!
Блин а как сделать чтоб закрывались только положительные ордера и отрицительные оставались. А так он кроет только когда они все становяться положительными...Чёт ума не могу приложить как это сделать....
OrderSelect(0,SELECT_BY_POS)
д.б
OrderSelect(i,SELECT_BY_POS)
Ааа понятно, только всё равно фигня получаеться...... Он как то пропускает позиции. Тоесть закрывает положительные но не все...... Пропускает, и только потом уже закрывает её в следующий приход сигнала....
Ааа понятно, только всё равно фигня получаеться...... Он как то пропускает позиции. Тоесть закрывает положительные но не все...... Пропускает, и только потом уже закрывает её в следующий приход сигнала....
при закрытии ордера позиции всех остальных смещаются, поэтому некоторые пропускаются. Попробуйте типа
int i=0; while (i<OrdersTotal()){ if (OrderSelect(i,SELECT_BY_POS)==true){ if ((OrderType()==OP_BUY)&& (OrderProfit()>0)){ OrderClose(OrderTicket(),OrderLots(),Bid,5,Red); i--; } } i++; }
Ааа понятно, только всё равно фигня получаеться...... Он как то пропускает позиции. Тоесть закрывает положительные но не все...... Пропускает, и только потом уже закрывает её в следующий приход сигнала....
Да Вы что ? не может быть......
Вы, наверное, первый и единственный за все время существования форума, у кого появилась такая задача. Как Вам это удалось ? ума не приложу.
Приложите тогда Вы: например, воспользуйесь учебником и поиском по форуму ;). И пишите в ветку для новичков - она специально для подобных вопросов.
Удачи.
ЗЫ Вы Вроде, и не первый год на форуме.......
TotalOrders=OrdersTotal(); for (i=0; i<=TotalOrders; i++){ if (OrderSelect(0,SELECT_BY_POS)==true){ if (OrderType()==OP_BUY)&& (???????????) OrderClose(OrderTicket(),OrderLots(),Bid,5,Red); if (OrderSelect(0,SELECT_BY_POS)==true){ if (OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket(),Green); }
Порядок перебора ордеров неверный. И еще - выбрать ордер достаточно один раз. Все есть на форуме в ответах, в учебнике и примерах.
при закрытии ордера позиции всех остальных смещаются, поэтому некоторые пропускаются. Попробуйте типа
Вот так и появляются легенды, что если в индикаторе\советнике\скрипте есть цикл for(), то он (индикатор\советник\скрипт) или заглядывает в будущее, или совсем неверно работает и что нужно использовать исключительно while(){} ;) ...... Недавно читал на форуме )))))))))))))))))))))
Удачи.
Вот так и появляются легенды, что если в индикаторе\советнике\скрипте есть цикл for(), то он (индикатор\советник\скрипт) или заглядывает в будущее, или совсем неверно работает и что нужно использовать исключительно while(){} ;) ...... Недавно читал на форуме )))))))))))))))))))))
Удачи.
да можно и с for сделать
for(int i=TotalOrders-1;i>=0;i--)
чтоб небыло легенд)))
Вот так и появляются легенды, что если в индикаторе\советнике\скрипте есть цикл for(), то он (индикатор\советник\скрипт) или заглядывает в будущее, или совсем неверно работает и что нужно использовать исключительно while(){} ;) ...... Недавно читал на форуме )))))))))))))))))))))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вот кусок закрытия позиции что нужно сюда вставить чтобы закрыть позици лишь в том случае когда она положительная
Буду примного благодарен!!!!