Примеры: Управление ордерами – это просто - страница 3

 
Андрей, можете подсказать функцию, чтобы открытые ордера закрывались через 1,2 или 3 бара например. Использовал Fun_New_Bar, как не мудрил ордера закрываются на первом новом баре и после закрытого ордера на новом баре уже не открываются уже не открывается новый ордер. Хотел все это дело привязать к вашему советнику и в итоге оказался в лесу.
 
Arseniy Suharev:
Андрей, можете подсказать функцию, чтобы открытые ордера закрывались через 1,2 или 3 бара например. Использовал Fun_New_Bar, как не мудрил ордера закрываются на первом новом баре и после закрытого ордера на новом баре уже не открываются уже не открывается новый ордер. Хотел все это дело привязать к вашему советнику и в итоге оказался в лесу.
                        for ( int z = OrdersTotal()-1; z >= 0; z -- )
                        {
                                if ( !OrderSelect( z, SELECT_BY_POS, MODE_TRADES ) )
                                {
                                        Print( "OrderSelect( ", z, ", SELECT_BY_POS, MODE_TRADES ) - Error #", GetLastError() );
                                        continue;
                                }
                                if ( OrderMagicNumber() != MagicNumber ) ) continue;
                                if ( OrderSymbol() != _Symbol ) continue;
                
                                if ( OrderType() == OP_BUY || OrderType() == OP_SELL )
                                {
                                        if ( iBarShift( _Symbol, PERIOD_CURRENT, OrderOpenTime(), false ) >= 3 ) OrderClose( OrderTicket() );
                                }
                        }