"SQLite: MQL5'te SQL veritabanlarıyla yerel olarak çalışma" makalesi için tartışma - sayfa 6

 
Hangi klasörde bulmayı bekliyorsunuz? Açılış bayraklarına dikkatlice bakın
 
Rashid Umarov:
Hangi klasörde bulmayı bekliyorsunuz? Açılış bayraklarına dikkatlice bakın

İşte bayraklar - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);

MQL5/Files paketindeki yardıma göre bunu görmeyi bekliyorum.

Ama orada hiçbir şey yok

 
Rashid Umarov:
Hangi klasörde bulmayı bekliyorsunuz? Açılış bayraklarına yakından bakın

Bunu yaparken bir video çektim. Belki bir sorun vardır....



 
Tango_X:

İşte bayraklar - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);

MQL5/Files paketindeki yardıma göre şunu görmeyi bekliyorum

Ama orada hiçbir şey yok.

DATABASE_OPEN_COMMON aradığınız yerde değil.


 
Alexey Viktorov:

DATABASE_OPEN_COMMON aradığınız yerde değil.


Teşekkür ederim!

 

Sevgili geliştiriciler, herkese iyi günler!

MT5'te SQLite kullanımını çok beğeniyorum, bu yeniliğin tüm avantajlarından etkilendiğim için....p.1 )))) eklemek istiyorum.

1. Sorguların içine JSON fonksiyonları için destek eklemek mümkündür, SQLite tarafında bu özellik oldukça uzun bir süredir uygulanmaktadır ve bunu diğer programlarda aktif olarak kullanıyorum... ve MT5'te kullanmak istiyorum, çünkü:

1.1 Çok kullanışlıdır, JSON ayrıştırma ve toplama kutudan çıkar çıkmaz çok hızlı çalışır

1.2 Yanıtları oluşturmak ve parçalarına ayırmak için üçüncü taraf kütüphaneleri kullanmaya gerek yok

1.3 Verileri toplu olarak kaydedebilme ve SQL sorgusu ile taban tarafında işleyebilme

1.4 Sunucu yanıtı değiştiyse veya başka bir durumda, programı yeniden derlemek yerine SQL sorgusunu değiştirmek yeterlidir ve

bu avantajların sadece bir kısmı... MT5 için mevcut uygulamada mevcut değil, SQLite'ın eski bir sürümünün MT5'e bağlı olduğunu varsayıyorum....

Genel olarak bu, her veri sağlayıcısının kendi yapılarına sahip olduğu çok sunuculu sistemlerde büyük projelerin ölçeklendirilmesi için birçok fırsat sunar.



2. Veritabanına hem yazma hem de veritabanından okuma için tek seferlik erişim konusuyla ilgili önceki yazıları okuyun....

Ben şahsen şunu öneriyorum ve kullanıyorum: PRAGMA journal_mode = WAL;

bu, veritabanı çoklu erişimi ile ilgili birçok sorunu çözer ve SQLite'ın ciddiyetini artırır...

2.1 Veritabanını, projeye kaynak olarak eklenmiş SQL kodlu önceden hazırlanmış bir metin dosyasından oluşturmak ve bunu bir değişken dizesi olarak kullanmak daha iyidir

2.2 Tüm sorguları kaynak dosyaları olarak oluşturmak da uygundur ve bir sorgudaki verileri değiştirmeniz gerekirse, StringFormat...


3. Büyük projelerimin her birinde MT5 ve SQLite arasındaki mevcut etkileşim mekanizmasını kullanmaya çalışıyorum, verilerle çalışmak çok uygun hale geldi, BÜYÜK BİR TEŞEKKÜR!

 
Daniil Kurmyshev:

Değerli geliştiriciler, herkese iyi günler!

MT5'te SQLite kullanımını ÇOK seviyorum, bu yeniliğin tüm avantajlarından etkilendiğim için....p.1))) eklemek istiyorum.

1. Sorguların içine JSON işlevleri için destek eklemek mümkündür, SQLite tarafında bu özellik oldukça uzun bir süredir uygulanmaktadır ve bunu diğer programlarda aktif olarak kullanıyorum... ve bunu MT5'e de eklemek istiyorum:

1.1 Çok kullanışlıdır, JSON ayrıştırma ve toplama kutudan çıkar çıkmaz çok hızlı çalışır

1.2 Yanıtları oluşturmak ve parçalarına ayırmak için üçüncü taraf kütüphaneleri kullanmaya gerek yok

1.3 Verileri toplu olarak kaydedebilme ve SQL sorgusu ile taban tarafında işleyebilme

1.4 Sunucu yanıtı değiştiyse veya başka bir durumda, SQL sorgusunu değiştirmek ve programı yeniden derlememek yeterlidir ve

