- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
Lavorare con i database
Le funzioni per lavorare con i database usano il popolare e facile-da-usare motore SQLite. Una caratteristica importante di questo motore è che l'intero database è inserito in un singolo file standard situato sul PC dell'utente.
The functions allow for convenient creation of tables, adding data to them, performing modifications and sampling using simple SQL requests:
- receiving trading history and quotes from any formats,
- saving optimization and test results,
- preparing and exchanging data with other analysis packages,
- storing MQL5 application settings and status.
Queries allow using statistical and mathematical functions.
The functions for working with databases allow you to replace the most repetitive large data array handling operations with SQL requests, so that it is often possible to use the DatabaseExecute/DatabasePrepare calls instead of programming complex loops and comparisons. Use the DatabaseReadBind function to conveniently obtain query results in a ready-made structure. The function allows reading all record fields at once within a single call.
To accelerate reading, writing and modification, a database can be opened/created in RAM with the DATABASE_OPEN_MEMORY flag, although such a database is available only to a specific application and is not shared. When working with databases located on the hard disk, bulk data inserts/changes should be wrapped in transactions using DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollback. This accelerates the process hundreds of times.
Per iniziare a lavorare con le funzioni, leggi l'articolo SQLite: gestione nativa dei database SQL in MQL5.
Funzione |
Azione |
---|---|
Apre o crea un database in un file specificato |
|
Chiude un database |
|
Importa i dati da un file in una tabella |
|
Esporta una tabella o un risultato di esecuzione di una richiesta SQL in un file CSV |
|
Stampa una tabella o un risultato di esecuzione di una richiesta SQL nel journal degli experts |
|
Verifica la presenza della tabella in un database |
|
Esegue una richiesta ad un database specificato |
|
Crea un handle di una richiesta, che può quindi essere eseguita utilizzando DatabaseRead() |
|
Reimposta una richiesta, come dopo aver chiamato DatabasePrepare() |
|
Imposta un valore di parametro in una richiesta |
|
Imposta un array come valore di parametro |
|
Passa alla voce successiva a seguito di una richiesta |
|
Rimuove una richiesta creata in DatabasePrepare() |
|
Inizia l'esecuzione della transazione |
|
Completa l'esecuzione della transazione |
|
Ripristina le transazioni |
|
Ottiene il numero di campi in una richiesta |
|
Ottiene un nome campo per indice |
|
Ottiene un tipo di campo per indice |
|
Ottiene una dimensione del campo in byte |
|
Ottiene un valore di campo come stringa dal record corrente |
|
Ottiene il valore del tipo int dal record corrente |
|
Ottiene il valore di tipo long dal record corrente |
|
Ottiene il valore di tipo double dal record corrente |
|
Ottiene un valore di campo come un array dal record corrente |
Queries allow using statistical and mathematical functions.
- mode – mode
- median – median (50th percentile)
- percentile_25 – 25th percentile
- percentile_75
- percentile_90
- percentile_95
- percentile_99
- stddev or stddev_samp — sample standard deviation
- stddev_pop — population standard deviation
- variance or var_samp — sample variance
- var_pop — population variance
- acos(X) – arccosine in radians
- acosh(X) – hyperbolic arccosine
- asin(X) – arcsine in radians
- asinh(X) – hyperbolic arcsine
- atan(X) – arctangent in radians
- atan2(X,Y) – arctangent in radians of the X/Y ratio
- atanh(X) – hyperbolic arctangent
- ceil(X) – rounding up to an integer
- ceiling(X) – rounding up to an integer
- cos(X) – angle cosine in radians
- cosh(X) – hyperbolic cosine
- degrees(X) – convert radians into the angle
- exp(X) – exponent
- floor(X) – rounding down to an integer
- ln(X) – natural logarithm
- log(B,X) – logarithm to the indicated base
- log(X) – decimal logarithm
- log10(X) – decimal logarithm
- log2(X) – logarithm to base 2
- mod(X,Y) – remainder of division
- pi() – approximate Pi
- pow(X,Y) – power by the indicated base
- power(X,Y) – power by the indicated base
- radians(X) – convert the angle into radians
- sin(X) – angle sine in radians
- sinh(X) – hyperbolic sine
- sqrt(X) – square root
- tan(X) – angle tangent in radians
- tanh(X) – hyperbolic tangent
- trunc(X) – truncate to an integer closest to 0
Example:
select
|