SQLite in MQL5: nuove caratteristiche e test delle prestazioni - pagina 4

 
Pavel Kolchin:

Se si vogliono scambiare dati tra terminali, cosa succede se si rende possibile collegare un terminale per la modifica e l'altro solo per la lettura? E tutto questo tramite una memoria superveloce

Funzionerà in mql4?

Utilizzare Memlib.mqh.

 
Dmitiry Ananiev:

Utilizzare Memlib.mqh.

non ha trovato quello che è

 
Sergey Dzyublik:

Si prega di prestare attenzione anche ai seguenti inconvenienti che abbiamo scoperto:

1) La descrizione della funzione DatabaseExecute non è vera, ma copiata da DatabasePrepare.

2) Descrizione incompleta del primo parametro della funzioneDatabaseRead:intdatabase, // handle del database ottenuto in DatabaseOpen;
Poiché DatabasePrepare fornisce informazioni più complete: // crea un handle di query, che può poi essere eseguito con DatabaseRead().

5) C'è un refuso nella descrizione del parametro della funzione DatabaseColumnName (dovrebbe essere "per ottenere il nome del campo").

string&name// riferimento a una variabile per ottenere il nomedi una tabella

Grazie, è stato corretto. Un aggiornamento sarà disponibile sul sito web nella sezione Gestione del database.

Документация по MQL5: Работа с базами данных
Документация по MQL5: Работа с базами данных
  • www.mql5.com
Важной особенностью данного движка является то, что вся база данных находится в единственном стандартном файле, который находится на компьютере пользователя. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи файл, содержащий базу данных, блокируется. При этом...
 
Una query SQL ha un formato speciale. Non è SQL puro. Tutto è scritto all'interno della chiamata di funzione e senza virgole tra le stringhe? O possoinizializzare un array di stringhe? Ho bisogno di esempi.
 
Rashid Umarov:

Grazie, è stato corretto. L'aggiornamento sarà sul sito web nella sezione Gestione del database.


I parametri DatabaseRead nella descrizione non sono corretti.

Deve prendereun handle per la query SQL.


Ho già riscritto il mio progetto con la dll sqlite3 importata, alla funzionalità integrata - tutto va bene.


P.S. Controllare la funzionalità di reset di LastError in Database.... funzioni.

 
Renat Fatkhullin:
Non abbiamo affatto questo compito davanti a noi.

Davanti a voi, sì, non lo fa. Gli sviluppatori, d'altra parte, hanno da tempo bisogno di un qualche tipo di meccanismo di messaggistica adeguato e sicuro per i thread. Le basi sembrano essere una buona opzione per questo, anche se non direttamente, ma attraverso ulteriori wrapper thread-safe.

 
Vasiliy Sokolov:

Davanti a te, sì, non dovrebbe. Gli sviluppatori, d'altra parte, hanno da tempo bisogno di un qualche tipo di meccanismo di messaggistica adeguato e sicuro per i thread. Le basi sembrano essere una buona opzione per questo, anche se non direttamente, ma attraverso ulteriori wrapper thread-safe.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Servizi. Sta già lavorando?

Renat Fatkhullin, 2018.12.17 21:48

I meccanismi di scambio saranno elaborati, è giunto il momento.

 
Renat Fatkhullin:

Molto probabilmente permetteremo in risorse e questi file saranno automaticamente estratti sul disco la prima volta che si esegue il programma.

Cioè, non ci sarà alcun rigonfiamento della base all'interno di ex5. Con il file può funzionare solo su disco.

Inoltre, si prega di considerare un'altra funzionalità necessaria.
Abbiamo bisogno di una funzione DatabaseSaveMemoryToFile, che salverà il database aperto come DATABASE_OPEN_MEMORY, in un file su disco.
Questo è per utilizzare la memoria per la velocità di scambio dati, e se necessario, salvare i dati su file su disco.
Come viene fatto in Market Watch, prima i dati arrivano a Market Watch e poi salvati nella cronologia.

E una funzione per estrarre di nuovo, da file a memoria DatabaseExtractFileToMemory
Ecco come funziona il database KDB
 
Forse non è molto noto che quando si salva una risorsa su disco con ResourceSave, i dati non colorati vengono distorti. Questa funzione è progettata solo per salvare le immagini.

Questo è per affrontare il problema di includere il database nella risorsa e salvarlo su disco.
 
Реter Konow:
Forse non è molto noto che quando si salva una risorsa su disco con ResourceSave, i dati non colorati vengono distorti. Questa funzione è progettata solo per salvare le immagini.

Questo va alla questione di includere il database nella risorsa e memorizzarlo su disco.

L'inclusione del file di database nella risorsa, molto probabilmente, è intesa solo per lo spacchettamento iniziale del file su disco, da ex5.
L'ulteriore lavoro con il database viene fatto direttamente con il file.