Ошибки: '}' - unexpected end of program - страница 2

 
Gliuk #:

Что вы имеете в виду, правых скобок больше, чем левых ?

Каких, где, может точнее подскажите пожалуйста  а то я никак не пойму ?

У Вас в программе правых скобок } больше, чем левых { . Сосчитайте и найдите, где лишняя правая, либо недостающая левая. Осилите, или опять помощь нужна? 

 
Алексей Тарабанов #:

У Вас в программе правых скобок } больше, чем левых { . Сосчитайте и найдите, где лишняя правая, либо недостающая левая. Осилите, или опять помощь нужна? 

Спасибо вам за вашу помощь

Я пересмотрел всё и вроде всё правильно но все равно у меня не получяется найти ошибку.

Если вас не затруднит помогите мне пожалуйста с этими скобками, хочью понять где я ошибся.

Я ведь новенький в этом деле.

Буду очень блогодарен вам !

 
Gliuk #:

Спасибо вам за вашу помощь

Я пересмотрел всё и вроде всё правильно но все равно у меня не получяется найти ошибку.

Если вас не затруднит помогите мне пожалуйста с этими скобками, хочью понять где я ошибся.

Я ведь новенький в этом деле.

Буду очень блогодарен вам !

Нажмите сюда, и код будет читабельным


//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2018, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict


extern bool ShowInfo = TRUE;
extern int Magic = 1122;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
//---

//---
  return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
//---
  if ((!IsOptimization() && !IsTesting() && !IsVisualMode()) || (ShowInfo && IsTesting() && !IsOptimization())) {
    DrawStats();
    DrawLogo();
  }
 } 
//---

  void DrawStats() {

    double drlog = GetProfitForDay(0);
    string statname = eiles + "1";
    if (ObjectFind(statname) == -1) {
      ObjectCreate(statname, OBJ_LABEL, 0, 0, 0);
      ObjectSet(statname, OBJPROP_CORNER, 1);
      ObjectSet(statname, OBJPROP_XDISTANCE, 10);
      ObjectSet(statname, OBJPROP_YDISTANCE, 15);
    }
    ObjectSetText(statname, "Заработок сегодня: " + DoubleToStr(drlog, 2), 10, "Courier New", Yellow);

    drlog = GetProfitForDay(1);
    statname = eiles + "2";
    if (ObjectFind(statname) == -1) {
      ObjectCreate(statname, OBJ_LABEL, 0, 0, 0);
      ObjectSet(statname, OBJPROP_CORNER, 1);
      ObjectSet(statname, OBJPROP_XDISTANCE, 10);
      ObjectSet(statname, OBJPROP_YDISTANCE, 30);
    }
    ObjectSetText(statname, "Заработок вчера: " + DoubleToStr(drlog, 2), 10, "Courier New", Yellow);

    drlog = GetProfitForDay(2);
    statname = eiles + "3";
    if (ObjectFind(statname) == -1) {
      ObjectCreate(statname, OBJ_LABEL, 0, 0, 0);
      ObjectSet(statname, OBJPROP_CORNER, 1);
      ObjectSet(statname, OBJPROP_XDISTANCE, 10);
      ObjectSet(statname, OBJPROP_YDISTANCE, 45);
    }
    ObjectSetText(statname, "Заработок позавчера: " + DoubleToStr(drlog, 2), 10, "Courier New", Yellow);

    statname = eiles + "4";
    if (ObjectFind(statname) == -1) {
      ObjectCreate(statname, OBJ_LABEL, 0, 0, 0);
      ObjectSet(statname, OBJPROP_CORNER, 1);
      ObjectSet(statname, OBJPROP_XDISTANCE, 10);
      ObjectSet(statname, OBJPROP_YDISTANCE, 75);
    }
    ObjectSetText(statname, "Баланс: " + DoubleToStr(AccountBalance(), 2), 12, "Courier New", Yellow);
  }

  void DrawLogo() {

    string logoname = eiles + "L_1";
    if (ObjectFind(logoname) == -1) {
      ObjectCreate(logoname, OBJ_LABEL, 0, 0, 0);
      ObjectSet(logoname, OBJPROP_CORNER, 0);
      ObjectSet(logoname, OBJPROP_XDISTANCE, 390);
      ObjectSet(logoname, OBJPROP_YDISTANCE, 10);
    }
    ObjectSetText(logoname, "------------", 28, "Arial", DarkTurquoise);

    logoname = eiles + "L_2";
    if (ObjectFind(logoname) == -1) {
      ObjectCreate(logoname, OBJ_LABEL, 0, 0, 0);
      ObjectSet(logoname, OBJPROP_CORNER, 0);
      ObjectSet(logoname, OBJPROP_XDISTANCE, 382);
      ObjectSet(logoname, OBJPROP_YDISTANCE, 50);
    }
    ObjectSetText(logoname, "-----------", 16, "Arial", Gold);
  }

  double GetProfitForDay(int valdas) {
    double petras = 0;
    for (int antanas = 0; antanas < OrdersHistoryTotal(); antanas++) {
      if (!(OrderSelect(antanas, SELECT_BY_POS, MODE_HISTORY))) break;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
        if (OrderCloseTime() >= iTime(Symbol(), PERIOD_D1, valdas) && OrderCloseTime() < iTime(Symbol(), PERIOD_D1, valdas) + 86400)
          petras = petras + OrderProfit() + OrderCommission() + OrderSwap();
    }
    return (petras);
  }

  //+------------------------------------------------------------------+
 
