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

 
Андрей Кондрашов #:
Всеи доброго времени суток. Вопрос по тестеру МТ5.

10018

TRADE_RETCODE_MARKET_CLOSED

Рынок закрыт

Ордера не открываются из за этой ошибки исключительно на свечах - 0 часов и 23 часа, в различные дни недели.

Тестер использует данные актуальные сейчас, а не те, которые были актуальны когда то в прошлом.  Это касается как спецификации, свопов, комиссии и времени торговых сессий.

Раньше торговали все 24 часа в сутки, поэтому у вас есть свечи круглосуточно. Сейчас торгуют не круглые сутки, а с небольшим перерывом. 

В тестере мы получаем картину, свечи есть, торговать нельзя.

Вариантов как поступить два: 1. Посмотреть торговое время в спецификации и не открывать в это время позиции.

2. Поменять время в спецификации символа в тестере. Для этого есть кнопка

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

Не забудьте нажать везде OK чтоб настройки сохранились. Так решается проблема с закрытым рынком в тестере.

 
Aleksandr Slavskii #:

Тестер использует данные актуальные сейчас, а не те, которые были актуальны когда то в прошлом.  Это касается как спецификации, свопов, комиссии и времени торговых сессий.

Раньше торговали все 24 часа в сутки, поэтому у вас есть свечи круглосуточно. Сейчас торгуют не круглые сутки, а с небольшим перерывом. 

В тестере мы получаем картину, свечи есть, торговать нельзя.

Вариантов как поступить два: 1. Посмотреть торговое время в спецификации и не открывать в это время позиции.

2. Поменять время в спецификации символа в тестере. Для этого есть кнопка

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

Не забудьте нажать везде OK чтоб настройки сохранились. Так решается проблема с закрытым рынком в тестере.

Все понял.Спасибо большое. А Вы не знаете в Альпари  с какой даты прекратился круглосуточный режим торговли и введена пауза ? 
Как это можно узнать?

 
Андрей Кондрашов #:

Все понял.Спасибо большое. А Вы не знаете в Альпари  с какой даты прекратился круглосуточный режим торговли и введена пауза ? 
Как это можно узнать?

Попросите встроенного ИИ написать скрипт, который ответит на ваш вопрос.
 
Aleksandr Slavskii #:
Попросите встроенного ИИ написать скрипт, который ответит на ваш вопрос.

А где находится встроенный ИИ? Встроенного куда? В браузер, то есть Алису ? Или в этот портал? Если в этот портал, то где находится этот ИИ?

 
Igor Nagorniuk #:

Попробуй 

Igor Nagorniuk #:

Попробуй так

Добрый день!
Спасибо большое за помощь - все отработало на ура!

 
Добрый день !
почему не все позиции закрываются с такой функцией = остаются по одной первой позиции из каждого магика
    
void PosClos(ENUM_POSITION_TYPE PosTp)
  {
   for(int ic = PositionsTotal()-1; ic >= 0; ic --) // определяем количество текущих позиций
     {
      if(PositionGetSymbol(ic) == _Symbol && PositionGetInteger(POSITION_TYPE) == PosTp && PositionGetInteger(POSITION_MAGIC) == Magik && PositionGetInteger(POSITION_MAGIC) == MagikPrmd) // выбираем позиции для дальнейшего доступа к их свойствам
         c_trade.PositionClose(c_posit.Ticket()); // и закрываем позиции
     }
  } 
 
Андрей Кондрашов #:

А где находится встроенный ИИ? Встроенного куда? В браузер, то есть Алису ? Или в этот портал? Если в этот портал, то где находится этот ИИ?

https://www.mql5.com/ru/forum/511815
 
Спасибо.
 

Здравствуйте, объясните пожалуйста, почему при делении двух чисел результатом является ноль. А если знаменатель провести через переменную, то всё норм.

Вот текст скрипта

double d1, d2, d3;

   d1 = 100;

   d2 = 40/100;

   d3 = 40/d1;

   Print(d2,"  ",d3);

ответ в результате

2026.07.12 11:44:13.093 скрипт тест (EURUSDrfd,M1) 0.0  0.4


 
DixTrader48 #:

Здравствуйте, объясните пожалуйста, почему при делении двух чисел результатом является ноль. А если знаменатель провести через переменную, то всё норм.

Вот текст скрипта

double d1, d2, d3;

   d1 = 100;

   d2 = 40/100;

   d3 = 40/d1;

   Print(d2,"  ",d3);

ответ в результате

2026.07.12 11:44:13.093 скрипт тест (EURUSDrfd,M1) 0.0  0.4


Потому что,  если целое разделить на целое, то получается целое без остатка. 
40 / 100 = 0
После этого результат записывается в переменную с типом double,  при этом происходит неявное преобразование  0 -> 0.0

Но если целое делить на double, то сначала происходит преобразование целого в double,  а только потом - деление. 
40 -> 40.0
40.0 /  100.0 = 0.4