Bu, MT5 için mevcut uygulamada bulunmayan avantajların yalnızca bir kısmıdır, SQLite'ın eski bir sürümünün MT5'e bağlı olduğunu varsayıyorum....

Genel olarak, her veri sağlayıcısının kendi yapılarına sahip olduğu çok sunuculu sistemlerde büyük projelerin ölçeklendirilmesi için birçok fırsat sunar.



2. Veritabanına hem yazma hem de veritabanından okuma için tek seferlik erişim konusuyla ilgili önceki yazıları okudum....

Ben şahsen şunu öneriyorum ve kullanıyorum: PRAGMA journal_mode = WAL;

Bu, veritabanına çoklu erişimle ilgili birçok sorunu çözer ve SQLite'ın ciddiyetini artırır...

2.1 Projeye kaynak olarak eklenmiş SQL kodu ile önceden hazırlanmış bir metin dosyasından bir veritabanı oluşturmak ve bunu bir değişken dizesi olarak kullanmak daha iyidir

2.2 Tüm sorguları kaynak dosyaları olarak oluşturmak da uygundur ve bir sorgudaki verileri değiştirmeniz gerekirse, StringFormat...


3. Büyük projelerimin her birinde MT5 ve SQLite arasındaki mevcut etkileşim mekanizmasını kullanmaya çalışıyorum, verilerle çalışmak çok uygun hale geldi, BÜYÜK BİR TEŞEKKÜR!

Tabii ki, farklı komut dosyalarına veritabanına eşzamanlı erişim imkanı vermek güzel olurdu. Geliştiriciler bunu düşünmemiş (((.

Görünüşe göre, MQL5 araçlarını daha fazla geliştirmek istemiyorlar.

 
GEORGI ANIKIN:

Farklı komut dosyalarına veritabanına eşzamanlı erişim imkanı vermek güzel olurdu. Geliştiriciler bunu düşünmemiş ((

Görünüşe göre, MQL5 araçlarını daha fazla geliştirmek istemiyorlar.

Tabii ki bunu düşünmüşlerdir.

Terminal içindeki farklı betiklerden aynı tabanlara ve tablolara erişebilirsiniz.

İşte eşzamanlı bir yazar ve okuyucu örneği. Farklı grafikler üzerinde çalıştırın.

Dosyalar:
 
Renat Fatkhullin:

Tabii ki yaptık.

Terminal içindeki farklı betiklerden aynı veritabanlarına ve tablolara erişebilirsiniz.

İşte eşzamanlı bir yazar ve okuyucu örneği. Farklı grafikler üzerinde çalıştırın.

Renat, merhaba!

JSON'u veritabanında saklama ve onunla çalışma olasılığının en azından yakın gelecekte uygulanıp uygulanmayacağını söyleyebilir misiniz?

 
Daniil Kurmyshev:

Renat, merhaba!

JSON'u veritabanında saklama ve onunla çalışma yeteneğinin en azından yakın gelecekte uygulanıp uygulanmayacağını söyleyebilir misiniz?

Yarın beta 2840 sürümünde olacak:

  • SQLite sürüm 2.35.2

  • Farklı uygulamalardan açık veritabanı ile çalışmaya izin veren kalıcı WAL modu (daha önce MetaEditor terminal ile paralel çalışamıyordu)

  • istatistiksel fonksiyonların genişletilmesi
        mode - mode,
        median - median (50 th percentile),
        percentile_25 - 25 th percentile,
        percentile_75 - 75 th percentile,
        percentile_90 - 90 th percentile,
        percentile_95 - 95 th percentile,
        percentile_99 - 99 th percentile,
        stddev or stddev_samp - sample standard deviation,
        stddev_pop - population standard deviation,
        variance or var_samp - sample variance,
        var_pop - population variance.
    örnek:
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from bookmarks;
  • yeni̇ matemati̇k fon ksi̇yonlari
        acos(X)
        acosh(X)
        asin(X)
        asinh(X)
        atan(X)
        atan2(X,Y)
        atanh(X)
        ceil(X)
        ceiling(X)
        cos(X)
        cosh(X)
        degrees(X)
        exp(X)
        floor(X)
        ln(X)
        log(B,X)
        log(X)
        log10(X)
        log2(X)
        mod(X,Y)
        pi()
        pow(X,Y)
        power(X,Y)
        radians(X)
        sin(X)
        sinh(X)
        sqrt(X)
        tan(X)
        tanh(X)
        trunc(X)
    
    
  • JSON desteği de dahil edilmiştir

    Yeni json türünü daha sonra veritabanı oluşturma sihirbazına dahil edeceğiz.