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

 
Konstantin Nikitin:

En general, puede configurar Excel para que ponga un punto en lugar de una coma.

Puede ajustar la configuración regional en el propio sistema operativo.

 
Eduard Shpigelman:
Hay dos órdenes abiertas pero la función OrdersTotal() devuelve 0. ¿Cuál puede ser la razón? Gracias.

MQL5: Ejemplos:

 
Konstantin Nikitin:

De hecho, puedes configurar Excel para que ponga un punto en lugar de una coma.

Puedes hacerlo. No en Excell, sino en el sistema operativo.


 
Alexey Viktorov:

Puedes hacerlo. Pero no en Excell, sino en el sistema operativo.

Recuerdo que algo se puede montar. Hacía mucho tiempo que no tenía eso en la cabeza. Pero lo principal es que puedes...

 

Lo que obtuve fue lo siguiente:

Por comodidad, tuve que rehacer la hoja de cálculo de Excel para que todos los datos necesarios se recogieran en una primera columna (A), en una columna. Resultó ser más conveniente leer desde la columna más a la izquierda y convertir todo a doble que recogerlos de todas las filas. Al final, el código adoptó la siguiente forma:

//+------------------------------------------------------------------+
//дата 
   datetime t=D'2019.05.17';
//+------------------------------------------------------------------+
   string FileName="Книга1 EURUSD.csv";
//+------------------------------------------------------------------+
   string sy[80];//количество необходимых данных
   double dy[80];//
   ArrayFill(dy,0,80,0);//явно обнуляем
   int c=0;

   int hf=FileOpen(FileName,FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI);
   if(hf!=INVALID_HANDLE)
     {
      while(!FileIsEnding(hf))
        {
         sy[c]=FileReadString(hf);//записываем в массив string
         StringSetLength(sy[c],20);//укорачиваем строку, т.к. явно будет меньше 20 значащих цифр
         StringReplace(sy[c],";","                    "); //меняем первый(;) на 20 пробелов
         StringSetLength(sy[c],20);//ещё раз укорачиваем строку
         StringTrimRight(sy[c]);//Удаляем ненужные пробелы справа, т.о. укорачиваем строку до значащих символов
         StringReplace(sy[c],",",".");//меняем (,) на (.)
         dy[c]=StringToDouble(sy[c]);//переводим string в double и записываем в массив double

         c++;//считаем, сколько записать данных в массив
         if(c>=80)break;//выходим из цикла по окончании массива
        }
/*
      //сверяем с таблицей в Excel, если нужно
      for(int i=0;i<80;i++)
        {
         Alert("8   i=",i,"   dy[i]=",dy[i]);
        }
*/
     }
   else
     {
      Alert("Не удалось открыть h_f. Код ошибки = ",GetLastError());
      return;
     }
//+------------------------------------------------------------------+
 
Roman Sharanov:

¡LA DESCOMPILACIÓN ESTÁ PROHIBIDA!

¿Qué tiene que ver la descompilación con esto, no lo entiendo?

 
Roman Sharanov:

¿Qué tiene que ver la descompilación con esto, no lo entiendo?

¿Quizás has publicado el código descompilado? ¿Quizás pediste algo más relacionado con la descompilación del ejecutable?

 
No, sólo la incompetencia de quien hizo el juicio.
 
No pretendo haber sido moderador.
 

Confundido sobre la ortografía correcta de la condición, ayuda:

   if ((ma_slow[0]-ma_slow[9]) > (5*Point()))