Всё правильно, только вопрос был не о БАРАХ, а об ОРДЕРАХ.
Я бы сделал без массивов, достаточно двух переменных.
для всех открытых, но еще не закрытых ордеров:
double MinOpenedOrderPrice() { double result = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if((result>OrderOpenPrice())||(result==0)) result = OrderOpenPrice(); } return(result); } double MaxOpenedOrderPrice() { double result = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(result<OrderOpenPrice()) result = OrderOpenPrice(); } return(result); }чтобы написать для "нескольких" нужно знать условия по которым они выбираются
Всё правильно, только вопрос был не о БАРАХ, а об ОРДЕРАХ.
Я бы сделал без массивов, достаточно двух переменных.
А я тут голову ломаю как связать эти бары с ордерами...спасибо
для всех открытых, но еще не закрытых ордеров:
double MinOpenedOrderPrice() { double result = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if((result>OrderOpenPrice())||(result==0)) result = OrderOpenPrice(); } return(result); } double MaxOpenedOrderPrice() { double result = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(result<OrderOpenPrice()) result = OrderOpenPrice(); } return(result); }чтобы написать для "нескольких" нужно знать условия по которым они выбираются
Никак не пойму, как мы сравниваем result равный 0, с OrderOpenPrice()???
для всех открытых, но еще не закрытых ордеров:
double MinOpenedOrderPrice() { double result = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if((result>OrderOpenPrice())||(result==0)) result = OrderOpenPrice(); } return(result); } double MaxOpenedOrderPrice() { double result = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(result<OrderOpenPrice()) result = OrderOpenPrice(); } return(result); }чтобы написать для "нескольких" нужно знать условия по которым они выбираются
Никак не пойму, как мы сравниваем result равный 0, с OrderOpenPrice()???
А не доглядел малеха...все разобрался, спасибо! А что имелось ввиду под "несколькими"?
так и сравниваем (пример для MaxOpenedOrderPrice) :
если OrderOpenPrice() больше result, то result=OrderOpenPrice() . так перебирая все ордера в переменной result останется максимальное OrderOpenPrice(). result=0 - лишь начальное значение, т.е. функция вернет ноль только если нет ни одного открытого ордера... можно использовать и другое значение, -1 например, не принципиально.
А не доглядел малеха...все разобрался, спасибо! А что имелось ввиду под "несколькими"?
Например только бай ордера, или только EURUSD или еще по каким параметрам...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Может кто подскажет как выбрать наименьшую (наибольшую) цену открытия для нескольких открытых ордеров?
Заранее спасибо!