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

 
Подскажите как установить робота на МТ который стоит на VPS? До этого он был активирован в МТ5 на компьюторе.
 
Arkin Nabirov #:
Подскажите как установить робота на МТ который стоит на VPS? До этого он был активирован в МТ5 на компьюторе.
отключить его от VPS, активировать на вашем терминале и поставить на график
 
Подскажите как узнать средствами MQL4,5 число первого торгового дня в январе любого года?
 
elzinkhana #:
Подскажите как узнать средствами MQL4,5 число первого торгового дня в январе любого года?

Никак. Только самому собрать такие данные.

 
elzinkhana #:
Подскажите как узнать средствами MQL4,5 число первого торгового дня в январе любого года?
/********************Script program start function*******************/
void OnStart()
 {
  datetime newYear[];
  int bars = Bars(_Symbol, PERIOD_D1, D'2020.01.01', TimeCurrent())-1;
  CopyTime(_Symbol, PERIOD_D1, bars, 1, newYear);
  printf("Первый торговый день %s %s", EnumToString(ENUM_DAY_OF_WEEK((newYear[0]/PeriodSeconds(PERIOD_D1)+4)%7)), TimeToString(newYear[0]));
 }/******************************************************************/

Результат

2023.05.14 13:37:02.118 !!0 (EURUSD,D1) Первый торговый день MONDAY 2022.01.03 00:00
2023.05.14 13:38:18.547 !!0 (EURUSD,D1) Первый торговый день MONDAY 2021.01.04 00:00
2023.05.14 13:38:35.906 !!0 (EURUSD,D1) Первый торговый день THURSDAY 2020.01.02 00:00
 
Alexey Viktorov #:

Результат

Почему решили, что это торговый день? Идея в наличии котировок? А если котировки были, но нельзя было торговать - думаю в этом вопрос.

 
Aleksey Vyazmikin #:

Почему решили, что это торговый день? Идея в наличии котировок? А если котировки были, но нельзя было торговать - думаю в этом вопрос.

Откройте МТ и посмотрите. Зачем такие вопросы задавать не посмотрев? Бар есть со всеми атрибутами OHLC. Всё остальное ваши придумки… 

 

Я заметил, что торговые дни начинаются в январе в одном из трёх вариантов: 2 января или 3 января или 4 января.
И даже смог самостоятельно на MQL4 написать подпрограмму определения даты первого торгового дня в новом году.

  int inp_Year=2016;  //в переменную заносим число интересующего года
  datetime first_day_New_Year=StringToTime(IntegerToString(inp_Year)+".01.02 00:00");  //переменная, куда запишем точную дату начала торгового года, 2 января начались торги определённого года, если 2 января был будний день
  if (TimeDayOfWeek(first_day_New_Year)==0) first_day_New_Year=StringToTime(StringSubstr(TimeToString(first_day_New_Year),0,4)+".01.03 00:00");           //3 января начались торги определённого года, если 2 января было воскресенье
  if (TimeDayOfWeek(first_day_New_Year)==6) first_day_New_Year=StringToTime(StringSubstr(TimeToString(first_day_New_Year),0,4)+".01.04 00:00");          //4 января начались торги определённого года, если 2 января была суббота
  Comment("первый торговый день в ", inp_Year, " году= ",first_day_New_Year);

 
Alexey Viktorov #:

Откройте МТ и посмотрите. Зачем такие вопросы задавать не посмотрев? Бар есть со всеми атрибутами OHLC. Всё остальное ваши придумки… 

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

 
Aleksey Vyazmikin #:

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

Да, на фьючерсах есть некоторое время с начала наличия котировок запрет торговли, но ведь это не весь день. Так-же как в воскресенье ведь вообще нет котировок…