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

 
tantomare:

Спасибо за подсказку, действительно 10 акций в лоте. То-то я AFLT купить не мог, а там лот 100 акций.

Странно, что эта информация не вынесена в стакан.

 Пожалуйста.

Разработчики считают, что доп информация должна получаться через программирование... в общем не для народа это всё окружение...
 

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

В спецификации - торговля: откл.

 

Переписал советник с MT4 на MT5

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

MT5

2017.07.20 20:01:38.059 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.078. Test passed in 0:03:52.707 (including ticks preprocessing 0:00:00.031).

MT4

2017.07.20 20:02:32.696 RUBRUR,M1: 225314 tick events (35701 bars, 231783 bar states) processed in 0:00:04.259 (total time 0:00:11.310)

И где хваленая скорость MT5?
 
Aleksey Vyazmikin:

Переписал советник с MT4 на MT5

И где хваленая скорость MT5?

https://www.mql5.com/ru/forum/191913

MT4-Tester VS MT5-Tester
MT4-Tester VS MT5-Tester
  • 2017.05.07
  • www.mql5.com
Руки дошли реализовать давнюю идею Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Обсуждение статьи "Готов...
 

Ещё такая беда - запустил оптимизацию при торговле - терминал стал лагать и отрисовывать бары со значительным опозданием. Неужели нельзя научить агентов правильно делить ресурсы?


вот скрин ситуации


 

 

Отключены торговые функции (только проверка наличия позиции)

MT4

2017.07.20 20:13:28.218 RUBRUR,M1: 225314 tick events (35701 bars, 231783 bar states) processed in 0:00:04.664 (total time 0:00:11.716)

MT5

2017.07.20 20:20:02.834 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.078. Test passed in 0:06:24.995 (including ticks preprocessing 0:00:00.031).

Так что не уверен, что дело в торговых функциях...

 
Aleksey Vyazmikin:

Так что не уверен, что дело в торговых функциях...

Там ветка - это пример конструктивных заявлений, который каждый может воспроизвести.
 
fxsaber:
Там ветка - это пример конструктивных заявлений, который каждый может воспроизвести.

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

При визуализации наблюдаю постепенное замедление работы - чуть ли не пару секунд на бар при максимальной скорости - есть идеи, что это может быть?

Антивирус не проверяет, винт SSD, место на нем есть...

 
Aleksey Vyazmikin:

Переписал советник с MT4 на MT5

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

MT5

2017.07.20 20:01:38.059 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.078. Test passed in 0:03:52.707 (including ticks preprocessing 0:00:00.031).

MT4

2017.07.20 20:02:32.696 RUBRUR,M1: 225314 tick events (35701 bars, 231783 bar states) processed in 0:00:04.259 (total time 0:00:11.310)

И где хваленая скорость MT5?
Вы код обоих экспертов покажите. Там ведь у вас вместо родного MQL5 стоит ленивый эмулятор MQL4?
 
Renat Fatkhullin:
Вы код обоих экспертов покажите. Там ведь у вас вместо родного MQL5 стоит ленивый эмулятор MQL4?

 

Пока не готов показать код по причине

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

Ошибки, баги, вопросы

Aleksey Vyazmikin, 2017.07.20 23:28


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

Но готов показать результаты профилирования из MT5 - как я понимаю о торговых функциях речи нет.



Для окружения OHLC использую такие функции

//-------------------------------------------------------------------
//==MQL4toMQL5
//+------------------------------------------------------------------+ 
//| Получим Open для заданного номера бара                           | 
//+------------------------------------------------------------------+ 
double Open(int index)
  {
   double open=0;
   ArraySetAsSeries(Open,true);
   int copied=CopyOpen(Symbol(),0,0,Bars(Symbol(),0),Open);
   if(copied>0 && index<copied) open=Open[index];
   return(open);
  }
//+------------------------------------------------------------------+ 
//| Получим Low для заданного номера бара                            | 
//+------------------------------------------------------------------+ 
double Low(int index)
  {
   double low=0;
   ArraySetAsSeries(Low,true);
   int copied=CopyLow(Symbol(),0,0,Bars(Symbol(),0),Low);
   if(copied>0 && index<copied) low=Low[index];
   return(low);
  }
//+------------------------------------------------------------------+ 
//| Получим High для заданного номера бара                           | 
//+------------------------------------------------------------------+ 
double High(int index)
  {
   double high=0;
   ArraySetAsSeries(High,true);
   int copied=CopyHigh(Symbol(),0,0,Bars(Symbol(),0),High);
   if(copied>0 && index<copied) high=High[index];
   return(high);
  }
//+------------------------------------------------------------------+ 
//| Получим Close для заданного номера бара                           | 
//+------------------------------------------------------------------+ 
double Close(int index)
  {
   double close=0;
   ArraySetAsSeries(Close,true);
   int copied=CopyHigh(Symbol(),0,0,Bars(Symbol(),0),Close);
   if(copied>0 && index<copied) close=Close[index];
   return(close);
  }
Может я что-то делаю не так?