Скачать MetaTrader 5

Изменение типа ордера.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
В библиотеке MQL5 уже больше 1500 программ. Поделись и ты своей!
Alexander
300
Alexander 2010.12.17 12:53 

Здравствуйте прошу помощи.

Никак не могу разобраться меняется ли тип ордера:

т.е. к примеру стоит ордер OP_BUYLIMIT, он сработал и стал рыночным, но при запросе через OrderType(), он всё равно остаётся OP_BUYLIMIT, а по идее должен быть OP_BUY

Вопрос как решить данную проблему. Необходимо знать стал ордер рыночным или до сих пор отложенный.

С уважением.

Александр.

techno
1226
techno 2010.12.17 13:01  
значит вы не правильно определяете тип ордера.
Andrey F. Zelinsky
31385
Andrey F. Zelinsky 2010.12.17 13:13  
Alex2112:

Здравствуйте прошу помощи.

Никак не могу разобраться меняется ли тип ордера:

т.е. к примеру стоит ордер OP_BUYLIMIT, он сработал и стал рыночным, но при запросе через OrderType(), он всё равно остаётся OP_BUYLIMIT, а по идее должен быть OP_BUY

Вопрос как решить данную проблему. Необходимо знать стал ордер рыночным или до сих пор отложенный.

С уважением.

Александр.


это не возможно. приведите свой код
o_o
Модератор
23724
o_o 2010.12.17 13:14  
потомучто вы не делаете OrderSelect повторно
Alexander
300
Alexander 2010.12.17 14:01  

}
//********************************************************************
//--------------------------------------------------------------------
// Нормализация цены с учетом шага изменения котировок:
//--------------------------------------------------------------------
double NormalisePrice( string _symbol, double _org_price )
{
double norm_price = _org_price;
double point = MarketInfo( _symbol, MODE_POINT );
int digits = MarketInfo( _symbol, MODE_DIGITS );
double min_price_step = NormalizeDouble( MarketInfo( _symbol, MODE_TICKSIZE ) / point, 0 ); // минимальный размер шага изменения котировок, пунктов
norm_price = NormalizeDouble( NormalizeDouble(( NormalizeDouble( _org_price / point, 0 )) / min_price_step, 0 ) * min_price_step * point, digits );
return( norm_price );
}

Alexander
300
Alexander 2010.12.17 14:35  
sergeev:
потомучто вы не делаете OrderSelect повторно

Выполняю как видите.
Alexander
300
Alexander 2010.12.17 14:40  

Я даже спрошу иначе:

Если я выставил ордер OP_BUYLIMIT, он сработал и стал рыночным, то при запросе через OrderType(), он должен быть OP_BUY ??

techno
1226
techno 2010.12.17 14:43  
Alex2112:

Я даже спрошу иначе:

Если я выставил ордер OP_BUYLIMIT, он сработал и стал рыночным, то при запросе через OrderType(), он должен быть OP_BUY ??

да, он таким и является.
Alexander
300
Alexander 2010.12.17 14:54  

Посмотрите я не использую MagicNumber может проблема в этом?

o_o
Модератор
23724
o_o 2010.12.17 15:03  
посмотрите сами в принте какой тикет ордера и магик.
Alexander
300
Alexander 2010.12.17 15:09  
sergeev:
посмотрите сами в принте какой тикет ордера и магик.


Понимаете я обрыл уже весь интернет но никак не могу найти ответ на очень простую вещь.

Если я поставил отложенный ордер например OP_BUYLIMIT и запомнил тикет этого ордера.

Ордер сработал и стал рыночным.

Используя OrderSelect через тикер который я запомнил и далее OrderType(), я всё равно получаю значение OP_BUYLIMIT ...

Что я делаю неправильно ... мне нужно получить значение OP_BUY

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий