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

 
Vladimir Karputov:

No estaba amenazando a nadie. Estás soñando.

También has mezclado MQL5 y MQL4. El código MQL5 son archivos con extensión .mq5.

No he amenazado a nadie, sino que he hecho una observación, es un giro humorístico :-)

Estaba citando el código cinco aquí, quizás me has confundido con otra persona.

 
psyman:

No pretendo amenazar, sino reprender, es un giro humorístico :-)

Yo estaba citando el código cinco aquí, tal vez usted me ha confundido con otra persona.

Dos pasos:

comparar el número 4 y el 5. Encuentra la diferencia.

Revisa tus mensajes y mira el número.


Y en general este hilo es sobre MQL5, deja de despotricar por estar aquí.

 

Amigos, pueden ayudar con una función que seleccione los caracteres de las posiciones abiertas y los guarde en un array. No parece que tenga problemas, pero no puedo deshacerme de los duplicados si hay varias posiciones abiertas.

 
Alexander Mikryukov:

Amigos, pueden ayudar con una función que seleccione los caracteres de las posiciones abiertas y los guarde en un array. No parece que tenga problemas, pero no puedo deshacerme de los duplicados cuando hay varias posiciones abiertas.

Aquí, reescríbalo para mql5

  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
    if(OrderType()<2) {
     if(ArraySearchStr(symbols, OrderSymbol())==-1) {
      b++;
       ArrayResize(symbols,b+1);
       symbols[b]=OrderSymbol();
  }}}}

//===============================================================================================
//------------------------------ Функция удаляет копии с массива -------------------------------+
//===============================================================================================
int ArraySearchStr(string& m[], string e) {
  for(int i=0; i<ArraySize(m); i++) {
   if(m[i]==e) return(i);
  }
  return(-1);
 }
 
Vitaly Muzichenko:

Aquí, para mql5, reescríbalo usted mismo

Gracias.

 

Ayúdame a entender algo que no entiendo.

      for(int p = 0; p < InpShiftCorrection; p++) prs += pressureDetermination(open[i],close[i],high[i],low[i]);
      prs /= InpShiftCorrection;
      prs *= (high[i] - low[i]);
      Print(NormalizeDouble(prs,Digits()));

La pregunta es: ¿por qué la impresora de normalización produce semejantes disparates?

2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00025
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00012
2019.03.29 22:53:29.310 2019.01.02 06:01:21   8.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   5 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -4 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00017
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -8.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00052
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00029
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00114
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00123
 
Сергей Таболин:

Ayúdame a entender algo que no entiendo.

La pregunta es: ¿por qué la impresora de normalización produce semejantes disparates?

Print(NormalizeDouble(prs,Digits()));
Print(DoubleToString(prs,Digits()));
 
Vitaly Muzichenko:

Lo intentaré. Gracias. Pero hasta ahora, esta misma impresora ha producido valores excepcionalmente correctos...

 
Сергей Таболин:

Lo intentaré. Gracias. Pero hasta ahora, esta misma impresión ha producido valores excepcionalmente correctos...

Te halagó)

 
Vitaly Muzichenko:

Te estaba halagando))

Al parecer, así es )))) Ha funcionado.