Discussione sull’articolo "SQLite: Gestione nativa dei database SQL in MQL5" - pagina 6

 
In quale cartella vi aspettate di trovarlo? Osservate attentamente le bandiere di apertura
 
Rashid Umarov:
In quale cartella vi aspettate di trovarlo? Osservate attentamente i flag di apertura

Ecco i flag - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);

Mi aspetto di vederlo secondo la guida del pacchetto MQL5/Files.

Ma non c'è nulla

 
Rashid Umarov:
In quale cartella vi aspettate di trovarlo? Osservate attentamente le bandiere di apertura

Ho realizzato un video in cui lo faccio. Forse c'è qualcosa che non va....



 
Tango_X:

Ecco i flag - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);

Mi aspetto di vedere, secondo la guida del pacchetto MQL5/Files

Ma non c'è nulla

DATABASE_OPEN_COMMON non è dove lo si sta cercando.


 
Alexey Viktorov:

DATABASE_OPEN_COMMON non si trova nella posizione desiderata.


Grazie!

 

Cari sviluppatori, buona giornata a tutti!

Mi piace MOLTISSIMO l'uso di SQLite in MT5, poiché sono penetrato da tutti i vantaggi di questa innovazione, vorrei aggiungere....p.1 ))))

1. È possibile aggiungere il supporto per le funzioni JSON all'interno delle query, dal lato di SQLite questa caratteristica è stata implementata da molto tempo e la uso attivamente in altri programmi..., e mi piacerebbe usarla in MT5, perché:

1.1 È molto comodo, il parsing e la raccolta di JSON funzionano molto rapidamente.

1.2 Non c'è bisogno di utilizzare librerie di terze parti per costruire e disassemblare le risposte

1.3 Possibilità di salvare i dati in batch e di elaborarli sul lato base tramite query SQL.

1.4 Se la risposta del server è cambiata o in qualche altro caso, è sufficiente modificare la query SQL e non ricompilare il programma.

questa è solo una parte dei vantaggi... che non sono presenti nell'attuale implementazione per MT5, suppongo che una vecchia versione di SQLite sia collegata a MT5....

In generale questo offre molte opportunità per grandi progetti di scalare in sistemi multi-server dove ogni fornitore di dati ha le proprie strutture, ecc.



2. Leggere i post precedenti sull'argomento dell'accesso unico per la scrittura e la lettura del database....

Personalmente raccomando e uso: PRAGMA journal_mode = WAL;

questo risolve molti problemi di accesso multiplo al database e aumenta la serietà di SQLite...

2.1 È meglio creare il database da un file di testo pre-preparato con il codice SQL allegato al progetto come risorsa e utilizzarlo come stringa variabile

2.2 È anche conveniente creare tutte le query come file di risorse e, se è necessario modificare i dati in una query, è possibile utilizzare StringFormat...


3. In ognuno dei miei grandi progetti cerco di utilizzare l'attuale meccanismo di interazione tra MT5 e SQLite, è diventato molto comodo lavorare con i dati, un GRANDE GRAZIE!

 
Daniil Kurmyshev:

Cari sviluppatori, buona giornata a tutti!

Mi piace MOLTO l'uso di SQLite in MT5, poiché sono penetrato da tutti i vantaggi di questa innovazione, vorrei aggiungere....p.1 ))).

1. È possibile aggiungere il supporto per le funzioni JSON all'interno delle query, dal lato di SQLite questa funzione è stata implementata da molto tempo e la uso attivamente in altri programmi..., e vorrei aggiungerla anche in MT5:

1.1 È molto comodo, il parsing e la raccolta di JSON funzionano molto rapidamente.

1.2 Non c'è bisogno di usare librerie di terze parti per costruire e disassemblare le risposte

1.3 Possibilità di salvare i dati in batch ed elaborarli sul lato base tramite query SQL

1.4 Se la risposta del server è cambiata o in qualche altro caso, è sufficiente cambiare la query SQL e non ricompilare il programma e

questa è solo una parte dei vantaggi... che non sono presenti nell'attuale implementazione per MT5, presumo che una vecchia versione di SQLite sia collegata a MT5....

In generale, offre molte opportunità per i grandi progetti di scalare in sistemi multi-server in cui ogni fornitore di dati ha le proprie strutture, ecc.



2. Ho letto i post precedenti sull'argomento dell'accesso unico sia per la scrittura che per la lettura del database....

Personalmente raccomando e uso: PRAGMA journal_mode = WAL;

questo risolve molti problemi di accesso multiplo al database e aumenta la serietà di SQLite...

2.1 È meglio creare un database da un file di testo pre-preparato con codice SQL allegato al progetto come risorsa e utilizzarlo come stringa di variabili

2.2 È anche conveniente creare tutte le query come file di risorse e, se è necessario modificare i dati in una query, si può usare StringFormat...


3. In ognuno dei miei grandi progetti cerco di utilizzare l'attuale meccanismo di interazione tra MT5 e SQLite, è diventato molto comodo lavorare con i dati, un GRANDE GRAZIE!

Naturalmente, sarebbe bello dare la possibilità di accedere simultaneamente al database a diversi script. Gli sviluppatori non ci hanno pensato ((((.

A quanto pare, non vogliono sviluppare ulteriormente gli strumenti MQL5.

 
GEORGI ANIKIN:

Sarebbe bello dare la possibilità di accedere simultaneamente al database a diversi script. Gli sviluppatori non ci hanno pensato ((

A quanto pare, non vogliono sviluppare ulteriormente gli strumenti MQL5.

Certo che ci hanno pensato.

È possibile accedere alle stesse basi e tabelle da diversi script all'interno del terminale.

Ecco un esempio di scrittore e lettore simultaneo. Eseguitelo su diversi grafici.

 
Renat Fatkhullin:

Certo che sì.

È possibile accedere agli stessi database e tabelle da diversi script all'interno del terminale.

Ecco un esempio di scrittore e lettore simultaneo. Eseguitelo su diversi grafici.

Renat, ciao!

Puoi dirmi se la possibilità di memorizzare JSON nel database e di lavorare con esso sarà implementata, almeno nel prossimo futuro?

 
Daniil Kurmyshev:

Renat, ciao!

Puoi dirmi se la possibilità di memorizzare JSON nel database e lavorare con esso sarà implementata, almeno nel prossimo futuro?

Domani sarà nella beta 2840:

  • SQLite versione 2.35.2

  • modalità WAL permanente, che consente di lavorare con il database aperto da diverse applicazioni (in precedenza MetaEditor non poteva lavorare in parallelo con il terminale)

  • estensione delle funzioni statistiche
        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.
    esempio:
    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;
  • nuove funzioni matematiche
        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)
    
    
  • È stato incluso ancheil supporto JSON

    In seguito includeremo il nuovo tipo json nella creazione guidata del database.