Помогите исправить. Не считает количество ордеров на покупку

От kinder_11, 23 апреля, 2015 в Архив

Автор#1

Собственно вот код, программа работает нормально только пишет постоянно что ноль ордеров открыто хотя я открываю много на покупку

extern int magic = 123;
//+------------------------------------------------------------------+

void OnTick()
{
int count = 0;
for(int trade = OrdersTotal()-1; trade >=0; trade--)
{
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == NULL && OrderMagicNumber() == magic)
{
if(OrderType() == OP_BUY)
count++ ;
}
}
Print(count);
}

Изменено 23 апреля, 2015 пользователем kinder_11

#2

Пробуй вместо OrderSymbol() == NULL - OrderSymbol() == _Symbol

Автор#3


Пробуй вместо OrderSymbol() == NULL - OrderSymbol() == _Symbol

Изменено 24 апреля, 2015 пользователем kinder_11

#4

У Вас какой билд терминала (едитора)?
Пробуй без символа - по магику
ещё добавь проверку - if (!OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) continue;

Автор#5


У Вас какой билд терминала (едитора)?
Пробуй без символа - по магику
ещё добавь проверку - if (!OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) continue;


билд 1035

Добавлено: 23-04-2015 12:06:20


У Вас какой билд терминала (едитора)?
Пробуй без символа - по магику
ещё добавь проверку - if (!OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) continue;


терминала 765

Добавлено: 23-04-2015 12:49:56


Пробуй вместо OrderSymbol() == NULL - OrderSymbol() == _Symbol


return value of 'OrderSelect' should be checked - вот такую пишет ошибку

Изменено 23 апреля, 2015 пользователем kinder_11

#6

return value of 'OrderSelect' should be checked - вот такую пишет ошибку

Это не ошибка, а предупреждение, сделайте как в моём пред. посте - исчезнет

Добавлено: 23-04-2015 15:13:15

:d
а я даже не глянул...
Автор#7


return value of 'OrderSelect' should be checked - вот такую пишет ошибку

Это не ошибка, а предупреждение, сделайте как в моём пред. посте - исчезнет

Добавлено: 23-04-2015 15:13:15

:d
а я даже не глянул...

сделал все как сказал не получается пишет ноль ордеров и все

Добавлено: 24-04-2015 06:00:49


return value of 'OrderSelect' should be checked - вот такую пишет ошибку

Это не ошибка, а предупреждение, сделайте как в моём пред. посте - исчезнет

Добавлено: 23-04-2015 15:13:15

:d
а я даже не глянул...

бред какой то, уже вроде все перепроверил от и до

Изменено 24 апреля, 2015 пользователем kinder_11

#8

А обычная проверка OrderSymbol() == Symbol() не катит?

Автор#9


А обычная проверка OrderSymbol() == Symbol() не катит?


не катит один хрен не считает ордера(

Изменено 24 апреля, 2015 пользователем kinder_11

#10

Тогда не знаю, может спецы что посоветутют. ИМХО это у вас индивидуальная трабла терминала, если такие очевидные вещи не работают.

#11

Проблема в самом условии цикла.
for (int i=0; i {
if((OrderSelect(i,SELECT_BY_POS)==true) // Если есть следующ.
{

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025