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

 

Обобщу вопрос. Какой смысл в CAccountInfo, COrderInfo, CSymbolInfo, CPositionInfo и CTerminalInfo?

Посмотрел их исходники. В чем удобство их использования?


CDealInfo и CHistoryOrderInfo - эти написаны еще и с логическими ошибками. В чем суть их использования?


Вот есть CTrade. С ним все понято, где может быть удобен и т.д. А с Info-классами что?

 
Почти все методы в Info-классах должны быть static. По какой причине это не так?
 
Кто-нибудь думает от этом при написании кода?

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

Советники: TrailingTakeProfit

fxsaber, 2018.02.07 16:17

Представьте себе простую оптимизацию на 100 000 проходов по 10 000 000 тиков. Тогда OnTick будет вызываться один ТРИЛЛИОН раз. Любое лишнее действие вызванное триллион раз потребует доп. секунды/минуты/часы. Цените свое и чужое время.

 
fxsaber:
Кто-нибудь думает от этом при написании кода?

я думаю...

 
Vladimir Pastushak:

я думаю...

Тогда лучше так не писать

   Comment(
           "\n","DayLimit ",DoubleToStr(DayLimit,2),               // Выводит на экран установленный лимит
           "\n","DayProfit ",DoubleToStr(DayProfit,2),             // Выводит на экран текущий профит за день
           "\n","Dostupno",DoubleToStr(DayProfit+DayLimit,2),      // Выводит на экран остаток от лимита
           "\n","Trade ",text                                      // Выводит на экран сообщение о разрешении торговать или нет
           );
 
Ребята! помогите) Неделю назад вышли обновление винды,обновил у меня 10. Решил сохранить скриншот рабочего поля терминала жму как обычно файл-сохранить как рисунок-активный график и жму ОК, окно закрывается и на этом все.........на двух терминалах у разных брокерах такая трабла вышла( переустановки не помогают
 
fxsaber:

Тогда лучше так не писать

Часто трудно понять что имеете в виду. Для этого необходимо сидеть рядом с вами и видеь всё, что вы читаете, проверяете, пишите.

Не хватает контекста.

 
Rashid Umarov:

Часто трудно понять что имеете в виду. Для этого необходимо сидеть рядом с вами и видеь всё, что вы читаете, проверяете, пишите.

Не хватает контекста.

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

double Func( const string )
{
  return(1);
}

void OnStart()
{  
  double d = 0;

  for (long i = 0; i < 3e12; i++)
    d += Func(DoubleToString(d, 2));
  
  Print(d);  
}

На моей не слабой машине это 50 часов. Т.е. советник пустышка с таким Comment (сам Comment  в режиме Оптимизации вызываться не будет, но входные параметры буду вычисляться) добавит ко времени ожидания 50 часов. Кто об этом думает при написании кода?

 
2018/02/08 00:21:15 Completed #2151967 Stardust11
Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.11.20
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 

Из удаленного

Думаю, все сильно зависит от кодера. Испытываю неприятное ощущение от отсутствия каких-либо попыток что-либо написать не медленно.

Оттачивал скорость только в своем тестере, когда нужно было быстро (в сотни раз быстрее MT) оптимизировать полный перебор. Уходило несколько часов на Оптимизацию за выходные, вместо месяца.

И в MT4Orders, когда хотелось поставить, наконец, обоснованную точку в MT5.

Мы же не про боевое выполнение, а в Тестере. Сам факт наличия Облака показывает, что скорость - это узкое место. Суммарно пользователи Облака потратили огромную сумму на оплату некомпетентности кодеров.

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

Советники: TimeEA

fxsaber, 2018.02.07 04:01

От MQ ни одного советника в КБ (в стандартной поставке не смотрел). Странная ситуация. MQ все время подчеркивают хорошие скоростные показатели MT5, но, похоже, не замеряли их. Возможно, поэтому позволяют в учебных целях постить медленный код.


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

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