Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Добавили поддержку испанского языка. Заходи и изучай!
Ilya Malev
10189
Ilya Malev 2013.02.16 18:29 

Как максимально корректно организовать проверку на то, выбран ли в данный момент ордер?

В частности это нужно для многих функций, которые работают с ордерами, чтобы запоминать текущий выбранный ордер при начале работы функции и восстанавливать выбор ордера при завершении, чтобы выбор ордера из-за выполнения функции не сбивался (это приводит иногда к трудно обнаружимым ошибкам).

Если сделать так:

void SomeFunс()

{

int tick=OrderTicket();

// ..... 

if(tick>0) OrderSelect(tick,SELECT_BY_TICKET); 

То на первой строчке будет генерироваться ошибка 4105, если текущий ордер не выбран, что разумеется нежелательно. Если перед этим сбрасывать last error и проверять после этого наличие ошибки, то у нас сбросится информация о последней ошибке, что также нежелательно, если последняя ошибка должна анализироваться позже в каком-то определенном месте кода.

Как решить эту задачу без генерирования ошибки 4105 если текущий ордер не выбран?

Рустам
3602
Рустам 2013.02.16 18:41  
О конструкции if(OrderSelect(ticket,SELECT_BY_TICKET)){} не слыхали , не ?
Ilya Malev
10189
Ilya Malev 2013.02.16 18:42  
FAQ:
О конструкции if(OrderSelect(ticket,SELECT_BY_TICKET)){} не слыхали , не ?

 ticket то неизвестен, вы хоть вникли в вопрос?

Рустам
3602
Рустам 2013.02.16 18:43  

тогда что это ???

int tick=OrderTicket();

Рустам
3602
Рустам 2013.02.16 18:43  
вот она и вернет вам фолс
Ilya Malev
10189
Ilya Malev 2013.02.16 18:45  
FAQ:

тогда что это ???

 

Это то, что генерирует ошибку 4105 если ордер не выбран, задача избежать генерации этой ошибки, но при этом узнать тикет ордера, если он выбран ранее

Рустам
3602
Рустам 2013.02.16 18:47  
ответ: сначала выберите ордер.
Ilya Malev
10189
Ilya Malev 2013.02.16 18:48  
FAQ:
ответ: сначала выберите ордер.

 Как я могу выбрать ордер, если я не знаю его тикет?

Ilya Malev
10189
Ilya Malev 2013.02.16 18:48  

Короче уважаемый FAQ, либо попытайтесь понять вопрос либо не пишите попусту

Рустам
3602
Рустам 2013.02.16 18:49  
по номеру в цикле.
Рустам
3602
Рустам 2013.02.16 18:50  
Ant_TL:

Короче уважаемый FAQ, либо попытайтесь понять вопрос либо не пишите попусту


  Уважаемый, если бы у вас в голове, было бы хоть капля разума, то вы бы поняли что :

  1) ваш вопрос по сути бессмысленен. 

  2) не стоит хамить, тем более когда вам пытаются помочь. 

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