Новая версия платформы MetaTrader 5 build 3210: изменен алгоритм расчета Sharpe Ratio и добавлено управление минимальным/максимальным значением индикатора - страница 12

 
Artyom Trishkin #:

С четырьмя однако... Сорри, не удержался

Было с 5-ю, потом исправил цифру, чтобы логика примера не нарушилась) Пятая по центру

 

Добавьте, пожалуйста, возможность отслеживать тики других инструментов, а не только того, на котором запущен эксперт. Сейчас есть только событие OnTick(), а нужно что-то вроде

void OnTick(const string&  symbol)

Я знаю, что можно следить за стаканами с OnBookEvent, но по нужным мне инструментам (опционы) брокер просто не даёт такой фид - стакан пустой и через MQL5, и в терминале, а тики (bid/ask) есть. Открывать кучу графиков и вешать на каждый из них свой эксперт - плохой вариант.
 
xfo #:

Добавьте, пожалуйста, возможность отслеживать тики других инструментов

Здесь.

 
fxsaber, спасибо, лучше, чем ничего, но всё-таки кустарное решение. В опционах сотни и тысячи тикеров, какой будет оверхед на столько "индикаторов-шпионов"? (В будни сам попробую проверить). И хотелось бы без пропуска тиков и без ручной их подгрузки. Универсальный  OnBookEvent ведь есть в терминале, почему бы и OnTick не сделать.
 

Что может происходить?

После смены входных параметров в эксперте не срабатывает OnInit(),  входные параметры также не применяются.

Выход один: удалять с графика, вносить нужные параметры при новой установке на график.

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

Почему так?

---

Ранее также задавал вопрос, но в ответ привычная тишина

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе

Vitaly Muzichenko, 2022.01.16 22:00

У меня такая-же проблема с кастом-индикатором.

Меняю входные параметры и закрываю окно. Открываю окно - старые параметры, новые применяются с десятой попытки

Чтобы применялись сразу, нужно убрать с графика и забросить на график с нужными параметрами


---

P.S. Происходит не со всеми программами, а только с некоторыми - зависимости не нашёл.

 

Нашёл причину

Если в коде есть такое, то это вызывает ошибку

  while(!IsStopped()) {
    start = GetTickCount();
    ...
    if(delay > tickcount)
      Sleep(delay-tickcount-2);
  }

Чем это заменить?

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе

traveller00, 2021.12.04 15:10

Есть простой скрипт

void OnStart()
{
  ushort Item,Array[];
  Print(sizeof(Item));
  Print(sizeof(Array[0]));
}

Будучи собранный старой релизной версией 2940 он выдаёт результат 2 2, как и ожидается.

Будучи собранный последней релизной версией 3091 он выдаёт результат 2 4.

Почему?

На последней релизной 3211 баг на месте.

 
traveller00 #:

На последней релизной 3211 баг на месте.

Я не могу объяснить почему так, но этот код даёт ожидаемый вами результат

/********************Script program start function*******************/
void OnStart()
 {
  ushort Item,Array[1];
  Print(sizeof(Item));
  Print(sizeof(Array));
 }/******************************************************************/
2022.02.20 09:24:33.195 00 (EURUSD,H1)  2
2022.02.20 09:24:33.195 00 (EURUSD,H1)  2
Может не отвечают потому, что это не баг, а фишка. 
 
traveller00 # :

На последней релизной 3211 баг на месте.

Ошибка в том, что она должна дать вам ошибку: Array out of range.
 
Блокировкой счета вывести на карту
Причина обращения: