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

 
Vitalie Postolache:
¡¡¡¡¡¡¡¡¡¡¡¡¡Urgente a real!!!!!!!!!!!!!
no tan urgente, una copia para mí primero)
 
Treder9:
A mí también me gustaría conseguir uno de verdad por 50 dólares.

Se puede conseguir un buen aumento de una libra como esa.

*pero nadie puede hacerlo*

¡Contesto!
 
Taras Slobodyanik:

Es necesario añadir un parámetro

request.type_time=ORDER_TIME_DAY;


Gracias, sólo me gustaría saber cómo añadir...

 

No sé cómo expresar High[] en cinco...

double High[]
double High[];
int count;        // сколько копируем
ArraySetAsSeries(High,true);
CopyHigh(_Symbol,_Period,0,count,High);
 
-Aleks-:

No sé cómo expresar High[] en 5???

Lo expreso así, puede que no esté escrito correctamente, pero funciona:

double iOpen(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Open[];
  double open=0;
   ArraySetAsSeries(_Open,true);
   int copied=CopyOpen(symb,tf,0,Bars(symb,tf),_Open);
   if(copied>0 && index<copied) open=_Open[index];
   return(open);
}
double iClose(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Close[];
  double close=0;
   ArraySetAsSeries(_Close,true);
   int copied=CopyClose(symb,tf,0,Bars(symb,tf),_Close);
   if(copied>0 && index<copied) close=_Close[index];
   return(close);
}
double iHigh(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _High[];
  double high=0;
   ArraySetAsSeries(_High,true);
   int copied=CopyHigh(symb,tf,0,Bars(symb,tf),_High);
   if(copied>0 && index<copied) high=_High[index];
   return(high);
}
double iLow(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Low[];
  double low=0;
   ArraySetAsSeries(_Low,true);
   int copied=CopyLow(symb,tf,0,Bars(symb,tf),_Low);
   if(copied>0 && index<copied) low=_Low[index];
   return(low);
}
 
-Aleks-:

No sé cómo expresar High[] en 5???

MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);


entonces, cuando sea necesario, llame a: rates[x].high.
 
Vitaly Muzichenko:

Lo expreso así, puede que no esté bien escrito, pero funciona:

Y lo hice - pero por qué arruinarlo tanto en cinco....

Vitalie Postolache:

MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);


entonces, cuando sea necesario, llame a: rates[x].high.

¿Y qué, por regla general, la gente copia todos los valores? ¿Cuál es la ventaja de esta copia? ¿Consume menos memoria que en el 4?

Cayó en un estupor de

Hay que tener en cuenta que en MQL5 los valores numéricos de las constantes de los períodos del gráfico (empezando por H1) no coinciden con el número de minutos de una barra (por ejemplo, en MQL5 el valor numérico de PERIOD_H1=16385, mientras que en MQL4 PERIOD_H1=60). Esta circunstancia debe tenerse en cuenta a la hora de transferir a MQL5, si se han utilizado valores numéricos para los cálculos en el programa en MQL4.

Para conocer el número de minutos de un período determinado de un gráfico, divida el valor de la función PeriodSeconds por 60.

¿De dónde viene el número 16385, dónde está la lógica?

 
Vitalie Postolache:

MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);


y luego, cuando sea necesario, llamar a: rates[x].high.

Bien, tú tienes una solución para el carácter actual, yo tengo una recuperación multisímbolo.

Pregunta: ¿es correcto lo que he escrito o hay un error en el código?

-Aleks-:

Estoy confundido por

Hay que tener en cuenta que en MQL5 los valores numéricos de las constantes de los periodos del gráfico (empezando por H1) no coinciden con el número de minutos de una barra (por ejemplo, en MQL5 el valor numérico de PERIOD_H1=16385, mientras que en MQL4 PERIOD_H1=60). Esta circunstancia debe tenerse en cuenta a la hora de transferir a MQL5, si se han utilizado valores numéricos para los cálculos en el programa en MQL4.

Para conocer el número de minutos de un período determinado de un gráfico, divida el valor de la función PeriodSeconds por 60.

¿De dónde viene el número 16385, dónde está la lógica?

Debe estudiar física cuántica, de ahí debe venir el valor
 
-Aleks-:

Yo también lo hice, pero por qué lo estropeé tanto en la página web ....

Y, ¿qué es lo que la gente tiende a copiar todos los valores? ¿Cuál es la ventaja de esta copia? ¿Consume menos memoria que en el 4?

¿Por qué todo? Información completa para 100 bares, a la vez (por supuesto, puede especificar menos o más bares). Útil cuando se necesita algo más que High.

Pero puede descargarse por separado, como demostróVitaly Muzichenko.

Vitaly Muzichenko:

Bien, tienes la solución para el símbolo actual, tengo una capacidad multisímbolo.

Pregunta: ¿es correcto o hay un error en mi código?

Es fácil "convertir" esta solución en una multisímbolo, simplemente especificando un carácter en lugar de NULL. Bueno, y TF, si es necesario, como en tus ejemplos.

En cuanto a la corrección del código, por lo que hay ejemplos en la ayuda(CopyHigh mirada), sólo hay matrices en el nivel global.

 
-Aleks-:

Cae en el desorden .........

Eso es.

Es un poco espinoso al principio. Sin embargo, la reescritura desde MT4 no es un problema.

No sé los demás, pero 4-Rock piensa más rápido.

Y lo que se ha hecho en 4-Rka entra en el Mercado sin ningún problema, mientras que la reescritura de MT4 a MT5 a veces no pasa sólo porque el Mercado no tiene tiempo para probar un producto idéntico en su tiempo asignado.