Рисовать кривую на графике - страница 3

 
Ihor Herasko:

В OnChartEvent отслеживать CHARTEVENT_MOUSE_MOVE, а не только CHARTEVENT_CLICK. При перемещении мыши нужно будет преобразовать координаты из XY в PriceTime. Для этого есть функция ChartXYToTimePrice().


сделал такой код:

void OnChartEvent(const int CHART_EVENT_MOUSE_MOVE,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {

Comment(lparam);
   
  }


что-то оно изменяет значение только при клике на графике...


 
Максим Дмитриев:

что-то оно изменяет значение только при клике на графике...

Это событие надо явно включать для графика

 
Комбинатор:

Это событие надо явно включать для графика

и тут мои изыскания закончились.

а нету статьи по использованию функции OnChartEvent() ?
 
Максим Дмитриев:

сделал такой код:


что-то оно изменяет значение только при клике на графике...

Если Вы не программист и хотите это сделать сами, то у вас на написание подобной программы уйдет минимум неделя при условии что вы талантливый человек в плане самообразования и имеете хорошее логическое мышление..
Это очень не сложная задача и для опытного програмиста эта задача займет 1-2 часа времни для чернового рабочего варианта, может даже полчаса. Определитесь, вы хотите сами написать или попросить кого-нибудь?
 
Nikolai Semko:
Если Вы не программист и хотите это сделать сами, то у вас на написание подобной программы уйдет минимум неделя при условии что вы талантливый человек в плане самообразования и имеете хорошее логическое мышление..
Это очень не сложная задача и для опытного програмиста эта задача займет 1-2 часа времни для чернового рабочего варианта, может даже полчаса. Определитесь, вы хотите сами написать или попросить кого-нибудь?

я типа шарю немного.

тут и напишем, если получится... )

 
Максим Дмитриев:
и тут мои изыскания закончились.

ChartSetInteger(CHART_EVENT_MOUSE_MOVE, true)

Заодно можно еще посмотреть на

CHART_MOUSE_SCROLL

и CHART_DRAG_TRADE_LEVELS.

смотрите статьи tol64

 
Максим Дмитриев:

я типа шарю немного.

тут и напишем, если получится... )

Ну самый быстрый способ это учиться на готовых программах, где реализована обработка событий мыши, а когда встречается непонятная функция или свойство, щёлкать по нему мышкой и нажимать F1. 
 
Комбинатор:

ChartSetInteger(CHART_EVENT_MOUSE_MOVE, true)



о. спасибо. проканало)

 

пока что имеем такое:

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE, true);
Comment(lparam,"\n",dparam);

   
  }
 
Максим Дмитриев:

пока что имеем такое:


ChartSetInteger в OnInit() переместите. Её достаточно один раз запустить, а не каждый раз при наступлении любого события.

в комент добавьте еще sparam и id, чтоб понимать что за что отвечает

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