Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 933

 
Vladimir Karputov:

Так в теме обсуждения советника () и спрашивать нужно.

Я как понял автор из бразилии
 
Народ до меня не доходит следующее, почему после каждого выключения Терминала пропадает Панель инструментов, Инструменты, Навигатор, Обзор рынка и поэтому приходится постоянно вручную расставлять эти вещи??? Спасибо за помощь!!! 
 
noran919:
Народ до меня не доходит следующее, почему после каждого выключения Терминала пропадает Панель инструментов, Инструменты, Навигатор, Обзор рынка и поэтому приходится постоянно вручную расставлять эти вещи??? Спасибо за помощь!!! 

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

 
noran919:
Народ до меня не доходит следующее, почему после каждого выключения Терминала пропадает Панель инструментов, Инструменты, Навигатор, Обзор рынка и поэтому приходится постоянно вручную расставлять эти вещи??? Спасибо за помощь!!! 
F11 нажимали?
 
Подскажите пожайлусто как правильно написать код индикатора чтобы он делал просчёт не каждый тик а каждую секунду ,,,если можно показать примером допустим индикатор каждую секунду складывае 1+1
 
gonsharov:
Подскажите пожайлусто как правильно написать код индикатора чтобы он делал просчёт не каждый тик а каждую секунду ,,,если можно показать примером допустим индикатор каждую секунду складывае 1+1

Два подхода:

  1. в OnCalculate оценивать разницу между текущим временем и последним используемым: как работает - допустим в 2018.09.28 15-30-31 был последний расчёт. Пришёл новый тик - проверяем время - а у нас всё теже 2018.09.28 15-30-31 - значит нечего не делаем, и только когда текущее время станет больше, чем 2018.09.28 15-30-31 - делаем расчёты и запоминаем это время.
  2. Использовать OnTimer(). Я лично против такого метода.

 

Столкнулся с похожей проблемой.

//---------

Хочу чтобы была выносная переменная с секундами(для оптимизатора).

input ushort            Time  = 120;

Допустим в этой переменной стоит время 120 секунд.

Далее -

void OnTick()

  {

Запоминаем текущее время.

Проверяем текущее время.

Если прошло времени больше Time  ,то -

BuyBuff=0;

//----------

Можно пример кода? На словах вроди просто , а в коде сложно для меня.

 
EgorKim:

Столкнулся с похожей проблемой.

//---------

Хочу чтобы была выносная переменная с секундами(для оптимизатора).

input ushort            Time  = 120;

Допустим в этой переменной стоит время 120 секунд.

Далее -

void OnTick()

  {

Запоминаем текущее время.

Проверяем текущее время.

Если прошло времени больше Time  ,то -

BuyBuff=0;

//----------

Можно пример кода? На словах вроди просто , а в коде сложно для меня.

Пример:

//+------------------------------------------------------------------+
//|                                      Example Pause in OnTick.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//--- input parameters
input int      InpTime=120;   // minimum pause (in seconds)
//---
datetime m_prev_time=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 
   m_prev_time=0;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   datetime time_0=TimeCurrent();
   if(m_prev_time+InpTime>time_0)
      return;
   m_prev_time=time_0;
   Print(m_prev_time);
  }
//+------------------------------------------------------------------+
Файлы:
 

Спасибо огромное.

Ещё одна просьба -

Добавьте пожалуйста в кодебайс этого советника для мт5. 

https://www.mql5.com/ru/code/14085

 
EgorKim:

Спасибо огромное.

Ещё одна просьба -

Добавьте пожалуйста в кодебайс этого советника для мт5. 

https://www.mql5.com/ru/code/14085

1. Дописывать свои сообщения - это плохо. Потом никто не может понять, почему темя обновилась, а нового поста нет.

2. Изучайте статью: Как копировать сигналы с помощью советника по своим правилам?

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