Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1044

 
Konstantin Nikitin:

Em geral, pode configurar o Excel para pôr um fim total em vez de uma vírgula.

Pode ajustar as Definições Regionais no próprio sistema operativo.

 
Eduard Shpigelman:
Duas ordens estão abertas mas a função OrdersTotal() retorna 0. Qual pode ser a razão? Obrigado.

MQL5: Exemplos:

 
Konstantin Nikitin:

De facto, pode configurar o Excel para pôr um fim total em vez de uma vírgula.

Pode. Não em Excelência, mas no sistema operativo.


 
Alexey Viktorov:

Pode. Apenas não em Excelência, mas no sistema operativo.

Lembro-me que algo pode ser montado. Há muito tempo que não tinha isso na minha cabeça. Mas o principal é que pode...

 

O que recebi foi o seguinte:

Por conveniência, tive de retrabalhar a folha de cálculo Excel para que todos os dados necessários fossem recolhidos numa primeira coluna (A), numa coluna. Acabou por ser mais conveniente ler a partir da coluna mais à esquerda e converter tudo para o dobro do que recolhê-los de todas as filas. O código no final tomou a seguinte 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:

A DESCOMPILAÇÃO É PROIBIDA!

O que é que a descompilação tem a ver com isso, eu não percebo?

 
Roman Sharanov:

O que é que a descompilação tem a ver com isto, não percebo?

Talvez tenha afixado o código descompilado? Talvez tenha pedido algo mais para fazer com a descompilação do executável?

 
Não, apenas a incompetência de quem quer que tenha feito o julgamento.
 
Não pretendo ter sido um moderador.
 

Confuso sobre a ortografia correcta da condição, ajuda:

   if ((ma_slow[0]-ma_slow[9]) > (5*Point()))
Razão: