Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1117
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Forumda bir kez MT5'in kullanıcı geçmiş verilerini içe aktarma yeteneği ekleyeceğini yazdılar, bu zaten uygulandı mı?
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) 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 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
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.
FileWriteArray (handle,arr); // и здесь
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 ][ 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.
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!!!
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.
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.
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 (