Ошибки, баги, вопросы - страница 2903

 
A100:

A::i1 статический массив - я проверял функцией ArrayIsDynamic - результат: false

а смысл во второй записи вообще? почему нельзя сразу при объявлении размер задать?

вообще убедили, если размер статического случая в (1) выводится неявно, то почему бы и во втором тоже нет?

 

Подскажите, как сделать, чтобы в обоих Терминалах Comment-шрифт был четким?


В Терминале в MT4 все выглядит замыленно, как в браузере при 100% масштабе.

Но стоит в браузере начать увеличивать масштаб, как  MT4-картинка на скрине становится лучше.


Мне нужно, чтобы в самом Терминале было четко, как в MT5.

 
TheXpert:

а смысл во второй записи вообще? почему нельзя сразу при объявлении размер задать?

вообще убедили, если размер статического случая в (1) выводится неявно, то почему бы и во втором тоже нет?

В первом инициализация элементов динамического массива, и после инициализация неявно массив статический.

Во втором повторное объявление размерности статического массива. После объявления статического массива повторное объявление тоже будет ошибкой. 

Согласен, не удобно. И может повлечь не явные ошибки.

 
fxsaber :

Подскажите, как сделать, чтобы в обоих Терминалах Comment-шрифт был четким?


В Терминале в MT4 все выглядит замыленно, как в браузере при 100% масштабе.

Но стоит в браузере начать увеличивать масштаб, как  MT4-картинка на скрине становится лучше.


Мне нужно, чтобы в самом Терминале было четко, как в MT5.

Это на VPS? Если да, снимите галочку:

Или лучше снять все галочки.

 
Enrique Dangeroux:

Это на VPS? Если да, снимите галочку:

Или лучше снять все галочки.

Это на домашней машине. Хотелось бы, чтобы только MT4 стал показывать нормально. А на других приложениях это не сказалось.

 

Что за баг с ролловером в тестере? В файле приложил скрин с примером: открытая позиция Sell, закрывается по ролловеру через Buy, затем заново открывается через Sell, но с нулевым объемом.

В результате нет переоткрытия позиции, она исчезает. На скрине выделил. Я уже ранее писал об этом правда без картинок. Что это за баг?  Из-за этого нет возможности тестировать.

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
Файлы:
rollover_bag.JPG  135 kb
 
Igor_Gagarin:
Обновил терминал до 2670. Казалось, что всё стало нормально, но спустя 90 часов тестирования, и около 15000 проходов, один агент снова заглючил.

Поставил билд 2561.

3 агента зависли через 8 часов, но теперь проценты выполнения не набираются больше 100, а стоят на месте.

Агент при этом обновился до билда 2675 без моего ведома, вероятно зависание на свежем билде, а не на старом..

 
В профиле на главной странице в разделе Агенты, данные диаграммы отличаются от данных в разделе платежи в меньшую сторону.  
 


//+------------------------------------------------------------------+
//|                                                      OnBookE.mq5 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#property version   "1.00"
//---
MqlBookInfo priceArray[];
bool boMBA=true;
bool getBook;
//---
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   boMBA=MarketBookAdd(_Symbol);
   Print("boMBA_ ",boMBA);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
//---
   getBook=MarketBookGet(_Symbol,priceArray);
   Print("getBook_", getBook);
  }
//+------------------------------------------------------------------+

2020.11.13 19:55:05.277 OnBookE (EURUSD.gl,M1) boMBA_ false

И при этом стакан по этому символу есть и успешно работает. Т.е. выходит нет события  BookEvent.

Вопрос разрешился, для форекса стакан показывается, но события нет, для фьючей и акций - работает.

 

Здравствуйте!

Обращение к разработчикам.

Продолжаю тестировать связку Python - MT5. Выявился еще один интересный момент, возможно баг.
Суть.

Иногда выполняю операцию по отбору финансовых инструментов среди всех имеющихся в терминале (около 4000 тыс).
К терминалу подключаюсь из внешнего приложения, т.е. запуск скриптов осуществляется не внутри терминала.

По каждому из символов получаю дневные и минутные бары, затем через "pandas" провожу вычисления и первичный отбор инструментов.
Заметил, что после одной такой операции, сам терминал начинает постепенно нагружать процессор до 70-80%.
После отработки скрипта, загрузка процессора не падает (пробовал ждать минут 15), сам терминал сильно тормозит. Помогает только закрытие терминала.
Если запустить скрипт 2 раза не закрывая терминал, то скрипт отрабатывает без ошибок, но загрузка процессора так и остается на уровне 70-80%

Упростил скрипт до минимума, чтобы можно было повторить эксперимент, оставил только запрос котировок. Проблема также остается.

Если будет необходимо, готов записать видео или предоставить информацию в другом виде.

Код pyhton:

import MetaTrader5 as mt5

ANALYSIS_DAYS = 100
ANALYSIS_MINUTES = 500

mt5.initialize()
all_symbols = mt5.symbols_get()

for cur_symbol in all_symbols:

    rates_d1 = mt5.copy_rates_from_pos(cur_symbol.name, mt5.TIMEFRAME_D1, 1, ANALYSIS_DAYS)
    rates_m1 = mt5.copy_rates_from_pos(cur_symbol.name, mt5.TIMEFRAME_M1, 1, ANALYSIS_MINUTES)

mt5.shutdown()

С уважением, Александр

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