Алексей Тарабанов #:
Правых скобок больше, чем левых. Всё. 
Как раз, таки, наоборот: недостаёт правой скобки.
 
Gliuk #:

Спасибо !

Реально помогло, ошибки пропали.
Но когда я вставляю этот код в советника

то появляются другие ошибки

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

Помогите пожалуйста разобраться что не так почему не работает.


Вот полный код :

Удалите правую скобку , лишняя.

void OnTick()
  {

  if(((!IsOptimization()) && !IsTesting() && (!IsVisualMode())) || (ShowInfo && IsTesting() && (!IsOptimization())))
    {
   fnDrawInfo();
   fnLogoInfo();
    }
 //}

И еще, найдите и вставьте в советник тела вот этих функций.

 
Alekseu Fedotov #:

Удалите правую скобку , лишняя.

И еще, найдите и вставьте в советник тела вот этих функций.

А как найти эти тела этих функций ?

Я взял кусок кода с этими функциями из етого эксперта : ShotskBar v.1.1

Файлы:
 
Gliuk #:

А как найти эти тела этих функций ?

Я взял кусок кода с этими функциями из етого эксперта : ShotskBar v.1.1

Скачивать не буду.

Попробуйте так, если вы взяли эти куски кода с этого эксперта, значит он в редакторе.

Нажмите правой кнопкой мышки, далее  ----  перейти к определению   или   Alt+G

 там и будет тело этих функций.

 
Gliuk #:

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

Вот этот код : ShotskBar v.1.1

Помогите пожалуйста буду очень и очень благодарен вам !!!


Нет не нашёл.

 

Может быть здесь есть такие люди кто сможет мне помочь ?

Буду очень и очень блогодарен за вашу помощь.

 
Gliuk #:

Может быть здесь есть такие люди кто сможет мне помочь ?

Буду очень и очень блогодарен за вашу помощь.

Вы издеваетесь над старым и больным --);

Вот ваш код,         пост

void OnTick()
  {
//---

   if ((!IsOptimization() && !IsTesting() && !IsVisualMode()) || (ShowInfo && IsTesting() && !IsOptimization()))
   {
      DrawStats();
      DrawLogo();
   }

внимание на эти функции

Далее       пост

void OnTick()
  {

  if(((!IsOptimization()) && !IsTesting() && (!IsVisualMode())) || (ShowInfo && IsTesting() && (!IsOptimization())))
    {
    fnDrawInfo();
   fnLogoInfo();
    }
есть разница?
Причина обращения: