Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 764

 
Vladimir Karputov:

Escrevi isto ontem mesmo:

Tarefa:

em cada tick obter elementos "InpCountCopy" abertos, altos, baixos, fechados e tempo.

Implementação:

  1. loop de "0" a "InpCountCopy-1" - o loop recebe um aberto, alto, baixo, fechado e de cada vez.
  2. De uma vez, obtemos elementos "InpCountCopy" na estrutura MqlRates e depois percorremos a estrutura.

Características:

Pode escolher como verificar: em OnTick ou em OnTimer (1 segundo).


Para que é que preciso dele? A questão não era para todos, mas apenas para Aleksey Vyazmikin
 
Alexey Viktorov:
Porquê eu? A questão não era para todos, mas apenas para Aleksey Vyazmikin

Editado: agora para todos :)

 

Podem dizer-me, fiz tudo de acordo com o estilo chique, desenhei uma linha no init, seleccionei-a, mas no testador em modo visual não a posso mover do seu lugar, em geral é impossível fazer nada com ela.

O que está errado, o que tenho de fazer para o manipular? Não há problema no quadruplolet


 
Vitaly Muzichenko:

Podem dizer-me, fiz tudo de acordo com o estilo chique, desenhei uma linha no init, seleccionei-a, mas no testador em modo visual não a posso mover do seu lugar, em geral é impossível fazer nada com ela.

O que há de errado, o que tenho de fazer para o manipular? Não há problema no quadruplolet

No testador, tanto quanto sei, não se pode controlar manualmente os gráficos.
 
Alexey Kozitsyn:
No testador, tanto quanto sei, não se pode controlar os gráficos manualmente.

A resposta está provavelmente errada, não pode ser, é um testador de estratégias. Mais provavelmente um erro da minha parte, mas como corrigi-lo?

 
Vitaly Muzichenko:

A resposta está provavelmente errada, não pode ser, é um testador de estratégias. Mais provavelmente uma falha da minha parte, mas como corrigi-la?

Não me parece... O testador de estratégias MT5 não permite a interacção manual com objectos, porque o testador MT5 é um programa separado.
 
Alexey Kozitsyn:
Improvável... O testador de estratégias MT5 não permite a interacção manual com objectos, uma vez que o testador MT5 é um programa separado.
A OnChartEvent() não funciona no testador de mt5?
 
Artyom Trishkin:
A OnChartEvent() não funciona no testador de mt5 ?
Vamos verificar isso agora :)
 
Alexey Kozitsyn:
Vamos verificar agora:)
Penso que funcionou. Já lá vai algum tempo, no entanto. Agora não posso verificar no meu telemóvel. À espera.
 
Artyom Trishkin:
Parece ter funcionado. Mas já passou muito tempo. Mas agora não posso verificar no meu telemóvel. À espera.

Um evento de movimento do rato não é definitivamente gerado. O mesmo se passa com os outros, penso eu.

#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,true);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
  {
   if(id==CHARTEVENT_MOUSE_MOVE)
     {
      Print(__FUNCTION__,": ДВИЖЕНИЕ!");
     }
  }
//+------------------------------------------------------------------+
Razão: