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

 
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. Изучайте статью: Как копировать сигналы с помощью советника по своим правилам?

 
Дак в статье про сигналы. Это не то
 
void ClosePositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current orders
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==Magic)
            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }
Подскажите как изменить эту функцию чтобы найти и закрыть позицию у которой комментарий ААА
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...