Как сделать вывод на чарт моноширинным шрифтом? - страница 4

 
Alexey Volchanskiy:

Эти измерения не о чем. Надо делать отдельные циклы по несколько десятков тысяч проходов отдельно для Comment и Canvas, тогда можно о чем-то судить. И чтобы выводимый текст менялся, например пусть выводится значение счетчика.

Не могли бы переделать в таком виде?

Повторный вывод сделан верно, Comment сильно убивает скорость в мт5. Я это давно проверил, и исключил его отображение во время тестирования.

Я не проверял CHART_COMMENT, только о нём вспомнил, будет время - проверьте скорость

//+------------------------------------------------------------------+ 
//| Функция получает текст комментария в левом верхнем углу графика. | 
//+------------------------------------------------------------------+ 
bool ChartCommentGet(string &result,const long chart_ID=0) 
  { 
//--- сбросим значение ошибки 
   ResetLastError(); 
//--- получим значение свойства 
   if(!ChartGetString(chart_ID,CHART_COMMENT,result)) 
     { 
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError()); 
      return(false); 
     } 
//--- успешное выполнение 
   return(true); 
  } 
//+------------------------------------------------------------------+ 
//| Функция устанавливает текст комментария в левом верхнем углу     | 
//| графика.                                                         | 
//+------------------------------------------------------------------+ 
bool ChartCommentSet(const string str,const long chart_ID=0) 
  { 
//--- сбросим значение ошибки 
   ResetLastError(); 
//--- установим значение свойства 
   if(!ChartSetString(chart_ID,CHART_COMMENT,str)) 
     { 
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError()); 
      return(false); 
     } 
//--- успешное выполнение 
   return(true); 
  }
 
Nikolai Semko:

Попробовал на МТ4. Код работает и на нем. 
На МТ4 оказалось Comment где-то  в 5 раз быстрее графического аналога. Причем, получается что в MT5 Comment() работает в 5-6 раз медленнее, чем в MT4. А вот это уже неприятная неожиданность и странность. Тогда вопрос к разработчикам. Как так? Ведь это явный баг для пятерки!!! 


Спасибо за информацию, очень печально для МТ5 и ещё печальнее, что так по разному в МТ4 и МТ5, совметимость получается плохая в мультиплатформенном советнике будет.

 
Yury Kirillov:

Спасибо за информацию, очень печально для МТ5 и ещё печальнее, что так по разному в МТ4 и МТ5, совметимость получается плохая в мультиплатформенном советнике будет.

Есть немного. Я полностью исключил в мт5 вывод объектов и информации на график, потерял совсем не много, за счёт хорошего отчёта тестера.

 
Yury Kirillov:

Спасибо за информацию, очень печально для МТ5 и ещё печальнее, что так по разному в МТ4 и МТ5, совметимость получается плохая в мультиплатформенном советнике будет.


Думаю, что лучшим вариантом будет все же перейти на канвас. Совместимость там МТ4 и МТ5 полная. А Comment интересен лишь для быстрых текущих проверок в черновом коде, но не в чистовом. Все почему-то недооценивают скоростные возможности канваса.

 
Nikolai Semko:

Думаю, что лучшим вариантом будет все же перейти на канвас. Совместимость там МТ4 и МТ5 полная. А Comment интересен лишь для быстрых текущих проверок в черновом коде, но не в чистовом. Все почему-то недооценивают скоростные возможности канваса.


Ясен пень, так и придётся поступить...

 
Nikolai Semko:

Делал и отдельно циклы, тоже думал, что результат какой-то странный.  Все тоже самое. Те же результаты. Разницы нет, общий цикл или по отдельности. В моем примере текст меняется каждый раз, странно почему этого не заметили. Я тоже знаю о оптимизации компилятора. ))


А можно выложить код с отдельными циклами?

 
Vitaly Muzichenko:

Повторный вывод сделан верно, Comment сильно убивает скорость в мт5. Я это давно проверил, и исключил его отображение во время тестирования.

Я не проверял CHART_COMMENT, только о нём вспомнил, будет время - проверьте скорость

Из СД

Кто-то может наладить обмен строковой информацией между экспертом и индикатором через поле комментария графика.

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

В следующих билдах функция Comment будет работать только в одиночном тестировании. При оптимизации - не будет

 
fxsaber:

Из СД

обмен строковой информацией между экспертом и индикатором через поле комментария графика.

Народ понимает толк в половых извращениях

А вообще-то, конечно, не хватает способа обмена типа memory mapping, но внутри песочницы и без вызова dll

 
Alexey Volchanskiy:

А вообще-то, конечно, не хватает способа обмена типа memory mapping, но внутри песочницы и без вызова dll

Полно вариантов.

 

Это все суррогаты. И каждый требует сериализации/десериализации. Для примера? в WCF я могу послать через инет, причем любым доступным протоколом, экземпляр сколь угодно сложного класса с полями данных и мне не надо думать, как его запаковать/распаковать, все делает API. Все, что нужно, чтобы на приемном конце такой класс был известен.

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