Подтормаживание графика

 

Написал эксперта - на тесте всё идёт идеально. Поставил тест на фантики. Увидел тормоза графика.

Встроил в эксперта отображение реального времени на графике и счётчик циклов программы. Соответственно увидел, что при подтормаживании времени от 1 до 15 секунд эксперт не выполняется (циклы не идут).

Вырезал эксперта из текста оставив только счётчик циклов, что бы убрать возможные тормоза из самого эксперта. Эффект сохранился. Циклы программы идут с подтормаживанием.

Ощущение, что график подвисает из-за задержек в получении данных.

Подскажите как это можно исправить? Поможет ли VPS?

Файлы:
 
A1exPit:

Написал эксперта - на тесте всё идёт идеально. Поставил тест на фантики. Увидел тормоза графика.

Встроил в эксперта отображение реального времени на графике и счётчик циклов программы. Соответственно увидел, что при подтормаживании времени от 1 до 15 секунд эксперт не выполняется (циклы не идут).

Вырезал эксперта из текста оставив только счётчик циклов, что бы убрать возможные тормоза из самого эксперта. Эффект сохранился. Циклы программы идут с подтормаживанием.

Ощущение, что график подвисает из-за задержек в получении данных.

Подскажите как это можно исправить? Поможет ли VPS?

нужен исходный код, что бы понять что у вас там написано.
 
Sergey Gritsay:
нужен исходный код, что бы понять что у вас там написано.
я тут выложил - мне сказали, что декомпилированный текст нельзя и удалили тему всю нафиг. И как его выложить?
 
A1exPit:
я тут выложил - мне сказали, что декомпилированный текст нельзя и удалили тему всю нафиг. И как его выложить?

Написал эксперта - на тесте всё идёт идеально. Поставил тест на фантики. Увидел тормоза графика.

Так написал или декомпил? 

 
Vitalie Postolache:

Так написал или декомпил? 

Написал, выложил текст проги - сказали декомпил, хотя был просто не скомпилированный текст. Хотя пара моментов там была скопирована из других прог.

Но там всё тривиально x=x+1 и вывод через ObjectSetText и обнуление каждые 1000 циклов, всё.

 
A1exPit:

Написал, выложил текст проги - сказали декомпил, хотя был просто не скомпилированный текст. Хотя пара моментов там была скопирована из других прог.

Но там всё тривиально x=x+1 и вывод через ObjectSetText и обнуление каждые 1000 циклов, всё.

Правьте имена переменных, массивов и функций на вменяемые и публикуйте тестовый исходник, в котором проблема повторяется. Без исходников даже экстрасенсы не помогут.
 
Vitalie Postolache:
Правьте имена переменных, массивов и функций на вменяемые и публикуйте тестовый исходник, в котором проблема повторяется. Без исходников даже экстрасенсы не помогут.
//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2016, CompanyName |
//|                                                                  |
//+------------------------------------------------------------------+
/*
   G e n e r a t e d  
   Website:  
   E-mail :  
*/

#property copyright "A1exPit"
#property link      "Нет"
#property strict
int x = 0;
long  Chart = 0;

int init()
  {
  Chart = ChartID();
  return (0);
  }

int deinit()
  {
  return (0);
  }

int start()
  {
  ChartRedraw( Chart );
  YOPRST();
  return (0);
  }

void YOPRST()
  {
    string str="ABCD"; x=x+1; if (x >= 1000) x = 0;
    if(ObjectFind(str)==-1)
    {
    ObjectCreate(str,OBJ_LABEL,0,0,0);
    ObjectSet(str,OBJPROP_CORNER,2);
    ObjectSet(str,OBJPROP_XDISTANCE,10);
    ObjectSet(str,OBJPROP_YDISTANCE,15);
    }
    ObjectSetText(str, " TIK-"+DoubleToStr (x,0),10,"Arial",clrGreenYellow);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    }
 
A1exPit:
/*
   G e n e r a t e d  
   Website:  
   E-mail :  
*/


Вот это всегда убирайте, чтобы не нарываться.

 Нормальное поведение, срабатывает когда тик приходит, если нужно срабатывание по равным интервалам времени, используйте OnTimer()

Да, ещё есть в природе функция IntegerToString() ;)
 
Vitalie Postolache:

Вот это всегда убирайте, чтобы не нарываться.

 Нормальное поведение, срабатывает когда тик приходит, если нужно срабатывание по равным интервалам времени, используйте OnTimer()

Да, ещё есть в природе функция IntegerToString() ;)

IntegerToString() ;) спасибо, я просто на СИ не писал раньше. Вот учусь помаленьку.

Т.е. это тормоза из за тиков? А как их снизить можно?

 
A1exPit:

IntegerToString() ;) спасибо, я просто на СИ не писал раньше. Вот учусь помаленьку.

Т.е. это тормоза из за тиков? А как их снизить можно?

Сменой брокера. Перебирать до нахождения наиболее активного в плане обновления котировок.

Частота обновления котировок зависит от поставщика этих самых котировок и влиять на неё с клиентской стороны никак не получится.

 
Vitalie Postolache:

Сменой брокера. Перебирать до нахождения наиболее активного в плане обновления котировок.

Частота обновления котировок зависит от поставщика этих самых котировок и влиять на неё с клиентской стороны никак не получится.

А ВПС сервер в принципе может исправить ситуацию? Пинг скажем в 150мс и 50 мс по идее не должен сильно влиять при минутном графике или в итоге влияет?
Причина обращения: