Знаю что можно выбрать из истории ордеров предыдущий ордер
например
for (int j=0; j<OrdersHistoryTotal(); j++)
{
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()<0))
ну и сделать с ним что угодно....
ВОПРОС
Можно ли выбрать не последний а предпоследний 3-й 4-й 5-й с конца.... если да то как это сделать ...
Можно и очень просто! только доступ к истории в терминале должен быть включен "вся история"
if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))...................//это первый
if(OrderSelect(OrdersHistoryTotal()-2,SELECT_BY_POS,MODE_HISTORY))...................//это второй
if(OrderSelect(OrdersHistoryTotal()-3,SELECT_BY_POS,MODE_HISTORY))...................//это третий
if(OrderSelect(OrdersHistoryTotal()-4,SELECT_BY_POS,MODE_HISTORY))...................//это четвертый
Можно и очень просто! только доступ к истории в терминале должен быть включен "вся история"
if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))...................//это первый
if(OrderSelect(OrdersHistoryTotal()-2,SELECT_BY_POS,MODE_HISTORY))...................//это второй
if(OrderSelect(OrdersHistoryTotal()-3,SELECT_BY_POS,MODE_HISTORY))...................//это третий
if(OrderSelect(OrdersHistoryTotal()-4,SELECT_BY_POS,MODE_HISTORY))...................//это четвертый
Нет, такой подход возможен только в тестере. В онлайн история счета может быть отсортирована как угодно. Поэтому нужно пройтись по всей доступной историии счета и составить массив ордеров по времени закрытия. А уже из массива брать нужный 1-ый, 2-ой, 3-ий и т. д.
Мне, почему-то, всегда казалось, да и сейчас все еще так думаю, что последний закрытый ордер имеет порядковый номер OrdersHistoryTotal()-1 независимо от сортировки.
Нет, такой подход возможен только в тестере. В онлайн история счета может быть отсортирована как угодно. Поэтому нужно пройтись по всей доступной историии счета и составить массив ордеров по времени закрытия. А уже из массива брать нужный 1-ый, 2-ой, 3-ий и т. д.
скриптом проверял вроде сортируется нормально!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Знаю что можно выбрать из истории ордеров предыдущий ордер
например
for (int j=0; j<OrdersHistoryTotal(); j++)
{
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()<0))
ну и сделать с ним что угодно....
ВОПРОС
Можно ли выбрать не последний а предпоследний 3-й 4-й 5-й с конца.... если да то как это сделать ...