У вас открытие ордера-то происходит? Что в логах пишется?
Алерт выдает ноль.
Ордер открывается.
Без Sleep работает. В OnTrade тоже работает - и тоже без Sleep.Это один из частных случаев - иногда успеет открыться, а чаще всего, не успеет. В общем случае такой подход не должен работать.
У меня эксперт открывает ордер с тикетом2, я его ловлю в OnTrade. В итоге принт когда хочет тогда и выводит цену открытия:
void OnTrade() { OrderSelect(ticket2); double a = OrderGetDouble(ORDER_PRICE_OPEN); Print(a,Money№1_SELLorBUY,ticket2,"***"); }
Вроде сделал как вы и писали. Какой тогда должен быть подход ?
у меня эксперт открывает ордер с тикетом2, я его ловлю в ontrade. в итоге принт когда хочет тогда и выводит цену открытия:
вроде сделал как вы и писали. какой тогда должен быть подход ?
на мой взгляд, должно работать вот так:
void ontrade() { if (!orderselect(ticket2)) return; double a = ordergetdouble(order_price_open); print(a,money№1_sellorbuy,ticket2,"***"); }
только заметьте, что подобный подход работает лишь для ордеров. для позиций следует использовать positionselect.
p. s. почему-то все заглавные символы автоматически преобразовываются в строчные...
на мой взгляд, должно работать вот так:
только заметьте, что подобный подход работает лишь для ордеров. для позиций следует использовать positionselect.
p. s. почему-то все заглавные символы автоматически преобразовываются в строчные...
void OnTrade() { if (!OrderSelect(ticket2)) return; double a = OrderGetDouble(ORDER_PRICE_OPEN); Print(a,Money№1_SELLorBUY,ticket2,"***"); }
Принт молчит. Что делать?
С позицией вроде работает:
void OnTrade() { if (!PositionSelect(Money№1)) return; double open_price=PositionGetDouble(POSITION_PRICE_OPEN); Alert(open_price); }
Так тоже работает:
OrderGetTicket(0); double open_price=OrderGetDouble(ORDER_PRICE_OPEN); Alert(open_price);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите пожалуйста что делать? Раньше выдавал цену открытия а сейчас нет:
Алерт выдает ноль.