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

 
SILVERPRINT:
Mql4 al referirse al indicador en lugar de los datos del probador los últimos datos enMql5 salieronigual?

No entiendo nada. Intenta reformular y poner signos de puntuación.

 

Todos los indicadores creados con métodos de la biblioteca estándar deben actualizarsemanualmente?

Hay dos métodos

RefreshCurrent
Refresh


¿Entiendo que la primera es necesaria si sequiereuna actualización automática?

Y la segunda, simplementeRefrescar, para refrescarmanualmente una vez al tick toda la matriz de datos?

 
SILVERPRINT:

Todos los indicadores creados con métodos de la biblioteca estándar deben actualizarsemanualmente?

Hay dos métodos


¿Entiendo que la primera es necesaria sinecesitouna actualización automática?

Y la segunda, simplementeRefrescar, para refrescarmanualmente una vez al tick toda la matriz de datos?


Por favor, muestre el código de cómo crear un indicador en su Asesor Experto.

 
Vladimir Karputov:

No entiendo nada. Intenta reformular y poner signos de puntuación.


En mql4 la información de los indicadores en el índice cero en el probador dio una fecha de flipper de la historia. ¿Has tenido que ibarshift lo mismo en mql5?

 
SILVERPRINT:

En mql4 la información de los indicadores en el índice cero en el probador estaba dando un flipper de fecha del historial. ¿Has tenido que ibarshift lo mismo en mql5?


Reformular. Poner signos de puntuación. Escribe en ruso.

 
Vladimir Karputov:

Muestra el código de cómo crear el indicador en el EA.

#include <Indicators\Trend.mqh>
#include <Indicators\Oscilators.mqh>
#include <Indicators\TimeSeries.mqh>

MqlTick infotick;
MqlDateTime currentTime;
CiMA ValueofMA200;
CiMA ValueofMA20;
CiMA ValueofMAHour;
CiATR atr;
CiTime timeh1;
CiTime timeD1;


   sym=_Symbol;
   ValueofMA200.Create(sym,PERIOD_D1,slowma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMA20.Create(sym,PERIOD_D1,fastwma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMAHour.Create(sym,PERIOD_H1,mahours,0,MODE_SMA,PRICE_CLOSE);
   atr.Create(sym,PERIOD_H1,200);
   timeh1.Create(sym,PERIOD_H1);
   timeD1.Create(sym,PERIOD_H1);
   
   timeh1.BufferResize(25);
   timeD1.BufferResize(200);
   
   timeh1.Refresh(PERIOD_H1);
   timeD1.Refresh(PERIOD_D1);

         ValueofMA200.Main(0);
         ValueofMA20.Main(0);
         ValueofMAHour.Main(0);    
         atr.Main(0);
Aproximadamente así
 
SILVERPRINT:
Así

Sí, si utilizas la clase de la biblioteca estándar para crear indicadores, entonces debes utilizar los métodosRefresh para recuperar los datos

 
Vladimir Karputov:

Sí, si utilizas la clase de la biblioteca estándar para crear indicadores, entonces tienes que utilizar los métodos deRefresh para recuperar los datos

¿Cómo funcionan estos métodos? ¿Qué es mejor utilizar?

RefreshCurrent
Refresh
Tengo entendido queRefreshCurrent es un método costoso en cada tick.
 
SILVERPRINT:

1) ¿Cómo funcionan estos métodos? 2) ¿Qué es mejor utilizar?


1) Navegue hasta este método en el editor (si hace clic en el centro del nombre del método, accederá a este método) - esto le mostrará cómo funciona el método. La receta es universal: al hacer clic con el botón central en cualquier método o función, se pasa al código de la función o del método.

2) No hay dos maneras de hacerlo. Algunos utilizan la creación de indicadores a través de clases, otros utilizan la creación de asas (iMA, iMACD ...).

 
Vladimir Karputov:

1) Navegue hasta este método en el editor (si hace clic en el centro del nombre del método, accederá a este método) - esto le mostrará cómo funciona el método. La receta es universal: al hacer clic con el botón central en cualquier método o función, se pasa al código de la función o del método.

2) No hay dos maneras de hacerlo. Algunos utilizan la creación de indicadores a través de clases, otros utilizan la creación de asas (iMA, iMACD ...).


Mi ratón no tiene botón central, es de plata pura)).Probablemente mis problemas con la llamada óptima ya se han solucionado con los años. No querría actualizar toda la matriz con cada tic.