Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 764

 
Vladimir Karputov:

Acabo de escribir esto ayer:

Tarea:

en cada tick obtener los elementos "InpCountCopy" open, high, low, close y time.

La puesta en práctica:

  1. bucle de "0" a "InpCountCopy-1" - el bucle obtiene una apertura, alta, baja, cierre y tiempo a la vez.
  2. En un momento dado obtenemos elementos "InpCountCopy" en la estructura MqlRates y luego hacemos un bucle a través de la estructura.

Características:

Puede elegir cómo comprobarlo: en OnTick o en OnTimer (1 segundo).


¿Para qué lo necesito? La pregunta no era para todos, sino sólo para Aleksey Vyazmikin
 
Alexey Viktorov:
¿Por qué yo? La pregunta no era para todos, sino sólo para Aleksey Vyazmikin

Editado: ahora para todos :)

 

Me podéis decir, he hecho todo según el estilo fancy, he dibujado una línea en init, la he seleccionado, pero en el tester en modo visual no puedo moverla de su sitio, en general es imposible hacer nada con ella.

¿Qué pasa, qué tengo que hacer para manipularlo? No hay problema en el cuádruple


 
Vitaly Muzichenko:

Me podéis decir, he hecho todo según el estilo fancy, he dibujado una línea en init, la he seleccionado, pero en el tester en modo visual no puedo moverla de su sitio, en general es imposible hacer nada con ella.

¿Qué pasa, qué tengo que hacer para manipularlo? No hay problema en el cuádruple

En el probador, que yo sepa, no se pueden controlar manualmente los gráficos.
 
Alexey Kozitsyn:
En el probador, que yo sepa, no se pueden controlar los gráficos manualmente.

La respuesta es probablemente errónea, no puede ser, es un probador de estrategias. Lo más probable es que sea un error por mi parte, pero ¿cómo solucionarlo?

 
Vitaly Muzichenko:

La respuesta es probablemente errónea, no puede ser, es un probador de estrategias. Lo más probable es que sea un fallo mío, pero ¿cómo lo arreglo?

No lo creo... El comprobador de estrategias de MT5 no permite la interacción manual con los objetos, porque el comprobador de MT5 es un programa independiente.
 
Alexey Kozitsyn:
Es poco probable... El comprobador de estrategias de MT5 no permite la interacción manual con los objetos, ya que el comprobador de MT5 es un programa independiente.
¿No funciona OnChartEvent() en el probador de mt5?
 
Artyom Trishkin:
¿No funciona OnChartEvent() en el probador de mt5?
Vamos a comprobarlo ahora :)
 
Alexey Kozitsyn:
Vamos a comprobarlo ahora:)
Creo que ha funcionado. Sin embargo, ha pasado un tiempo. Ahora no puedo comprobarlo en mi teléfono móvil. Esperando.
 
Artyom Trishkin:
Parece que ha funcionado. Sin embargo, ha pasado mucho tiempo. Pero ahora no puedo comprobarlo en mi teléfono móvil. Esperando.

Definitivamente no se genera un evento de movimiento del ratón. Creo que a los demás les pasa lo mismo.

#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__,": ДВИЖЕНИЕ!");
     }
  }
//+------------------------------------------------------------------+