[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 61

 

to artmedia70:

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

 
После закрытия еще раз поставьте OrderSelect.
 

to Roger:

Почему тогда OrderProfit() работает без такого? Что-то типо обновления данных?

 
Roger:
После закрытия еще раз поставьте OrderSelect.

Интересно, а зачем?
 
Vinin:
Roger:
После закрытия еще раз поставьте OrderSelect.

Интересно, а зачем?
Видимо догадки. Но Мне тоже стало интересно в чём же кроется ответ...
 
Ради интереса проверю предложение Roger. Правда это займет время :(
 
Vinin:

Интересно, а зачем?

Когда он в первый раз делает селект, каждой переменной присвается значение и OrderCloseTime() еще равно нулю. После закрытия, чтобы обновить эту переменную надо еще раз сделать селект. Или я не прав?
 
Roger:

Когда он в первый раз делает селект, каждой переменной присвается значение и OrderCloseTime() еще равно нулю. После закрытия, чтобы обновить эту переменную надо еще раз сделать селект. Или я не прав?

А разве сделки берутся не из истории? История - это некий массив. Зачем тогда лишний раз выделять в памяти под эти переменные место и присваивать им значения (на что тоже затрачивается время)... Бери нужную информацию напрямую из истории истории сделок и работай с ней.

История сделок в Моей трактовке - это закрытые и удалённые ордера, а также открытые и отложенные. Так как, например, Вы открыли ордер, и цена, время открытия и т.д. - это уже история! :))))) Каждая сделка имеет Свой уникальный номер = Ticket. Хороший такой массив получается! :D

Но это лишь рассуждения. Технической стороной выбора и работы со сделками Я никогда не интересовался.

 
Roger прав, все в порядке, если после закрытия снова выбрать ордер.
 
Всем спасибо за внимание! :3
Причина обращения: