Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1117

 

Forumda bir kez MT5'in kullanıcı geçmiş verilerini içe aktarma yeteneği ekleyeceğini yazdılar, bu zaten uygulandı mı?

 
Top2n :

//--- путь к файлу
   string path=InpDirectoryName+ "//" +InpFileName;
//--- откроем файл
   ResetLastError ();
   int file_handle= FileOpen (path, FILE_READ | FILE_BIN );
   if (file_handle!= INVALID_HANDLE )
     {
       //--- прочитаем все данные из файла в массив
       FileReadArray (file_handle,arr);
       //--- получим размер массива
       int size= ArraySize (arr);
       //--- распечатаем данные из массива
         Print ( " = " ,arr[ 0 ][ 0 ], " = " ,arr[ 1 ][ 1 ], " = " ,arr[ 2 ][ 2 ]);
       Print ( "Total data = " ,size);
       //--- закрываем файл
       FileClose (file_handle);
     }
   else
       Print ( "File open failed, error " , GetLastError ());
2017.01 . 09 17 : 20 : 40.609 TorFid_v02 (EURUSD,H1)  = 0.0   = 0.0   = 0.0
2017.01 . 09 17 : 20 : 40.609 TorFid_v02 (EURUSD,H1)  Total data = 1020100

Neyin eksik olduğunu anlıyorum, iki boyutlu bir diziye ters dönüşüm, ama nasıl olduğunu anlamıyorum

Tabii doğru kaydettiysem

for ( int  z= 1 ; z<=ARRAY_SIZE_Y; z++)  // Перебор по барам, колонка Y
        {
          for ( int  q= 1 ; q<ARRAY_SIZE_X- 1 ; q++)  // Перебор по периоду, колонка X
           {
            arr[q][z]= NormalizeDouble (sm.d[q+ 1 ].m[nBar-z], 5 );                 // M(I) SMA
           }
        }
      WriteData( 1000 );
//+------------------------------------------------------------------+
//| Запись n элементов массива в файл                                |
//+------------------------------------------------------------------+
void WriteData( const int n)
  {
//--- откроем файл
   ResetLastError ();
   int handle= FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN );
   if (handle!= INVALID_HANDLE )
     {
       //--- запишем данные массива в конец файла
       FileSeek (handle, 0 , SEEK_END );
       FileWriteArray (handle,arr, 0 ,n);
       //--- закрываем файл
       FileClose (handle);
     }
   else
       Print ( "Failed to open the file, error " , GetLastError ());
  }

umarım bu satırlar da vardır

//--- входные параметры
input string InpFileName= "data.bin" ;
input string InpDirectoryName= "SomeFolder" ;

Basit başlayın. Hepsini komut dosyalarında yeniden yazın. Biri dosyayı yazmak için, diğeri okunanları okumak ve yazdırmak için. Kayıt için basit bir 2x2 dizi yapın

int arr[ 2 ][ 2 ];

void OnStart ()
{
int z = 0 ;
for ( int i = 0 ; i < 2 ; i++)
  {
   arr[i][z] = i+z+ 1 ;
    z++;
  }
WriteData();
}

ve kaydedilen öğelerin sayısını kaldırın. Bu , tüm dosyayı baştan sona yazacaktır . Dosyanın belirtilen yolda görünüp görünmediğini kontrol edin.

void WriteData() // здесь

FileWriteArray (handle,arr); // и здесь
Sonra ne olduğunu okuyun ve yazdırın. 1 ve 3'ü görüyorsanız, sorun diziyi doldurmakta.
 
Top2n :

Bak ne oluyor.

Komut dosyası kodu yazın.

//+------------------------------------------------------------------+
//|                                                   WriteArray.mq5 |
//|                                                         Viktorov |
//|                                                v4forex@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Viktorov"
#property link        "v4forex@yandex.ru"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string InpFileName = "data.bin" ;
string InpDirectoryName = "SomeFolder" ;  
string path=InpDirectoryName+ "//" +InpFileName;
int arr[ 3 ][ 3 ];
int handle;
void OnStart ()
{
int i = 0 , z = 0 ;
for (i = 0 ; i < 3 ; i++)
  {
   for (z = 0 ; z < 3 ; z++)
    {
     arr[i][z] = i*z+ 1 ;
    }
  }
  WriteData();
}
//+------------------------------------------------------------------+
void WriteData()
  {
//--- откроем файл
   ResetLastError ();
   handle= FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN );
   if (handle!= INVALID_HANDLE )
     {
       //--- запишем данные массива в конец файла
       FileSeek (handle, 0 , SEEK_END );
       FileWriteArray (handle,arr);
       //--- закрываем файл
       FileClose (handle);
     }
   else
       Print ( "Failed to open the file, error " , GetLastError ());
  }

