[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 533

 
Sancho77:

Уважаемые, тестирую советника в тестере и в журнале выдается ошибка 138. Т.е. что получается, тестер генерирует реквоты? Подозреваю что у меня ошибка где то в этой части кода

Если действительно ошибка - подскажите, что неправильно?

Скрорее всего неправильная цена в OrderClose()
 
PapaYozh:

Скрорее всего неправильная цена в OrderClose()
А как проверить/исправить?
 
Sancho77:
А как проверить/исправить?

Использовать цену действительную на момент отправки на сервер запроса.
 
PapaYozh:

Использовать цену действительную на момент отправки на сервер запроса.
А разве я с помощью RefreshRates не получаю действующую цену?
 
Sancho77:
А как проверить/исправить?


Вообще, ветка экстрасенсов ждет этого вопроса. Из Вашего кода не понятно, что за ордер Вы закрываете.

Это OP_BUY ?

OrderSymbol() совпадает с Symbol() ?

 
Sancho77:
А разве я с помощью RefreshRates не получаю действующую цену?


Получаете, если RefreshRates() вернула true.

Вопрос лишь в том: "является ли Bid той ценой, по которой можно закрыть ордер?"

 
PapaYozh:


Вообще, ветка экстрасенсов ждет этого вопроса. Из Вашего кода не понятно, что за ордер Вы закрываете.

Это OP_BUY ?

OrderSymbol() совпадает с Symbol() ?


OrderSymbol() совпадает с Symbol()

Закрываю все открытые ордера и лонги и шорты.

PapaYozh:


Получаете, если RefreshRates() вернула true.

Вопрос лишь в том: "является ли Bid той ценой, по которой можно закрыть ордер?"

Т.е. разделить закрытие лонгов и шортов?

 
Sancho77:

OrderSymbol() совпадает с Symbol()

Закрываю все открытые ордера и лонги и шорты.


какие еще шорты по цене Bid ?

По Bid можно закрывать только ордера с типом OP_BUY

 
PapaYozh:


какие еще шорты по цене Bid ?

По Bid можно закрывать только ордера с типом OP_BUY

Спасибо за помощь!
 
Sancho77:

OrderSymbol() совпадает с Symbol()

Закрываю все открытые ордера и лонги и шорты.

Т.е. разделить закрытие лонгов и шортов?


if ( OrderType()=OP_BUY )
   OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
else if ( OrderType()=OP_SELL )
   OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);