Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 867

 
Roman Shiredchenko:

забыл как обновляться... только скачал с робо...

интересует не тест, но оптимизация - а это невозможно... так ка они (значения выставленные параметров) - сбрасываются

Оптимизация это многократный тест с разными параметрами. Так-что тест и оптимизация это одно и то-же, для данной проблемы. При начале теста\оптимизации в журнале есть распечатка с какими параметрами запущен советник. Можно сразу после запуска поставить паузу и открыв журнал прочесть. Да и если запущен с изменёнными параметрами, то они будут видны в закладке "Параметры".

Поскольку это новая установка, то можно с уверенностью сказать что это релизная версия 2007. Это вторая компания с такой проблемой. Интересно, если запустить на MQ будет-ли проявляться такая проблема? Обновиться можно подключившись, или открыв новый счёт MetaQuotes-Demo. И ещё через меню


 
Alexey Viktorov:

Оптимизация это многократный тест с разными параметрами. Так-что тест и оптимизация это одно и то-же, для данной проблемы. При начале теста\оптимизации в журнале есть распечатка с какими параметрами запущен советник. Можно сразу после запуска поставить паузу и открыв журнал прочесть. Да и если запущен с изменёнными параметрами, то они будут видны в закладке "Параметры".

Поскольку это новая установка, то можно с уверенностью сказать что это релизная версия 2007. Это вторая компания с такой проблемой. Интересно, если запустить на MQ будет-ли проявляться такая проблема? Обновиться можно подключившись, или открыв новый счёт MetaQuotes-Demo. И ещё через меню


спсб! Вопрос https://www.mql5.com/ru/forum/305142/page3#comment_11915822  решили созданием папки Тестер вручную в МКЛ.
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
  • 2019.03.20
  • www.mql5.com
Решение (временное) : Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий MT5 самостоятельно сбрасывает настрой...
 
Почему переменные extern не отображаются во входных параметрах индикатора MQL5?
 
Alexandr Sokolov:
Почему переменные extern не отображаются во входных параметрах индикатора MQL5?

добавьте 

#property strict

ну и не используйте старые конструкции языка, вместо extern используйте input , уже не помню, но был какой то косяк с extern , кажется их можно в коде модифицировать, а при новой инициализации они сбрасываются в начальные значения и предупреждения компилятор не выдает как с input. Хотя могу ошибаться

 
Igor Makanu:

добавьте 

ну и не используйте старые конструкции языка, вместо extern используйте input , уже не помню, но был какой то косяк с extern , кажется их можно в коде модифицировать, а при новой инициализации они сбрасываются в начальные значения и предупреждения компилятор не выдает как с input. Хотя могу ошибаться

Различия:

input

extern

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Igor Makanu:

добавьте 

ну и не используйте старые конструкции языка, вместо extern используйте input , уже не помню, но был какой то косяк с extern , кажется их можно в коде модифицировать, а при новой инициализации они сбрасываются в начальные значения и предупреждения компилятор не выдает как с input. Хотя могу ошибаться

Так тоже почему-то не сработало

extern uint            usp      = 10,          //Update of the panel every ... seconds
                       psize    = 7;           //Panel size


 
Artyom Trishkin:

Различия:

input

extern

пролистал, но много вопросов, которые не интересны )))

если  extern работает как написано в справке, то почему я не могу его обьявить в теле функции? - проверил, ошибка компиляции:

'extern' - unexpected token !!!test11.mq4 35 4

ну и на глобальном уровне почему не дает обьявить сложные типы данных , например так:

struct S{double f;};
extern struct x;

в общем использование  extern вызывает больше вопросов чем необходимость его использования

в C++ с extern все предельно ясно - это внешняя глобальная переменная с помощью которой описывают переменные в других подключаемых модулях, возможно в библиотеках MQL нужно такое поведение, но библиотеки редко кто пишет, все пользуются #include

 
Alexandr Sokolov:

Так тоже почему-то не сработало


проверил в индикаторе даже без #property strict 

показывает вкладку входные переменные, не знаю в чем проблема у Вас, вот мой код

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window

extern int x = 10,y=22;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

   return(rates_total);
  }


 
Alexandr Sokolov:

Так тоже почему-то не сработало


Вам же написали: input и #property strict

И даже ссылку на справку дали.

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Artyom Trishkin:

Вам же написали: input и #property strict

И даже ссылку на справку дали.

Вот мой код

#property copyright "Alexandr Sokolov"
#property link      "https://www.mql5.com/en/users/asokolov7"
#property version   "1.00"
#property indicator_chart_window
#property strict

extern uint x = 10, y = 20;
//-------------------------------------------------------------------
int OnInit()
  {
   
  //-----------------------------------------------------------------
   return(INIT_SUCCEEDED);
  }
//-------------------------------------------------------------------
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   
  //-----------------------------------------------------------------
   return(rates_total);
  }


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