Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1044

 
Konstantin Nikitin :

Genel olarak, Excel'i virgül yerine nokta koyacak şekilde yapılandırabilirsiniz.

Bölgesel ayarlar işletim sisteminin kendisinde yapılandırılır.

 
Eduard Shpigelman :
İki sipariş açık, ancak OrdersTotal() işlevi 0 döndürüyor. Nedeni ne olabilir? Teşekkür ederim.

MQL5: Örnekler:

 
Konstantin Nikitin :

Genel olarak, Excel'i virgül yerine nokta koyacak şekilde yapılandırabilirsiniz.

Yapabilir. Yalnızca Excell'de değil, işletim sisteminde.


 
Alexey Viktorov :

Yapabilir. Yalnızca Excell'de değil, işletim sisteminde.

Bir şeyin yapılandırılabileceğini hatırlıyorum. Uzun zamandır kafamda bu yoktu. Ama en önemlisi, yapabilirsin...

 

Genel olarak, aşağıdakiler oldu:

Kolaylık sağlamak için, Excel'deki tabloları, gerekli tüm verilerin bir sütunda bir ilk (A) sütununda toplanacağı şekilde yeniden işlemem gerekiyordu. En soldaki sütundan okumak ve her şeyi ikiye katlamak, onları tüm satırlarda toplamaktan daha uygun olduğu ortaya çıktı. Sonundaki kod aşağıdaki formu aldı:

 //+------------------------------------------------------------------+
//дата 
   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 :

AYRILMAK YASAKTIR!

Ve ayrıştırma nerede, anlamıyorum?

 
Roman Sharanov :

Ve ayrıştırma nerede, anlamıyorum?

Belki de derlenmiş kodu gönderdiniz? Belki yürütülebilir dosyanın ayrıştırılmasıyla ilgili başka bir şey istediler?

 
Hayır, sadece kararı verenin beceriksizliği.
 
Moderatör olduğunu söyleyemem.
 

Durumun doğru yazılışı konusunda kafanız karıştı, yardım edin:

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