| / | Форум |
|
valenok2003
15.06.2010 15:45
Такая void Close_All() { int Total = OrdersTotal(); for (int i=0; i < Total; i++) //требует уточнения эта строка { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { switch(OrderType()) { case OP_BUY : OrderClose(OrderTicket(),OrderLots(),Bid,5); break; case OP_SELL: OrderClose(OrderTicket(),OrderLots(),Ask,5); break; default : break; } } } } или такая... void Close_All() { int Total = OrdersTotal(); for (int i=1; i <= Total; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { switch(OrderType()) { case OP_BUY : OrderClose(OrderTicket(),OrderLots(),Bid,5); break; case OP_SELL: OrderClose(OrderTicket(),OrderLots(),Ask,5); break; default : break; } } } } и будет ли эта функция закрывать все ордера? У меня закрывает почему-то только один ордер, не могу понять причину. |
|
Бесплатная Groupware для групп разработчиков Установите систему групповой работы TeamWox и объедините усилия всех разработчиков. Это поможет вашей команде работать быстрее и организованнее. Благодаря TeamWox станет намного проще ставить задачи и контролировать их выполнение. |
|
TheXpert
15.06.2010 15:46
Обе фтопку.
|
|
valenok2003
15.06.2010 15:47
TheXpert: Обе фтопку. Пачиму? |
|
Bicus
15.06.2010 15:50
valenok2003: Пачиму?
int Total = OrdersTotal(); for (int i=Total; i>=1; i--) if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true) ... |
|
PapaYozh
15.06.2010 15:54
valenok2003: ПАТАМУ, что ни один из Ваших вариантов не закроет ВСЕ ордера, если их больше 1-го.
Пачиму? |
|
DDFedor
15.06.2010 15:58
даже один единственный ордер... может не закрыть... |
|
valenok2003
15.06.2010 16:10
OrdersTotal() - Возвращает общее количество открытых и отложенных ордеров Для OrderSelect() - нумерация начинается с единицы или с нуля? |
|
vasya_vasya
15.06.2010 16:12
valenok2003: OrdersTotal() - Возвращает общее количество открытых и отложенных ордеров Для OrderSelect() - нумерация начинается с единицы или с нуля? Подумайте, что происходит с нумерацией после закрытия, хотя бы одного ордера. Нумерация начинается с нуля. |
|
Techno
15.06.2010 16:18
Первая в принципе правильная, закроет все ордера, только надо цены закрытия нормализовать. Вторая фтопку, не все ордера закроет(цикл не верно составлеен)
|
|
valenok2003
15.06.2010 16:19
Ага, въехал,много праздников плохо на мозги влияет. )))) Спасибо! |
|
PapaYozh
15.06.2010 16:20
Techno:
Первая в принципе правильная, закроет все ордера, только надо цены закрытия нормализовать. Вторая фтопку, не все ордера закроет(цикл не верно составлеен)
если не верите, проведите эксперемент на демо. |
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий