помогите новичку 2

 

Пишу советник, но в строчке "         switch(OrderType())" выдаёт ошибку 'OrderType' - internal error...

исправить не получается, подскажите что делать.

 P.S. есть абсолютно такая же строчка выше в коде, но там ошибку вообще не показывает... 


 
Ekburg:

Пишу советник, но в строчке "         switch(OrderType())" выдаёт ошибку 'OrderType' - internal error...

исправить не получается, подскажите что делать.


Почитать документацию
 
Reshetov:
Почитать документацию

читал, и до этого, всё правильно вроде бы..)
 
Ekburg:

Пишу советник, но в строчке "         switch(OrderType())" выдаёт ошибку 'OrderType' - internal error...

исправить не получается, подскажите что делать.

 P.S. есть абсолютно такая же строчка выше в коде, но там ошибку вообще не показывает... 


Если не получите ответ - бросите это дело (программирование на MQL)? Не бросите? Тогда может сразу сделайте то, что сделаете вместо бросите?! :)))
 
TarasBY:
Если не получите ответ - бросите это дело (программирование на MQL)? Не бросите? Тогда может сразу сделайте то, что сделаете вместо бросите?! :)))

глубокая мысль, но не в тему
 
Ekburg:
Алексей,, запостите сюда советник или хотя бы его часть с кодом, где появляется ошибка.
 
DmitriyN:
Алексей,, запостите сюда советник или хотя бы его часть с кодом, где появляется ошибка.


if (B1>0)
      {
      if (OrderSelect((10000+i),SELECT_BY_TICKET)==true)
         {
         switch(OrderType())
            {
            case 0:
               Buy=0;
               B1=0;
               i++;
               break;
            case 4:
               if ((TimeSeconds(TimeCurrent())==m)==True)
                  {
                  RefreshRates();
                  OrderModify((10000+i),ND(Ask+Point*MyPendingLevel),ND(Ask+Point*MyPendingLevel-Point*MySL),ND(Ask+Point*MyPendingLevel+Point*MyTP));
                  }
               break;
            }
         }
      else
         {
         Buy=0;
         B1=0;
         i++;
         }
      }
   if (S1>0)
      {
      if (OrderSelect((20000+j),SELECT_BY_TICKET)==true)
         {
         switch(OrderType())                  <<<<<<<<<<<<'OrderType' - internal error
            {
            case 1:
               Sell=0;
               S1=0;
               j++;
               break;
            case 5:
               if ((TimeSeconds(TimeCurrent())==m)==True)
                  {
                  RefreshRates();
                  OrderModify((20000+j),ND(Bid-Point*MyPendingLevel),ND(Bid-Point*MyPendingLevel+Point*MySL),ND(Bid-Point*MyPendingLevel-Point*MyTP));
                  }
               break;
            }
         }
      else
         {
         Sell=0;
         S1=0;
         j++;
         }
      }         
 
Ekburg:

if (B1>0)
      {
      if (OrderSelect((10000+i),SELECT_BY_TICKET)==true)
         {
         switch(OrderType())
            {
            case 0:
               Buy=0;
               B1=0;
               i++;
               break;
            case 4:
               if ((TimeSeconds(TimeCurrent())==m)==True)
                  {
                  RefreshRates();

                  OrderModify((10000+i),ND(Ask+Point*MyPendingLevel),ND(Ask+Point*MyPendingLevel-Point*MySL),

                  ND(Ask+Point*MyPendingLevel+Point*MyTP));

                  }
               break;
            }
         }
      else
         {
         Buy=0;
         B1=0;
         i++;
         }
      }
   if (S1>0)
      {
      if (OrderSelect((20000+j),SELECT_BY_TICKET)==true)
         {
         switch(OrderType())
            {
            case 1:
               Sell=0;
               S1=0;
               j++;
               break;
            case 5:
               if ((TimeSeconds(TimeCurrent())==m)==True)
                  {
                  RefreshRates();

                  OrderModify((20000+j),ND(Bid-Point*MyPendingLevel),ND(Bid-Point*MyPendingLevel+Point*MySL),

                  ND(Bid-Point*MyPendingLevel-Point*MyTP));

                  }
               break;
            }
         }
      else
         {
         Sell=0;
         S1=0;
         j++;
         }
      }         


SRC нажмите вверху!

if (B1>0)
      {
      if (OrderSelect((10000+i),SELECT_BY_TICKET)==true)
         {
         switch(OrderType())
            {
            case 0:
               Buy=0;
               B1=0;
               i++;
               break;
            case 4:
               if ((TimeSeconds(TimeCurrent())==m)==True)
                  {
                  RefreshRates();
                  OrderModify((10000+i),ND(Ask+Point*MyPendingLevel),
                  ND(Ask+Point*MyPendingLevel-Point*MySL),
                  ND(Ask+Point*MyPendingLevel+Point*MyTP));
                  }
               break;
            }
         }
      else
         {
         Buy=0;
         B1=0;
         i++;
         }
      }
   if (S1>0)
      {
      if (OrderSelect((20000+j),SELECT_BY_TICKET)==true)
         {
         switch(OrderType())
            {
            case 1:
               Sell=0;
               S1=0;
               j++;
               break;
            case 5:
               if ((TimeSeconds(TimeCurrent())==m)==True)
                  {
                  RefreshRates();
                  OrderModify((20000+j),ND(Bid-Point*MyPendingLevel),
                  ND(Bid-Point*MyPendingLevel+Point*MySL),
                  ND(Bid-Point*MyPendingLevel-Point*MyTP));
                  }
               break;
            }
         }
      else
         {
         Sell=0;
         S1=0;
         j++;
         }
      }         
 
Ekburg:

У вас OrderModify не выдаёт ошибку ')' - wrong parameters count ?

Если да, то попробуйте ввести 5-й параметр функции, хоть равный нулю:

OrderModify((10000+i),ND(Ask+Point*MyPendingLevel),ND(Ask+Point*MyPendingLevel-Point*MySL), ND(Ask+Point*MyPendingLevel+Point*MyTP), 0);

 
DmitriyN:

У вас OrderModify не выдаёт ошибку ')' - wrong parameters count ?

Если да, то попробуйте ввести 5-й параметр функции, хоть равный нулю:

OrderModify((10000+i),ND(Ask+Point*MyPendingLevel),ND(Ask+Point*MyPendingLevel-Point*MySL), ND(Ask+Point*MyPendingLevel+Point*MyTP), 0);


спасибо! получилось)) 

я думал поставить этот параметр, но не счёл нужным) 

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