Combinação de Eventos (OnChartEvent)

 

Olá, 

Estou programando um chart trading para negociações manuais e preciso saber se tem como o MT5 capturar combinações de eventos.

Ex.: Shift+Mouse Move


A ideia é que ao apertar e segurar Shift uma linha horizontal acompanhe o pointer do mouse.


Desde já grato pela atenção galera!

 
Sidnei Da Silva Santos Junior:

Olá, 

Estou programando um chart trading para negociações manuais e preciso saber se tem como o MT5 capturar combinações de eventos.

Ex.: Shift+Mouse Move


A ideia é que ao apertar e segurar Shift uma linha horizontal acompanhe o pointer do mouse.


Desde já grato pela atenção galera!

RESOLVIDO

SOLUÇÃO:

Quando o evento mouse move é detectado, o parâmetro "sparam" recebe um valor para cada tecla do teclado caso esteja pressionada.

Exemplo no código abaixo.

void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) 
{
	
	if(id==CHARTEVENT_MOUSE_MOVE && StringToInteger(sparam)==4) //Evento MOUSE MOVE && Tecla Shift Pressionada ao mesmo tempo
         {
	    //lparam == distancia horizontal do ponto zero
	    //dparam == distancia vertical do ponto zero
            //sparam == id da tecla pressionada
         
            double preco;
            datetime hora;
            int subjanela;
            
            ChartXYToTimePrice(0,lparam,dparam,subjanela,hora,preco);
            
            ObjectSetDouble(0,"OrdemCompra",OBJPROP_PRICE,preco);
            
         } 
}