MrSerj
Элитный участник
Коллеги! Помогите найти ошибку:question:. В ниже представленном коде, прохожу по всем открытым ордерам. Далее, если из всех открытых позиций, пресутсвуют те у которых магические номера Magic1a1 и Magic2a2, то открытие ордера запрещено. То есть получается если через условие if (), то выполнение кода пропускается. Если же нету в открытых, позиций с магическими номера Magic1a1 и Magic2a2, то блок открытия нового ордера выполняется. Проблема в том, что в условиях или еще где-то я сделал что-то не правильно и получается так, первая позиция не открывается, пока в открытых ордерах, ни одного нету. А если открою рукой, то далее начинается выполняться код. В не зависимости, что в условиях указанно, при наличии каких открытых ордеров, новый открывать запрещено. За любую помощь, буду премного благодарен:idea:.
В общем итоге мне нужно сделать, чтобы выполнялись 3 подобных условия:?::
1)
// Если в открытых нету позиций с магическими номерами Magic1a1 и Magic2a2.
2)
// Если в открытых присутствует позиция с магическим номером Magic, но нету позиции с Magic2a2.
3)
// Если в открытых присутствуют позиции с магическими номерами Magic, Magic1a1, но при этом чтобы не было в открытых с номером Magic3a3.
Что я сделал не правильно и как будет правильно выглядеть и выполняться как нужно:question:?
PHP:
for (int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
int Mag = OrderMagicNumber();
if (Mag != Magic1a1 && Mag != Magic2a2) //---- Выполнение условий для открытия позиций.
{
// Блок кода открытия новой позиции
break;
}
}
В общем итоге мне нужно сделать, чтобы выполнялись 3 подобных условия:?::
1)
PHP:
if (Mag != Magic1a1 && Mag != Magic2a2)
2)
PHP:
if (Mag == Magic && Mag != Magic2a2)
3)
PHP:
if (Mag == Magic || Mag = = Magic1a1 && Mag != Magic3a3)
Что я сделал не правильно и как будет правильно выглядеть и выполняться как нужно:question:?