is not expert and cannot be executed. Ошибка при прикреплении советника к счету. - страница 3

 
Lenar Shajdullin:
Все правильно, по такому шаблону сделано.

Вы глазами проверили или всё-таки скопировали приведенный код в файл и попробовали скомпилировать и прицепить на график?

Это важно, напишите.

 
void OnStart()
  {
//---
   ................
   Alert("Лицензионный ключ   "+DoubleToString(a,0));
   
  }
int OnInit()
  {
   string str, str1,str2;
   double levelk=level1-25*Rasstoyanie*Point;
   if(Koridor==0) Koridor=(int)MarketInfo(NULL,MODE_SPREAD);
   if(ForwardPoint!=0) lvlfinish=lvlfinish-ForwardPoint;
.............................
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)
  {
//---
   
  }
void OnTick()
  {
   if(Schetchik(OP_BUY,0)==0 && Schetchik(OP_BUYSTOP,0)!=0){
      CloseAllPositions(OP_BUYSTOP,0);
   }
   if(Schetchik(OP_SELL,0)==0 && Schetchik(OP_SELLSTOP,0)!=0){
      CloseAllPositions(OP_SELLSTOP,0);
   } 
//+------------------------------------------------------------------+
//| Блок трала                                                       |
//+------------------------------------------------------------------+
if(Tral==true) RavnoTral();
.....................
if(maxSpread>(int)MarketInfo(NULL,MODE_SPREAD)){
if(MM==true) lot=LotsCalc();
//+------------------------------------------------------------------+
//| Блок фиксации прибыли                                            |
//+------------------------------------------------------------------+
   if(vklFIXprofit==true){
      for(int i7=OrdersTotal()-1; i7>=0; i7--) {
         if(!OrderSelect(i7,SELECT_BY_POS,MODE_TRADES)) continue;
.....................................
tries=0;
if((nomv==2 || nomv==3) && podschet(OP_SELL)==true && Schetchik(OP_BUY,MagicP1)==0 &&
   Schetchik(OP_BUYSTOP,MagicP1)==0 &&
   Ask-(level()+Koridor*Point)>=0 &&
   Ask-(level()+Koridor*Point)<spread*Point){
   TPB=NormalizeDouble(level()+lvlfinish*Point,Digits);
   SLB=NormalizeDouble(level()-lvlstop*Point,Digits);
      while(tries<3){
         ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,Slippage,SLB,TPB,"Пробитие уровня",MagicP1,0,ClBuy);
            if(ticket<=0){
                  Print("Error Accured : ",ErrorDescription(GetLastError())," BuyStop @ ",OP,"TakeProfit",TPB);
                  tries++;}
                     else tries=3;
                  }
 TextCreate(0,"BuyLVL",0,0,Ask,"Покупка пробитие уровня","Arial",8,ClrTXT,0,0,false,false,true,0);
      }
.......................................
   if(peremen!=Bars){
//+------------------------------------------------------------------+
//| Блок открытия сделок по экстремумам                              |
//+------------------------------------------------------------------+
      if(Schetchik(OP_BUY,MagicP)!=0 && vkl_extrem_sdelki==true && Schetchik(OP_BUYSTOP,Magic)==0 && Schetchik(OP_BUY,Magic)==0){
         if(iHighest(NULL,TF,MODE_HIGH,10,1)==3 && Schetchik(OP_BUYSTOP,Magic)==0 && Schetchik(OP_BUY,Magic)==0){
            OP=NormalizeDouble(High[iHighest(NULL,TF,MODE_HIGH,10,1)],Digits);
......................................
              ((SchetchikPriceMAX(OP_SELL,Magic)>SLS && SchetchikPriceMAX(OP_SELL,Magic)!=0 && Schetchik(OP_SELL,Magic2)!=0) || 
              (SchetchikPriceMAX2(OP_SELL,Magic2)>SLS && SchetchikPriceMAX(OP_SELL,Magic2)!=0 && Schetchik(OP_SELL,Magic2)>1) ||
              (SchetchikPriceMAX(OP_SELL,Magic2)>SLS && SchetchikPriceMAX(OP_SELL,Magic2)!=0 && Schetchik(OP_SELL,Magic2)>1))
               
               ) {
            SL=NormalizeDouble(SLS,Digits);
            while(tries<3){
            ticket=OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0,Purple);
               if(ticket<=0){
                  Print("Error Accured : ",ErrorDescription(GetLastError())," SellOrderModify, SL @ ",SL);
                  tries++;}
                     else tries=3;
                                 }
                              }
                           }
                        }
                     }
                  }
               }
            }
......................
//+------------------------------------------------------------------+
//| Счетчик открытых позиций                                         |
//+------------------------------------------------------------------+
int Schetchik(int type,int magic) {
int a=0;
  for (int i=OrdersTotal()-1; i>=0; i--) {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
    if (OrderSymbol() != Symbol()) continue;
    if (OrderType()!= type) continue;
    if (OrderMagicNumber()==magic || magic==0){
    if (OrderType()==OP_BUY) {
      a++;
    }
      if (OrderType()==OP_BUYSTOP) {
      a++;
    } 
      if (OrderType()==OP_SELLSTOP) {
      a++;
    }
    if (OrderType()==OP_SELL) {
      a++;
    }
      if (OrderType()==OP_BUYLIMIT) {
      a++;
    } 
      if (OrderType()==OP_SELLLIMIT) {
      a++;
    }
  }}
return(a);}
..................
..................
.................
....................
.................
 
Lenar Shajdullin:
А теперь сравните с верным шаблоном и удалите лишнее :)
 

Я, кажется уже нашел проблему, читая код на предыдущих страницах.

У вас функция OnStart есть.


Функция OnStart() является обработчиком события Start, которое автоматически генерируется только для запущенных на выполнение скриптов.

 
Igor Konyashin:

Вы глазами проверили или всё-таки скопировали приведенный код в файл и попробовали скомпилировать и прицепить на график?

Это важно, напишите.

Я сам его написал. В тестовом режиме все норм работало, когда открыл реальный счет, вижу что не работает.
 
Удалите нахрен OnStart, и будет вам щастье.
 
Igor Konyashin:

Опередили, но я кажется уже нашел проблему.

У вас функция OnStart есть.


Функция OnStart() является обработчиком события Start, которое автоматически генерируется только для запущенных на выполнение скриптов.

Я удалял его, эта функция всего несколько строк. Почти бесполезная. Все равно та же ошибка
 
Karputov Vladimir:
А теперь сравните с верным шаблоном и удалите лишнее :)

ахахахахаха... А вы точно убедились, что вилка вставлена в розетку до конца? примерно так?

 
Igor Konyashin:
Удалите нахрен OnStart, и будет вам щастье.
Удалял не работает
 
Lenar Shajdullin:
Бред. Ошибки. Не компилируется.
Причина обращения: