Ошибки, баги, вопросы - страница 2060

Комбинатор:
Возможно в opencv есть

Там точно есть и много где еще. Но речь про СБ, где почему-то такой очевидной вещи просто нет.

Как в OnTesterInit получить дату начала тестирования?

Почему ордер с заполнением "Вся/частично" не работает на FORTS? Выбирается весь объем в стакане.

кто подскажет как закрыть позицию на хедж счете?

так понимаю нужно сначала для этой позиции выставить встречную и только после схлопнуть?

ход мыслей правильный?

Alexandr Bryzgalov:

кто подскажет как закрыть позицию на хедж счете?

Request.position = Ticket;
fxsaber:

думаю вот такая строка была бы полезнее:

   request.action=TRADE_ACTION_CLOSE_BY;                         // тип торговой операции

но спасибо и за это

Alexandr Bryzgalov:

думаю вот такая строка была бы полезнее:

Не правильно думаете.

fxsaber:

Не правильно думаете.

ну теперь-то все понятно )

спасибо что подтолкнули:

         ZeroMemory(request);
         ZeroMemory(result);
         //--- установка параметров операции
         request.action   =TRADE_ACTION_DEAL;        // тип торговой операции
         request.position =position_ticket;          // тикет позиции
         request.symbol   =position_symbol;          // символ 
         request.volume   =volume;                   // объем позиции
         request.deviation=5;                        // допустимое отклонение от цены
         request.magic    =EXPERT_MAGIC;             // MagicNumber позиции
         //--- установка цены и типа ордера в зависимости от типа позиции
         if(type==POSITION_TYPE_BUY)
           {
            request.price=SymbolInfoDouble(position_symbol,SYMBOL_BID);
            request.type =ORDER_TYPE_SELL;
           }
         else
           {
            request.price=SymbolInfoDouble(position_symbol,SYMBOL_ASK);
            request.type =ORDER_TYPE_BUY;
           }
         //--- вывод информации о закрытии
         PrintFormat("Close #%I64d %s %s",position_ticket,position_symbol,EnumToString(type));
         //--- отправка запроса
         if(!OrderSend(request,result))
            PrintFormat("OrderSend error %d",GetLastError());  // если отправить запрос не удалось, вывести код ошибки
         //--- информация об операции   
         PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
fxsaber:
Как в OnTesterInit получить дату начала тестирования?

Никак. Это к вопросу о том, что в MQL API отсутствуют способы узнать многие настройки тестера (давно писал в СД еще по МТ4, получил привычный отказ).

Начальную дату можно перехватить только в OnInit на агенте.

Stanislav Korotky:

Начальную дату можно перехватить только в OnInit на агенте.

Так и делал в Report. Но мне нужно именно в OnTesterInit, не позже.