помогите - подправить "extern int"

 

есть индикатор https://www.mql5.com/ru/code/19540

при компиляции выдаёт ошибки по "extern int"

я в этом совсем не разбираюсь.

подскажите, пожалуйста, что исправить в коде, чтобы работало.

-----------------

и нужно ли там вообще " extern"?

- это вроде про внешние переменные что-то, а тут вроде ничего внешнего

- может без "extern" проще.

(извиняюсь если ерунду написал:)) ).

-----------------

вот  меняли в МТ5 (MetaTrader 5 build 4230) - выдержка из текста :

  1. Изменено поведение модификатора extern. Теперь объявление переменной с модификатором extern является предъобъявлением переменной.

    Новые ограничения:
    1. Предъобъявление переменной не должно содержать инициализации. Например, при компиляции следующего кода получим ошибку "X - extern variable initialization is not allowed":
      extern int X=0;
      
      void OnStart()
        {
        }

    2. Переменная extern должна быть объявлена в программе без ключевого слова extern. Например, при компиляции следующего кода получим ошибку "unresolved extern variable X":
      extern int X;
      
      void OnStart()
        {
        }

-------------------------------

Show Pips
Show Pips
  • www.mql5.com
Информация о профите, пунктах, процентах, спреде и времени до закрытия бара на текущей валютной паре и таймфрейме в компактном и удобном виде.
 
ruspbtrader:

есть индикатор https://www.mql5.com/ru/code/19540

при компиляции выдаёт ошибки по "extern int"

я в этом совсем не разбираюсь.

подскажите, пожалуйста, что исправить в коде, чтобы работало.

-----------------

вот  меняли в МТ5 (MetaTrader 5 build 4230) - выдержка из текста :

  1. Изменено поведение модификатора extern. Теперь объявление переменной с модификатором extern является предъобъявлением переменной.

    Новые ограничения:
    1. Предъобъявление переменной не должно содержать инициализации. Например, при компиляции следующего кода получим ошибку "X - extern variable initialization is not allowed":

    2. Переменная extern должна быть объявлена в программе без ключевого слова extern. Например, при компиляции следующего кода получим ошибку "unresolved extern variable X":

-------------------------------

выбросьте старые учёбники

как минимум : extern int X=0; заменяется на input int  X=0;

но при этом если внутри старинного кода есть присваивание X=otherValue; то будет ошибка

 
Нужно провести автозамену extern на input. Непонятно, как пропустили в Code Base код для МТ5 с использованием ключевых слов в стиле MT4...
 
Ihor Herasko #:
Нужно провести автозамену extern на input. Непонятно, как пропустили в Code Base код для МТ5 с использованием ключевых слов в стиле MT4...

Индикатор написан в 2017 году. Может быть тогда возможно было использовать extern в MQL5. Это, всего лишь, моё предположение. ))

С уважением, Владимир.

 

спасибо. теперь компилирует.

Но... ничего не показывает(

 
ruspbtrader #:

спасибо. теперь компилирует.

Но... ничего не показывает(

В журнале экспертов что пишется?

 
Ihor Herasko #:

В журнале экспертов что пишется?

пишет загружено успешно.

показывает оказывается всё-таки. но только при выборе "как комментарий" и "в углу окна".

"рядом с ценой" не показывает.

ну и ладно - меня внизу устраивает.

---------

спасибо за помощь.

 
ruspbtrader #:

пишет загружено успешно.

показывает оказывается всё-таки. но только при выборе "как комментарий" и "в углу окна".

"рядом с ценой" не показывает.

ну и ладно - меня внизу устраивает.

---------

спасибо за помощь.

В таком случае установите цвет текста такой, чтобы он отличался от цвета фона графика. К примеру, если фон графика черный, то при отсутствии позиций по текущему символу, действительно, ничего не будет выведено, т. к. черное на черном не видно.

 

ChartRedraw() добавьте по мере надобности...

5-ка без подсказок может не отрисоваться

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