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

 
Смешались в кучу кони, люди...
 

Объясняю же оставил один блок void OnTick() {} пустой и входные параметры.

 extern int                    Number=0; //Номер торгового счета

extern int                    maxSpread=25;

extern double                 KursDollara=0;    

extern int                    lvlfinish=200;

extern int                    ForwardPoint=30;

extern int                    lvlstop=150;

extern bool                   PervoeKasanie=false;

extern string                 POM1="1-только отбитие, 2-только пробитие, 3-отбитие+пробитие";

extern int                    nomv=1;

extern string                 POM11="Блок петли";

extern bool                   petlya=true;

extern string                 POM14="Максимальная пограешность для касания уровня";

extern int                    Pogreshnost=15;

extern int                    Koridor=0;

extern ENUM_TIMEFRAMES        TF=PERIOD_M1;

extern int                    kol_vo=5;

extern int                    minpunkt=50;

extern int                    maxpunkt=300;

extern double                 lot=0.1;

extern string                 POM17="Включиени АО индикатора";

extern bool                   AO=false;


extern string                 POM12="Блок фиксации прибыли";

extern string                 POM16="На каком уровне переносить позицию в бу(1,2,3,4)";

extern int                    jul=1;

extern bool                   vklFIXprofit=true;

extern int                    MinBezubitok=10;

extern int                    LVL1fiks=100;

extern double                 LOT1fiks=0.03;

extern int                    LVL2fiks=0;

extern double                 LOT2fiks=0;

extern int                    LVL3fiks=0;

extern double                 LOT3fiks=0;

extern int                    LVL4fiks=0;

extern double                 LOT4fiks=0;


extern string                 POM10="Блок безубытка, мин безубыток выше";

extern bool                   bezubitok=false;

extern int                    VklBezubitok=100;


extern string                 POM2="Блок мани менеджмента";

extern bool                   MM=false;

extern double                 LotPercent=2.0;


extern string                 POM13="Вкл/выкл сделок по ближайшему экстремуму";

extern bool                   vkl_extrem_sdelki=true;

extern int                    Bliz=50;

extern string                 POM111="После какого отката отложенный ордер по экстремуму закроется";

extern int                    Procent=80;

extern string                 POM15="Лоты для открытия сделок по экстремума";

extern double                 lot1=0.1;

extern double                 lot_2=0;

extern double                 lot_3=0;

extern double                 lot_4=0;

extern double                 lot_5=0;

extern int                    minProfit=200;

extern int                    maxStop=200;


extern string                 POM3="Блок мультиордера";

extern bool                   multiorder=true;

extern string                 POM5="Через сколько пунктов открывать сделки мультиордера";

extern int                    lvlmultiorder=30;

extern string                 POM8="Максимальное количество сделок мультиордера после каждого экстремума";

extern int                   kolvosdelok=3;

extern double                 lot2=0.01;

extern string                 POM4="Закрываем все плюсовые сделки при образовании экстремума";

extern bool                   zakr=false;

extern string                 POM55="Стоп МО ставим там же где и экстремумы";

extern bool                   zakr2=false;

extern string                 POM66="Закрываем все сделки +1 тик при откате более 40%";

extern bool                   zakr3=false;


extern string                 POM9="Блок трала";

extern bool                   Tral=false;

extern int                    ShagTrala=300;

extern int                    StartTrala=600;

extern int                    TralR=100;


extern double                 level1=1.13054;

extern int                    Rasstoyanie=618;

extern color                  lvlcolor=Yellow;

extern color                  ClSell=Red;

extern color                  ClBuy=Green;

extern color                  ClModifyBuy=Purple;

extern color                  ClModifySell=Purple;

extern color                  ClrTXT=Green;


int peremen, MagicP=1289, MagicP1=123654, Magic=2389, Magic2=3489, MagicMO=5689, ticket, Slippage=50, tries, j=1, k=1;

datetime lop, lop1;

double TPB, TPS, level, SLB, SLS, OP, schetchi, SL, levelok, LOT;

bool sell=false, buy=false;


Он должен подключаться к графику, но все равно выдает такую же ошибку.

 

Версия терминала какая у вас?

И да, без кода будет сложновато, телепаты все в отпуске.

 
Igor Konyashin:

Версия терминала какая у вас?

версия 4.00, билд 950 от 23 дек 2015 года
 

Переменные типа

lot_2=0;

lot_3=0;

именуйте как-нибудь по-другому, без нижнего подчеркивания.

 
Igor Konyashin:

Переменные типа

lot_2=0;

lot_3=0;

именуйте как-нибудь по-другому, без нижнего подчеркивания.

Поменял, не помогло.
 
Lenar Shajdullin:
версия 4.00, билд 950 от 23 дек 2015 года

Вот шаблон правильного советника:

//+------------------------------------------------------------------+
//|                                                            1.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+

 

И, таки да: вставляйте код в сообщения форума правильно (Правильно вставляем код на форуме).

 
Karputov Vladimir:

Вот шаблон правильного советника:

Все правильно, по такому шаблону сделано.
 
Lenar Shajdullin:
Все правильно, по такому шаблону сделано.
Код В студию! Вы явно добавляете в код что-то из средневековья.
 
Думается мне, разница в указании возврата функций. В каком-то месте должен быть int вместо void. Или наоборот.