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

 
Fernando Carreiro #:

Ama tam olarak nerede bulacağınızı söylediğim yer burası değil mi?

Sonra "%APPDATA%\MetaQuotes\Terminal\Common\Files" içinde bulacaksınız.

Haklıydınız, ancak dün onu orada bulamadım, sadece "signals.sqlite" dosyasında yapı var ve signals.dat dosyasında veri olduğundan şüpheleniyorum

ancak dokümantasyonda
parametreleri

dosya adı

[in] "MQL5\Files" klasörüne göre dosya adı.

 
Zbigniew Mirowski #:
Haklıydınız, ancak dün onu orada bulamadım, sadece "signals.sqlite" dosyasında yapı var ve signals.dat dosyasında veri olduğundan şüpheleniyorum

Hayır! Size"signals.dat" dosyasının dahili bir MetaTrader veri dosyası olduğunu ve SQLite ile hiçbir ilgisi olmadığını zaten söylemiştim.

"signals.dat" dosyası, MetaTrader'ın Ticaret Sinyalleri işlevi ile alınabilecek sinyaller hakkındaki bilgileri depoladığı yerdir ...

Kod Tabanı

Tüm MT5 Sinyallerinin özelliklerini bir CSV dosyasına listeleme

Fernando Carreiro, 2022.04.21 15:14

Bu basit hızlı ve kirli komut dosyası kodu, MQL5 Ticaret Sinyalleri işlevi tarafından bildirilen tüm Sinyallerin özelliklerinin bir CSV dosyasını çıkaracaktır.

Documentation on MQL5: Trade Signals
Documentation on MQL5: Trade Signals
  • www.mql5.com
Trade Signals - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
Zbigniew Mirowski #: ancak belgelerde yer almaktadır. parameters, filename, [in] "MQL5\Files" klasörüne göre dosya adı.

Ancak konumu değiştiren"DATABASE_OPEN_COMMON" bayrağını kullandınız. Bu nedenle, ortak klasörde olmasını istemiyorsanız bu bayrağı kullanmayın.

DATABASE_OPEN_COMMON

Dosya tüm terminallerin ortak klasöründedir

 
Fernando Carreiro #:

Ancak konumu değiştiren"DATABASE_OPEN_COMMON" bayrağını kullandınız. Bu nedenle, ortak klasörde olmasını istemiyorsanız bu bayrağı kullanmayın.

DATABASE_OPEN_COMMON

Dosya tüm terminallerin ortak klasöründedir

tamam, signals.sqlite-wal'daki verileri anlıyorum ve buluyorum:))

Yardımınız için teşekkür ederim)

 
Zbigniew Mirowski #: tamam anladım o zaman veri nerede? Sinyalleri yüklüyorum ve onay alıyorum.sqlite açıldı

CS 0 12:43:16.106 SignalsBasa (EURUSD,H1) DB: succesfull
Veriler yüklendikten sonra belge hala 8 kb ve verileri yükleyemiyorum ve
2022.11.30 12:55:49.103 CreateDB (EURUSD,H1) DB: signals.sqlite açıldı
2022.11.30 12:55:49.103 CreateDB (EURUSD,H1) 0: 0,0,0,0.0

Ancak dosyayı bulduğunuzu zaten belirtmişsiniz ...

"Vay, "signals.sqlite" dosyasını buldum C:\Users\name\AppData\Roaming\MetaQuotes\Terminal\Common\Files"

Peki sorun nedir?

"signals.sqlite" dosyasının yapısı ve verileri bir arada olacaktır. MetaEditor ile açın ve verileri kendiniz görün - SQL veri tabanlarıyla çalışma - MetaEditor Yardım

 
Zbigniew Mirowski #: tamam, signals.sqlite-wal'da verileri anlıyorum ve buluyorum:)) Yardımlarınız için teşekkür ederim)

Rica ederim!

 

MetaEditor 'de, gösterilecek veritabanı tablolarının maksimum sütun sayısı yalnızca 23'tür.

Bu sınırlamayı kaldırmak mümkün mü?

 
Anatoli Kazharski #:

MetaEditor 'da, gösterilecek maksimum veritabanı tablosu sütunu sayısı yalnızca 23'tür.

Sınırlamayı kaldırmak mümkün mü?

Sütunların 64'e çıkarılmasıyla beta 3531'de düzeltildi.
 
Bir noktada bir yerde tek ve çift tırnaklarla ilgili bir cevap vardı. Kelimesi kelimesine değil, ancak metne yakın - "uzun süredir çift tırnakla çalışıyor". Şu anda, tablolarla çalışmaya geri dönersek, bir tabloya çift tırnak içinde metin yazma girişimi başarısız oluyor. Ancak metni önce tek sonra çift tırnak içine aldığınızda yazma işlemi başarıyla tamamlanıyor. Bir tabloya metin yazmak için tek ve çift tırnakların sağlam kuralı nedir?
Seçenekler ve sonuçlar :
başarılı -
         AddTable_TstDate(i,
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iHigh(Symbol(),PERIOD_CURRENT,i),
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iLow(Symbol(),PERIOD_CURRENT,i),
                          IntegerToString(iTime(Symbol(),PERIOD_CURRENT,i)),
                          1121,
                          "'string_no_error'");

başarılı değil -

         AddTable_TstDate(i,
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iHigh(Symbol(),PERIOD_CURRENT,i),
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iLow(Symbol(),PERIOD_CURRENT,i),
                          IntegerToString(iTime(Symbol(),PERIOD_CURRENT,i)),
                          1121,
                          "string_error");

Belirtmek isterim ki, bir tamsayıyı bir dizeye çevirmek, bir tabloya yazarken hata oluşturmaz.

 

Sayın geliştiriciler, lütfen bana mevcut bir veritabanını bir dosyadan eklemenin (ATTACH DATABASE) neden mümkün olmadığını söyleyin?

O zaman RAM'den bir taban eklemek nasıl mümkün olabilir ...?

Kodu ekledim.

create_databases.mq5 komut dosyası bir veritabanı oluşturur. attach_mem_db.mq5 betiği veritabanını RAM'den ekliyor. Ancak attach_other_db.mq5 betiği mevcut bir veritabanını ekleyemiyor.