Pessoal preciso movimentar uma informação enquanto movimento o TP ou o SL nessa foto abaixo estou segurando a linha TP que movimentei para cima, quando eu solto a caixa de texto se movimenta para a nova posição, porem, eu preciso saber o valor enquanto estou movendo o SL ou o TP
Como posso fazer isso ?
meu mouse não apareceu no print...
no lado esquerdo tem algumas informações que se movimenta e se auto edita enquanto movimento as linhas, é isso que eu preciso fazer, como a caixa de texto.
obrigado.
Tudo depende do que exatamente você deseja fazer .... se a ideia é saber qual o VALOR de preço no grafico, você pode fazer assim:
em OnInit adicione a linha:
ChartSetInteger(ChartID(), CHART_EVENT_MOUSE_MOVE, true);
isto fará que que os eventos de movimento do mouse seja capturados, em OnChartEvent você deve filtrar o evento CHARTEVENT_MOUSE_MOVE, desta forma o dparam terá o valor Y então você deverá converter este valor para o preço, usando a função ChartXYToTimePrice, desta forma você tera o preço correspondente onde o mouse está. O código ficaria mais ou menos assim
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { datetime dt; int w = 0; double price; switch(id) { ... outros eventos ... case CHARTEVENT_MOUSE_MOVE: ChartXYToTimePrice(ChartID(), (int)lparam, (int)dparam, w, dt, price); // Price indica onde no grafico o mouse esta ... use isto depois ... break; }; }
talvez seja isto que você queira, mas se o valor financeiro do Stop Loss e Take Profit a coisa irá continuar e irá depender de outras coisas.
Neste caso você terá que fazer alguns calculos, pegue o valor conseguido na função ChartXYToTimePrice e efetue ou uma subtração, do valor onde a ordem será aberta, ou esta aberta, isto irá lhe dar uma quantidade de pontos ou ticks, em alguns casos este é o valor financeiro, mas em outros é preciso fazer uma nova fatoração, multiplicando este valor encontrado por uma constante que varia de ativo para ativo, esta constante é conseguida usando a seguinte formula:
double v1 = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE) / SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
tudo que você terá que fazer é multiplicar este valor de v1 pelo valor conseguido do calculo anterior, onde você havia conseguido a quantidade de ticks, assim você terá o financeiro aproximado, mas para deixar o valor finaceiro correto você ainda terá que dividir este ultimo resultado pelo volume que esta sendo negociado, e isto é conseguido pela seguinte formula:
double Volume = nC * SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
onde nC é o numero de contratos, ou melhor dizendo o fator de alavancagem da operação, desta forma finalmente você terá o valor financeiro, e ao mover o mouse, este valor será mostrado ....
double vfinanceiro = nTicks * v1 / Volume; // nTicks é conseguido subtraindo a posiçao do mouse com a posição de abertura da posição ...
Creio que seja esta a sua duvida ...😁👍

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Pessoal preciso movimentar uma informação enquanto movimento o TP ou o SL nessa foto abaixo estou segurando a linha TP que movimentei para cima, quando eu solto a caixa de texto se movimenta para a nova posição, porem, eu preciso saber o valor enquanto estou movendo o SL ou o TP
Como posso fazer isso ?
meu mouse não apareceu no print...
no lado esquerdo tem algumas informações que se movimenta e se auto edita enquanto movimento as linhas, é isso que eu preciso fazer, como a caixa de texto.
obrigado.