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

 
Vladislav Boyko #:


Что такое :: и для чего оно может быть использовано, если это НЕ определение тела функции за пределами описания класса?


Это - оператор разрешения контекста
 
Sergey Gridnev #:

Это - оператор разрешения контекста

Спасибо большое! Сэкономили кучу времени.

 
Vladislav Boyko #:

Этого достаточно для понимания статей.

Готов поспорить, вы даже не пытались вникнуть - вы просто не хотите. Будь я не прав, у вас были бы конкретные вопросы по ООП, которые вы могли бы озвучить, например, здесь - почему нет?

Нет, недостаточно. Я с первых слов ничего не понимаю там. Инкапсуляции ссылаются на страницу, где ООП определяются общим понятием "подход", а дальше "Данные и поведение упакованы вместе": какое поведение? Что значит поведение+данные+упакованы_вместе, как это понять. Далее сразу же "Такая инкапсуляция создает..." Какая инкапсуляция? Что это вообще. Тут же " строка, является описанием идеального, всем известного поведения типа" Какого поведения типа? " Операции конкатенации и печати называются методами" Какие конкатенации? Что за методы?
Простите, не дорос ещё, тут нужен порог вхождения высокий. 

Поэтому мне нужно на процедурном языке, либо на пальцах объяснить, как связать график цены и обучение с подкреплением. 

А я уже буду пытаться собрать что-то воедино.

Либо скажите, пожалуйста: без ООП, только на простом процедурном языке (if-else, for, массивы) можно ли организовать обучение с подкреплением? Наверное так правильней было бы сперва задать вопрос


 
Ivan Butko #:

Нет, недостаточно. Я с первых слов ничего не понимаю там. Инкапсуляции ссылаются на страницу, где ...

Если вы под первыми словами подразумеваете введение, то мне оно тоже никакого понимания не дало. Более того, по моему субъективному мнению, введение там это 100% вода, не несущая никакой информационной нагрузки (сама статья отличная).

По ссылкам я ни разу не переходил, просто читал дальше.

Дело ваше. Просто дал оценку ситуации со стороны: не так страшно ооп, как вы его себе представляете.

На этом мои полномочия все. Предлагаю считать нашу дискуссию завершенной.

 

Ivan Butko #:

Число --> умножается на вес  --> преобразуется в функции активации  --> снова умножается на вес  --> сравнивается с фактом  --> обратное распространение ошибки  --> повторный прогон вперёд и так повторять до лучшего результата. 

Это и есть обучение с подкреплением.

 
Ivan Butko #:

Нет, недостаточно. Я с первых слов ничего не понимаю там. Инкапсуляции ссылаются на страницу, где ООП определяются общим понятием "подход", а дальше "Данные и поведение упакованы вместе": какое поведение? Что значит поведение+данные+упакованы_вместе, как это понять. Далее сразу же "Такая инкапсуляция создает..." Какая инкапсуляция? Что это вообще. Тут же " строка, является описанием идеального, всем известного поведения типа" Какого поведения типа? " Операции конкатенации и печати называются методами" Какие конкатенации? Что за методы?
Простите, не дорос ещё, тут нужен порог вхождения высокий. 



В капсуле! Разграничение видимости объявленных переменных в разных капсулах, функциях. Глобальные переменные видимы везде, а те что в функции объявлены, вне функции не видятся. Это и есть принцип инкапсуляции. У Федосеева неплохо объяснено в статье про ООП.

 
Ivan Butko #:



Либо скажите, пожалуйста: без ООП, только на простом процедурном языке (if-else, for, массивы) можно ли организовать обучение с подкреплением? Наверное так правильней было бы сперва задать вопрос


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

 
Добрый вечер! Эксперта можно выгрузить с графика при помощи   ExpertRemove(). А как выгрузить индикатор?
 
Galim_V #:
Добрый вечер! Эксперта можно выгрузить с графика при помощи   ExpertRemove(). А как выгрузить индикатор?

Нашел. ChartIndicatorDelete.

 

Коллеги - столкнулся с нонсенсом....

На одном компе тест идет - все ок.

На другой перенес код - не идет дальше ф-ия - щас подробнее. Брокер один и тот же. Счет один и тот же.

В общем тики не читает...

Т.е. второй принт не срабатывает - вот участок начала ф-ии:

// ----- ф-ия проверки условий входа: возвращает "0" - в лонг, "1" - в шорт, "-1" - нет условий
 int Checking_login_conditions()
  {
      bool   ExtNeedOpenBuy            = false;
      bool   ExtNeedOpenSell           = false;
      
      datetime time_current=TimeCurrent();
      //--- search for trading signals
      MqlTick  ticks_array[];
      uint     flags=COPY_TICKS_ALL;                  // flag that defines the type of the ticks that are received
      ulong    from_msc=(time_current-InpTime)*1000;  // date, starting from which ticks are requested
      ulong    to_msc=time_current*1000;              // date, up to which ticks are requested
        Print(" сюда дошли CopyTicksRange ", InpTime);
     int copy=CopyTicksRange(_Symbol,ticks_array,flags,from_msc,to_msc);
      if(copy==-1 || copy==0)
        {
         ExtPrevBars=0;
         return(-1);
        }
        // search for trading signals no more than once every InpTime seconds
     // if(ticks_array[copy-1].time-ticks_array[0].time<InpTime)
    //    {
    //     ExtPrevBars=0;
    //     return(-1);
    //    }
      int d=0;
      
      Print(" сюда дошли ", InpTime);


второй принт
      Print(" сюда дошли ", InpTime);


не срабатывает - т.е. исполнение программы всегда прерывает

 return(-1);

первый принт - печатает исправно

Print(" сюда дошли CopyTicksRange ", InpTime);

правый экран - внизу - сюда дошли - далее выход по -1 по ретёрну



Прошу помочь - найти причину не читания тиков....

Спс.

Тесты и оптимизация пока встали.....

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