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

 
Sergey Gridnev #:
Может быть, во втором случае тестирование не по реальным тикам идёт?

да - делаю по ценам открытия - также - дальше не идет. Второй принт не печатает. Вылетает по ретёрну  и все.

 
Sergey Gridnev #:
Может быть, во втором случае тестирование не по реальным тикам идёт?

да - смотрите - поставил по тикам - и позы пошли.... удивительно.....

щас дальше условия подключу - как в Владимира в ф-ии:


 
Sergey Gridnev #:
Может быть, во втором случае тестирование не по реальным тикам идёт?

ошибки нет - но позиции не открывает:



 
Sergey Gridnev #:
Может быть, во втором случае тестирование не по реальным тикам идёт?

да - снял контроль нового бара  - все вроде заработало.... спс большое

Проверяю.






спс - большое -  тестирую - пока вроде открывает по условиям... контроль бара нового снял




еще раз - спс большое - поставил на оптимизацию - пошли первые результаты:


 
Vladislav Boyko #:

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

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

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

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

Koldun Zloy #:

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

Valeriy Yastremskiy #:

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

Valeriy Yastremskiy #:

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

Благодарю Вас за ответы!

Попробую вникнуть ещё раз

 
какой последний билд номер ??
 

Всем добрый день. Пытаюсь переделать код функции по определению появления новой свечи на графике на код без функции. Мне нужно чтобы Print в он тике вывелся только один раз когда появится новая свеча. пишу это вот так

//+------------------------------------------------------------------+
//|                                             25-IS_NEW_CANDLE.mq4 |
//|                                                    ДАНЯ ГАГАРКИН |
//|                                     https://vk.com/danila_mastep |
//+------------------------------------------------------------------+
#property copyright "ДАНЯ ГАГАРКИН"
#property link      "https://vk.com/danila_mastep"
#property version   "1.00"
#property strict
int count_bars;
bool flag_new_candle= false;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60);
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  if(count_bars != Bars)
  {
  count_bars= Bars;
  flag_new_candle= true;
  
  }
  else
  { count_bars= false;
  
  }
  
  if(flag_new_candle==true)
  {
Print("НАЧАЛИ ВЫПОЛНЯТЬ КОД В ОН ТИКЕ");
}
   
  }

Такой вариант не работает- принтов выводиться сильно много, а не один на новой свече. Что я делаю не так? И как правильно надо писать чтобы появилась новая свеча- вывелся один принт и ждём следующую новую свечу?

 
DanilaMactep #:

Всем добрый день. Пытаюсь переделать код функции по определению появления новой свечи на графике на код без функции. Мне нужно чтобы Print в он тике вывелся только один раз когда появится новая свеча. пишу это вот так

Такой вариант не работает- принтов выводиться сильно много, а не один на новой свече. Что я делаю не так? И как правильно надо писать чтобы появилась новая свеча- вывелся один принт и ждём следующую новую свечу?

//+------------------------------------------------------------------+
//|                                             25-IS_NEW_CANDLE.mq4 |
//|                                                    ДАНЯ ГАГАРКИН |
//|                                     https://vk.com/danila_mastep |
//+------------------------------------------------------------------+
#property copyright "ДАНЯ ГАГАРКИН"
#property link      "https://vk.com/danila_mastep"
#property version   "1.00"
#property strict
datetime new_bars;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60);
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(new_bars != Time[0])
     {
      Print("НАЧАЛИ ВЫПОЛНЯТЬ КОД В ОН ТИКЕ");
      new_bars = Time[0];
     }
  }
 
DanilaMactep #:

Всем добрый день. Пытаюсь переделать код функции по определению появления новой свечи на графике на код без функции. Мне нужно чтобы Print в он тике вывелся только один раз когда появится новая свеча. пишу это вот так

Такой вариант не работает- принтов выводиться сильно много, а не один на новой свече. Что я делаю не так? И как правильно надо писать чтобы появилась новая свеча- вывелся один принт и ждём следующую новую свечу?

Ростислав написал решение. 

В твоём же коде переменная count_bars после else вдруг принимает булевское значение false, хотя объявлена была, как целое int
 
Ivan Butko #:
Ростислав написал решение. 

В твоём же коде переменная count_bars после else вдруг принимает булевское значение false, хотя объявлена была, как целое int
У Ростеслава наверно тоже рабочее решение- я просто код для видео урока делаю, и там массивов ещё рано касаться. Большое спасибо за подсказку что не ту переменную истиной делаю- исправил это дело и всё завелось)))
Причина обращения: