На одном сайте в видео уроке нашел следующую функцию:
Попробовал применить, но по каким то причинам не выполняется учет по magic номеру т.е. если удаляю OrderMagicNumber()==Magic - учитываются все ордера, но если ее добавляю, то ордеров 0. P.S. ордера с данным magic номером созданы.
В советнике использую так:
В чем может быть ошибка и как ее исправить?
PHP:
void Uchet_orderov (int Magic, string Symb, int &mas[8])
{
ArrayInitialize(mas,0);
//mas[0] - покупки
//mas[1] - покупки
//mas[2] - buylimit
//mas[3] - selllimit
//mas[4] - buystop
//mas[5] - sellstop
//mas[6] - cделки
//mas[7] - отложки
int tip;
for(int pos=OrdersTotal()-1; pos>=0; pos--)
{
if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)&&OrderMagicNumber()==Magic&&OrderSymbol()==Symb&&OrderTicket()!=tiket)
{
tip=OrderType();
switch(tip)
{
case 0:{mas[0]++;mas[6]++;break;}
case 1:{mas[1]++;mas[6]++;break;}
case 2:{mas[2]++;mas[7]++;break;}
case 3:{mas[3]++;mas[7]++;break;}
case 4:{mas[4]++;mas[7]++;break;}
case 5:{mas[5]++;mas[7]++;break;}
}
}
continue;
}
}
Попробовал применить, но по каким то причинам не выполняется учет по magic номеру т.е. если удаляю OrderMagicNumber()==Magic - учитываются все ордера, но если ее добавляю, то ордеров 0. P.S. ордера с данным magic номером созданы.
В советнике использую так:
PHP:
extern int MagicNumber = 2014;
int orders[8];
Uchet_orderov(MagicNumber, Symbol(), orders);
Comment ("Покупки: " + orders[0] + "Продажи: " + orders[1]);
В чем может быть ошибка и как ее исправить?