ВОПРОЗ НА ЗАСЫПКУ.

 

Знаю что можно выбрать из истории ордеров предыдущий ордер

например

for (int j=0; j<OrdersHistoryTotal(); j++)
{
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()<0))

ну и сделать с ним что угодно....

ВОПРОС

Можно ли выбрать не последний а предпоследний 3-й 4-й 5-й с конца.... если да то как это сделать ...

 
arp_net >>:

Знаю что можно выбрать из истории ордеров предыдущий ордер

например

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))...................//это четвертый


 
forex-k >>:

Можно и очень просто! только доступ к истории в терминале должен быть включен "вся история"

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 независимо от сортировки.

 
Scriptong >>:

Нет, такой подход возможен только в тестере. В онлайн история счета может быть отсортирована как угодно. Поэтому нужно пройтись по всей доступной историии счета и составить массив ордеров по времени закрытия. А уже из массива брать нужный 1-ый, 2-ой, 3-ий и т. д.

скриптом проверял вроде сортируется нормально!