Мт4 Конец поддержке. - страница 18

 
Artyom Trishkin:

Задача такова: нужно сделать функцию, которая будет возвращать факт открытия нового бара. Сначала на EURUSD М5.

Далее задача будет расширяться.

Ясно.

Допустим такой прототип функции подойдет: bool Новый_бар(int Таймфрейм = M1)  ?

То есть, пользователь вызывает функцию и передает в нее идентификатор нужного таймфрейма. В ответ получает - true/false (открылся или не открылся новый бар)?

Если это то, что нужно, сейчас попробую написать.

 
Alexey Viktorov:

Понятно. Не на того напал... Как передать переменную по ссылке, вы знаете, не спорю.

Теперь, для простоты написания в коде, если надо определять указанный период и текущий период. Получается что надо и для текущего заводить переменные, так ведь?

Подождите, я разбираюсь в условии задачи.
 
Реter Konow:

Ясно.

Допустим такой прототип функции подойдет: bool Новый_бар(int Таймфрейм = M1)  ?

То есть, пользователь вызывает функцию и передает в нее идентификатор нужного таймфрейма. В ответ получает - true/false (открылся или не открылся новый бар)?

Если это то, что нужно, сейчас попробую написать.

Просто нужно написать функцию, у которой пользователь спросит: "наступил ли новый бар на М5?" и получит ответ "да/нет".

Например:

if(IsNewBar(PERIOD_M5)) // Вопрос: наступил ли новый бар на М5
  {
   // Да, наступил
  }
else
  {
   // Нет, не наступил
  }

Вот вашу функцию IsNewBar() и будем развивать и крутить/вертеть далее с дальнейшим расширением задачи

 
Artyom Trishkin:

Просто нужно написать функцию, у которой пользователь спросит: "наступил ли новый бар на М5?" и получит ответ "да/нет".

Например:

Вот вашу функцию IsNewBar() и будем развивать и крутить/вертеть далее с дальнейшим расширением задачи

Ясно. Хорошо. Дайте немного времени, набросаю код. Только на русском. Привычней.
 
Реter Konow:

Ясно.

Допустим такой прототип функции подойдет: bool Новый_бар(int Таймфрейм = M1)  ?

То есть, пользователь вызывает функцию и передает в нее идентификатор нужного таймфрейма. В ответ получает - true/false (открылся или не открылся новый бар)?

Если это то, что нужно, сейчас попробую написать.

Совет от самонедоучки:

Чтобы легче было переходить на mql5 уже сейчас в mql4 желательно использовать не int переменные периода а из перечисления ENUM_TIMEFRAMES

 
Реter Konow:
Ясно. Хорошо. Дайте немного времени, набросаю код. Только на русском. Привычней.

Даже лучше. Для русских и русскоговорящих более понятно.

 
George Merts:

... Наследование и полиморфизм ...


С радостью верю что ваши задачи без них не решить. Чтобы не поверить нужно вникать в подробности :)


Artyom Trishkin:

Просто нужно написать функцию, у которой пользователь спросит: "наступил ли новый бар на М5?" и получит ответ "да/нет".

Например:

Вот вашу функцию IsNewBar() и будем развивать и крутить/вертеть далее с дальнейшим расширением задачи

Покрутите

bool fb_Is_New_Bar(ENUM_TIMEFRAMES e_TF) {
  int
    i_This_Bar = int(floor(TimeCurrent() / PeriodSeconds(e_TF))),
    i_Last_Bar = int(GlobalVariableGet("LastBar " + string(e_TF)))
  ;
  if(i_This_Bar == i_Last_Bar) return(false);
  
  GlobalVariableSet("LastBar " + string(e_TF), i_This_Bar);
  return(true);
}
 

это будет немного оффтопом к беседе. 

сидел сейчас чистил картошку и пришла в голову мысль

если тут сидят разработчики и программисты то почему бы не сделать такое на мкл


 - самодостаточный файл, с собственным интерфейсом, запускающий терминал, скайп и еще один терминал 

 - на терминал мт 4(5) ставящий бота из выбранного списка в 3 штуки (выпадающее меню)

 
Alexander Puzanov:

...

Покрутите


Покрутил. Жуткие тормоза. 

 
Mickey Moose:

это будет немного оффтопом к беседе. 

сидел сейчас чистил картошку и пришла в голову мысль

если тут сидят разработчики и программисты то почему бы не сделать такое на мкл


 - самодостаточный файл, с собственным интерфейсом, запускающий терминал, скайп и еще один терминал 

 - на терминал мт 4(5) ставящий бота из выбранного списка в 3 штуки (выпадающее меню)


Зачем?

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