Прошу помочь с кодом советника

 

Здравствуйте.

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

Суть в том, что открывается серия ордеров допустим buy и пока не закроется последний ордер, ордера sell открываться не будут.

Какое условие отвечает за этот порядок ?

Надо сделать, чтобы ордера buy и sell могли быть в рынке одновременно.

 
scalper-ea:

Здравствуйте.

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

Суть в том, что открывается серия ордеров допустим buy и пока не закроется последний ордер, ордера sell открываться не будут.

Какое условие отвечает за этот порядок ?

Надо сделать, чтобы ордера buy и sell могли быть в рынке одновременно.

Чтобы ответить на вопрос нужен код советника, телепатов здесь нет.)
 

khorosh:


Посмотрите код, надеюсь поможете.

Файлы:
 
scalper-ea:


Код сырой. Обратитесь за помощью сюда.
 
khorosh:

Код сырой. Обратитесь за помощью сюда.


Понятно, денег проще срубить за новый сов решили))

Сам разберусь!!

 

scalper-ea, - код у вас большой, с ходу трудновато вникнуть.

Навскидку вот, для начала попробуйте разделить так наз. Мэджики отдельно ордеров BUY  (напр.MagicNumber_buy)  и отдельно ордеров SELL  (напр.MagicNumber_sell) в тех условиях (входа/выхода/модернизации),  где они присутствуют   if   (OrderMagicNumber() == MagicNumber )

Возможно, этого будет достаточно.  

int OpenPosition(int OpType) {
//+--------------------------------------------------------------------------------------------------------------+
   int bl=0,sl=0,bs=0,ss=0,rb=0,rs=0;
   for (int i = OrdersTotal() - 1; i >= 0; i--)
    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol())
    {   
    if (OrderType()==OP_BUYLIMIT&&OrderMagicNumber()==MagicNumber)bl=1;
    if (OrderType()==OP_SELLLIMIT&&OrderMagicNumber()==MagicNumber)sl=1;
    if (OrderType()==OP_SELLSTOP&&OrderMagicNumber()==MagicNumber)ss=1;
    if (OrderType()==OP_BUYSTOP&&OrderMagicNumber()==MagicNumber)bs=1;

 Разберитесь "конкретно" с функцией  OrderMagicNumber() - как она применена в работе кода.

Причина обращения: