Chiacchiere sul tester di strategia MT5 - pagina 9

 
Andrey Dik:

Scusa, cosa c'è? Prezzo eccessivo?
Lavoro con hosting specializzato che può ospitare VPS ovunque sia conveniente per il cliente, NY4, LD4, quindi costoso ma veloce (ping 0-1ms).

Il prezzo eccessivo è eccessivo.

Gioca con il nostro visualizzatore di VPS: c'è una rete mondiale e tempi precisi basati sulla topologia dei server di tutti i broker MetaTrader

Costa 10 dollari e tutti i core fisici sono disponibili. Una precisazione importante è che mostriamo il tempo netto nel protocollo del server, non il ping di rete, che è quasi sempre inferiore al ping effettivo.

 
Yuriy Zaytsev:

Stai parlando di leggere la storia da un'area - da una cartella per un gruppo di terminali, la storia non sta cambiando, è solo risolta senza problemi. Sulla mappatura personalizzabile è noto da tempo.

Non è così, hai scaricato la cronologia da un terminale e poi hai fatto riferimento ad essa da altri terminali - niente di che... non è questo il problema.

Perché fai marcia indietro? :)))

O non l'avete letto attentamente? L'unico modo per ottenere una discussione senza scommettere soldi? Yuri, sei come un bambino, onestamente.

 
Andrey Dik:

Vedi, Yuri, ci sono soluzioni! E si potrebbe ottenere tutto dalla scatola in MT!

È solo l'ideologia di MT, non implica diverse copie di terminali in esecuzione, quindi non c'è nessun compito di avere accesso al singolo database.

Si scrivono 100 tick da 100 terminali in un file... in un solo momento.

Vasiliy Sokolov:


L'ho fatto una volta:https://www.mql5.com/ru/articles/1316#c4_1

È chiaro che senza DB, l'unico modo per scambiare adeguatamente tra terminali senza dll, è quello di bloccare un file e competere per l'accesso ad esso come questo stagno:

Ci sono artigiani che organizzano la sincronizzazione dell'ambiente di trading tramite WebRequest e server intermedio (vedi copiatori di accordi in Market).

È chiaro che tutto questo è lento e fa buchi negli hard disk degli utenti, ma cosa possiamo fare se il database non ci è stato dato (e non sarà dato).

È tutto chiaro!

Stiamo parlando di un terminale standard - che raccoglie i tick in un punto ... e se 100 terminali iniziano a scrivere lo stesso tick in un file ! cosa succederà ?

Non è un problema leggere la storia generale da una risorsa mappata (cartella). (e questa storia dovrebbe essere formata da un terminale, non da 100 in una volta sola)

Andrey forse confondi la lettura da un comune HISTOR - e la scrittura su un file?

 
Renat Fatkhullin:

Il prezzo eccessivo è un prezzo inutilmente alto.

Gioca con il nostro visualizzatore di VPS: c'è una rete mondiale e tempi precisi con la topologia dei server di tutti i broker MetaTrader

Costa 10 dollari e tutti i core fisici sono disponibili. Una precisazione importante è che mostriamo il tempo netto nel protocollo del server, non il ping di rete, che è quasi sempre inferiore al ping effettivo.

Il tuo hosting è una grande soluzione specifica quando hai bisogno di impostare un EA, inviarlo all'hosting e dimenticartene. La soluzione migliore per questi compiti.

Ma purtroppo non è adatto quando avete bisogno di più terminali per accedere l'uno all'altro. Questo è in parte dovuto al fatto che il terminale MT non ha la capacità di connettersi a più conti allo stesso tempo. Ci sono altri compiti che non sono compatibili con il vostro VPS.

A proposito, il tuo visualizzatore VPS è utilizzato attivamente, grande roba.

 
Andrey Dik:

Perché fai marcia indietro? :)))

O non l'hai letto attentamente? Solo per discutere e non scommettere soldi su una discussione? Yuri, sei come un bambino, onestamente.

dai una risposta sensata!

COME SI SCRIVE IL TICK da uno strumento nel database! che dovrebbe essere memorizzato nel database da UN record con un ID

Avete 100 terminali che fanno INSERT ...

 
Yuriy Zaytsev:

Si registrano 100 tick da 100 terminali in un file... in un solo momento.

È esattamente quello di cui stiamo parlando!

Stiamo parlando di un terminale standard - che raccoglie i tick in un punto... e se 100 terminali cominciano a scrivere lo stesso tick in un file, cosa succederà?

non è davvero un problema leggere la storia da una risorsa mappata (cartella). (inoltre questa storia dovrebbe essere formata da un terminale e non da 100 in una volta sola)

Andrew e forse ti confondi con la lettura dal comune HISTOR - e la scrittura sul file?

Non facciamo i finti tonti, ok? Non è la faccia di un uomo barbuto ma calvo. Ho chiarito - una cartella condivisa con i dati storici è creata e i terminali funzionano bene con essa tramite link, nessun problema di accesso. Risparmia davvero spazio su disco, che è molto limitato.
 
Yuriy Zaytsev:

dai una risposta sensata!

COME SI SCRIVE IL TICK da uno strumento nella BASE! che deve essere memorizzato nel database da UNA voce con un ID!

Avete 100 terminali che fanno INSERT ...

Non vuoi litigare! Perché dovrei scrivere una stessa cosa più e più volte, e gratis?!

Un promemoria e un avvertimento - state prendendo una posizione sbagliata e dannosa per lo sviluppo di MT.

 
Andrey Dik:
Non rendiamoci ridicoli, va bene? Non si addice agli uomini barbuti ma già calvi. L'ho chiarito - una cartella condivisa con i dati storici è stata creata e i terminali funzionano bene con essa tramite link, nessun problema di accesso. Risparmia davvero spazio su disco, che è molto limitato.

Avete 100 terminali che scrivono la storia allo stesso tempo?

--

Per favore non si renda ridicolo - vogliamo solo una risposta.

COME SI SCRIVE IL TICK da uno strumento in un DATABASE - deve essere memorizzato nel database come UN record e con UN ID.

avete 100 terminali che scrivono INSERT alla stessa tabella allo stesso tempo per questo strumento ...

p.s.

Io ho una soluzione - la tua è interessante

 
Yuriy Zaytsev:

Avete 100 terminali che scrivono la storia allo stesso tempo?

--

Per favore, non si renda ridicolo - vogliamo solo una risposta!

COME SI SCRIVE un TICK da uno strumento in un DATABASE - dovrebbe essere memorizzato nel database come UN record con un ID

hai 100 terminali che scrivono INSERT alla stessa tabella allo stesso tempo ...

Risponderò per Andrei. Se stiamo lavorando con i file, allora l'INSERIMENTO simultaneo è fuori questione. INSERT viene eseguito solo dal thread che ha accesso al file per primo. Il resto otterrà INVALID_HANDLE e non potrà scrivere. Il thread che ottiene l'handle sarà in grado di controllare se il suo record esiste già nel file o no (assumendo che sappiamo come determinare l'unicità di ogni record). Se non c'è nessun record, lo scriviamo, se il record è già stato fatto da qualcuno, chiudiamo il manico.

Un'altra questione è che fare 100 scrittori e 100 lettori contemporaneamente non è almeno razionale e può causare problemi. Se possibile, ci dovrebbe essere un solo scrittore. Capire chi assegnare come scrittore su 100 fili è anche abbastanza possibile.

p.s. Non discuteremo la questione dell'accesso competitivo ai DBMS per più di una dozzina di pagine. Considerando che non c'è un DB in MQL, non discuteremo nemmeno l'argomento della discussione.

 
Vasiliy Sokolov:

Rispondo io per Andrei. Se stiamo lavorando attraverso i file, non stiamo parlando di INSERT simultanei. L'INSERT sarà fatto solo dal thread che ha accesso al file per primo. Il resto otterrà INVALID_HANDLE e non potrà scrivere. Il thread che ottiene l'handle sarà in grado di controllare se il suo record esiste già nel file o no (assumendo che sappiamo come determinare l'unicità di ogni record). Se non c'è nessun record, lo scriviamo, se il record è già stato fatto da qualcuno, chiudiamo l'handle.

Un'altra questione è che fare 100 scrittori e 100 lettori contemporaneamente non è almeno razionale e può causare problemi. Se possibile, ci dovrebbe essere un solo scrittore. Capire chi assegnare come scrittore su 100 fili è anche abbastanza possibile.

Questo è il mio punto! e che

Vasily, è comprensibile che sia possibile competere per il file da 100 terminali.

il fatto di poter copiare i trade da un terminale all'altro usando il copiatore è un'altra cosa


La questione è che il terminale stesso (se è MT4) scrive i tick nel file ticks.raw ...

ma se prova a scrivere 100 terminali alla volta nel file {TERMIN}history{broke}tisks.raw - si verificherà un errore

È questo che non credo che Andrei capisca.


Sento di nuovo il divano teorico scricchiolare sotto Andrei.

p.s.

Andrei, sei andato a prendere del grasso per divani?