Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нельзя. Либо нужно определиться с максимальным размером массива, либо динамически его изменять:
Только после этого массив можно заполнять.
Значит получается так:
но тогда снова вопрос: как сортировать динамичный массив не с 0 а с последнего значения?
Привет! Я почему-то нигде не встречал цикл перебора ордеров в цикле перебора ордеров. Такое практикуется? Можно так делать?
У меня такая задача: первый цикл ищет последний ордер а подцикл должен найти предпоследний ордер, вот с этим предпоследним проблема... незнаю как эго найти, может кто не пожалеет времени и даст наводку на мысль?
зачем там ДВА цикла ? надо найти последний и предпоследний, на так и найдите их...
datetime otime[2]={0};// время ордеров
int otciket[2]={-1}; // тикеты ордеров
for(int pos=OrdersTotal();pos>=0;pos--) {
.....
if (oticket[0]==-1) { oticket[0]=OrderTicket();otime[o]=OrderOpenTime(); }
else if (OrderOpenTime()>otime[0]) { otime[1]=otime[0]; oticket[1]=oticket[0]; oticket[0]=OrderTicket();otime[0]=OrderOpenTime(); }
else if (OrderOpenTime()>otime[1]) { otime[1]=OrderOpenTime();oticket[1]=OrderTicket();}
}
зачем там ДВА цикла ? надо найти последний и предпоследний, на так и найдите их...
datetime otime[2]={0};// время ордеров
int otciket[2]={-1}; // тикеты ордеров
for(int pos=OrdersTotal();pos>=0;pos--) {
.....
if (oticket[0]==-1) { oticket[0]=OrderTicket();otime[o]=OrderOpenTime(); }
else if (OrderOpenTime()>otime[0]) { otime[1]=otime[0]; oticket[1]=oticket[0]; oticket[0]=OrderTicket();otime[0]=OrderOpenTime(); }
else if (OrderOpenTime()>otime[1]) { otime[1]=OrderOpenTime();oticket[1]=OrderTicket();}
}
спасибо, буду пробовать... получается oticket[0] это пердпоследний а oticket[1] это последний ордера, так?
Выведите на Print(), и посмотрите результат, так будет быстрее, чем писать сообщение, а потом ждать ответ
Выведите на Print(), и посмотрите результат, так будет быстрее, чем писать сообщение, а потом ждать ответ
Можно сделать цикл в цикле. Только перед вторым циклом надо в переменных сохранить параметры ордера выделенного в первом цикле.
Можно сделать цикл в цикле. Только перед вторым циклом надо в переменных сохранить параметры ордера выделенного в первом цикле.
Решил проблему так:
незнаю насколько это правильно с точки зрения программирования, но оно работает... как по мне так это самое важное.
Привет! Я почему-то нигде не встречал цикл перебора ордеров в цикле перебора ордеров. Такое практикуется? Можно так делать?
У меня такая задача: первый цикл ищет последний ордер а подцикл должен найти предпоследний ордер, вот с этим предпоследним проблема... незнаю как эго найти, может кто не пожалеет времени и даст наводку на мысль?
Учтите, что количество доступных ордеров, возвращаемое функцией OrdersTotal(), зависит от настроек истории
Проверьте
Извините, перепутал с OrdersHistoryTotal()
Учтите, что количество доступных ордеров, возвращаемое функцией OrdersTotal(), зависит от настроек истории
Проверьте
Вы что-то перепутали.