Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Facebook üzerinde bulun!
Fan sayfamıza katılın
Komut dosyasını ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Komut dosyasını beğendiniz mi? MetaTrader 5 terminalinde deneyin
Kütüphaneler

CFastFile - bayt dizisi ile dosya olarak çalışmak için sınıf - MetaTrader 5 için kütüphane

Görüntülemeler:
40
Derecelendirme:
(40)
Yayınlandı:
\MQL5\Include\
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

CFastFile sınıfı, verilerin disk üzerindeki fiziksel bir dosyaya ara yazma ihtiyacını ortadan kaldırır. Bu, verilerle çalışırken önemli bir hızlanma elde etmenizi sağlar.

FileWriteXXX/FileReadXXX ailesinin tüm temel fonksiyonları bu sınıfta uygulanmaktadır. Yani, programınızın mantığını ve kodunu değiştirmeden, fiziksel dosyaları kullanmaktan bellekteki görüntüleriyle hızlı çalışmaya kolayca geçebilirsiniz. Veri depolama ve okuma gerçek bir fiziksel dosya yerine uchar-array ile yapılır.

Uygulanan fonksiyonların listesi:

    CFastFile(uchar &data[]);          // dosya verilerinin diziden başlatılmasını sağlayan kurucu

    void Clear();                        // dosya temizleniyor
   
    //--- dosya özellikleri ile çalışmak için fonksiyonlar
    void Delim(uchar delim=';');        // CSV modunda veri ayırıcısını ayarlama
    int Size();                        // dosya boyutunu al
    int Tell();                        // geçerli işaretçi konumunu al
    void Seek(int offset, int origin);  // işaretçi konumunu taşı
    bool IsEnding();                   // dosyanın sonuna ulaşılıp ulaşılmadığını kontrol et
    bool IsLineEnding();                // dizenin sonuna ulaşılıp ulaşılmadığını kontrol et

    //--- dosyaya yazmak için fonksiyonlar
    uint WriteArray(uchar &src[], uint src_start=0, int src_cnt=WHOLE_ARRAY); // bayt dizisi yaz
    uint WriteDouble(double v);         // bir sayı kaydedin
    uint WriteFloat(float v);
    uint WriteLong(long v);
    uint WriteInt(int v);
    uint WriteShort(short v);
    uint WriteChar(char v);
    uint WriteInteger(int v, int sz=INT_VALUE); // bir sayı yazın - FileWriteInteger ile uyumluluk için.
    uint WriteString(string v, int cnt);        // dize yaz. cnt=-1 \r\n eklenmiş CSV kayıt modunu gösterir.
   
    //--- dosyadan okumak için fonksiyonlar
    uint ReadArray(uchar &dst[], uint dst_start=0, int cnt=WHOLE_ARRAY); // diziyi oku
    double ReadDouble();                // sayıyı oku
    float ReadFloat(); 
    long ReadLong();
    int ReadInt();
    short ReadShort();
    char ReadChar();
    int ReadInteger(int sz=INT_VALUE); // sayı okuma - FileReadInteger ile geçiş uyumluluğu için
    double ReadNumber(); //
    string ReadString(int cnt);        // bir dize okuma. cnt=-1 sınırlayıcıya kadar CSV okuma modunu gösterir
   
    // bir dosyayı başka bir kaynağa kaydetmek için işlevler
    uint Save(uchar &v[]);    // dosyayı bir bayt dizisine kaydetme
    uint Save(int h);         // dosyayı diskteki gerçek bir dosyaya kaydeder. h - önceden açılmış tanımlayıcı
    uint Save(string file);   // dosyayı diskteki gerçek bir dosyaya kaydedin. dosya - diskteki dosyanın adı

    // başka bir kaynaktan dosya yüklemek için fonksiyonlar
    uint Load(uchar &v[]);   // bir bayt dizisinden dosya okuma
    uint Load(int h);        // diskteki gerçek bir dosyadan bir dosya okumak. h - önceden açılmış tanımlayıcı
    uint Load(string file);  // diskteki gerçek bir dosyadan bir dosya okumak. file - diskteki dosyanın adı

Gördüğünüz gibi, tüm fonksiyonlar terminalin standart dosya fonksiyonlarına benzetilerek adlandırılmıştır.

Dosyaları kullanmaktan CFastFile 'a geçiş çok basittir. Normal bir dosyayı açmak ve tanıtıcısını almak yerine (örneğin int h), örneğin bir CFastFile örneği oluşturmanız yeterlidir:

CFastFile f; 

Daha sonra kodda, ilgili tüm normal dosya işlevlerini bu ilkeye göre değiştirin:

FileWriteDouble(h, 10)  ->  f.WriteDouble(10)

Verilerin normal bir dosyaya kolayca kaydedilmesi/okunması için Kaydet/Yükle fonksiyonları eklenmiştir.

Sınıfın çalışmasını gösteren bir komut dosyası dahil edilmiştir.


MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/845

WPRSIsignal göstergesine dayalı alım satım sinyalleri modülü WPRSIsignal göstergesine dayalı alım satım sinyalleri modülü

MQL5 Sihirbazı için İşlem Sinyalleri Modülü. Pozisyon açma sinyali, WPRSIsignal göstergesinin renkli okunun görünümüdür.

NonLagDot göstergesine dayalı alım satım sinyalleri modülü NonLagDot göstergesine dayalı alım satım sinyalleri modülü

MQL5 Sihirbazı için Ticaret Sinyalleri Modülü. Pozisyon açma sinyali, NonLagDot göstergesinin rengindeki bir değişikliktir.

CVD (Cumulative Volume Delta) CVD (Cumulative Volume Delta)

MT5 için hafif CVD (Kümülatif Hacim Deltası) - M1 tabanlı, isteğe bağlı sıfırlamalarla mum olarak alış / satış baskısını gösterir.

Local Timezones and Local Session Hours Local Timezones and Local Session Hours

Belirtilen konum için yerel saatin yanı sıra saat dilimi bilgilerine ve yerel işlem seansı saatlerine erişmek için sınıf.