Komut dosyası kodunu okuyun.

//+------------------------------------------------------------------+
//|                                                    ReadArray.mq5 |
//|                                                         Viktorov |
//|                                                v4forex@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Viktorov"
#property link        "v4forex@yandex.ru"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string InpFileName = "data.bin" ;
string InpDirectoryName = "SomeFolder" ;  
string path=InpDirectoryName+ "//" +InpFileName;
int handle;
void OnStart ()
{
int arr[ 3 ][ 3 ];
int i = 0 , z = 0 ;
handle = FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN );
FileReadArray (handle, arr);
for (i = 0 ; i < 3; i++)
  {
   for (z = 0 ; z < 3 ; z++)
    {
     Print ( "arr[" , i, "][" , z, "]" , arr[i][z]);
    }
  }
}
//+------------------------------------------------------------------+

ve yazdırdığı şey bu

2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 0 ][ 0 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 0 ][ 1 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 0 ][ 2 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 1 ][ 0 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 1 ][ 1 ] 2
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 1 ][ 2 ] 3
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 2 ][ 0 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 2 ][ 1 ] 3
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1)   arr[ 2 ][ 2 ] 5

Bu nedenle, dönüşüm için çan ve ıslık gerekmez. Sadece başlangıçta aynı dizileri ayarlamak gereklidir.

Bunun mql5 olmasına dikkat etmeyin, mql4'te de aynı şekilde çalışacaktır.

 
Alexey Viktorov :
Sonra ne olduğunu okuyun ve yazdırın. 1 ve 3'ü görüyorsanız, sorun diziyi doldurmakta.

Dürüst olmak gerekirse, ne olduğunu bile bilmiyorum, ama her şey çalıştı, her yeni çubuk için bir satır eklemeye devam ediyor, umarım soru olmaz)))

Teşekkür ederim!

 

Merhaba!!! Söyle lütfen, temiz bir MT4 indirmek istiyorum ama hiçbir yerde bulamıyorum, siteden sadece MT5 indiriliyor. Lütfen en son yapıyı temiz birini atın. Şimdiden teşekkürler!!!

 
stepan.brend :

Merhaba!!! Söyle lütfen, temiz bir MT4 indirmek istiyorum ama hiçbir yerde bulamıyorum, siteden sadece MT5 indiriliyor. Lütfen en son yapıyı temiz birini atın. Şimdiden teşekkürler!!!

Beğendiğiniz herhangi bir DC'den indirin ve tek fark etiketteki logo olmak üzere temiz bir en son sürüme sahip olacaksınız.
 
Vitaly Muzichenko :
Beğendiğiniz herhangi bir DC'den indirin ve tek fark etiketteki logo olmak üzere temiz bir en son sürüme sahip olacaksınız.
Sorun şu ki, piyasa çalışmıyor, MT4'e birden fazla yardımcı program yükleyemiyorum. Lütfen ne yapacağımı söyle) Yardımcı programı kurmak çok gerekli
 
stepan.brend :
Sorun şu ki, piyasa çalışmıyor, MT4'e birden fazla yardımcı program yükleyemiyorum. Lütfen ne yapacağımı söyle) Yardımcı programı kurmak çok gerekli
Başka bir DC'de bir hesap açın. Veya başka bir hesap türü. Bir piyasanın varlığı veya yokluğu tamamen hesaba bağlıdır.
 
Vitalie Postolache :
Başka bir DC'de bir hesap açın. Veya başka bir hesap türü. Bir piyasanın varlığı veya yokluğu tamamen hesaba bağlıdır.
Vitalie Postolache :
Başka bir DC'de bir hesap açın. Veya başka bir hesap türü. Bir piyasanın varlığı veya yokluğu tamamen hesaba bağlıdır.

Üç DC ve farklı hesap denedim, piyasa hala çalışmıyor (

 
stepan.brend : Üç DC ve farklı hesap denedim, piyasa hala çalışmıyor(
Mucizeler gerçekleşmez. Terminal versiyonu nedir? Sinyal sekmesi olmayan hesaplar gördüm ama çoğunun marketi var.