![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Sono interessato a "ogni tick" per EA multicurrency. Un grafico contiene eventi di tick provenienti da molti simboli? O "ogni tick" ha un significato diverso dall'evento comunemente accettato, che è gestito dalla funzione OnTick ed è descritto nella Guida come "generato solo per gli Expert Advisors quando un nuovo tick è ricevuto per il simbolo, al grafico del quale l'EA è collegato"?
Sì, non è proprio così. A quei tempi si faceva un ciclo infinito, non c'era OnTick, c'era una funzione di avvio
Lei è davvero incapace di rispondere alle domande. Il modo in cui i consiglieri comunicano non mi interessa. Questo è tutto, chiudo il thread, perché è inutile.
Merda. All'inizio ho chiesto della GUI - come funziona? Ha risposto che non ne ha bisogno. Ora si scopre che ne ha bisogno come gli Expert Advisors e ne ha scritto 100 volte.
Interessato allo scambio descritto da voi su https://www.mql5.com/ru/blogs/post/671000. Funziona anche per me, ma non credo che lo scambio di file di comando testuale, che è "abbastanza adatto per organizzare sistemi intraday abbastanza veloci", non sia adatto a scopi di scalper. Un'altra citazione dal tuo blog "In questo caso, la DLL, in fase di progettazione, può essere sostituita dallo scambio di file, per accelerare l'uso del disco virtuale RAM".
Non ho avuto alcun problema con le prestazioni dello scambio di file. Molto raramente, 2-8 volte all'anno, ci sono situazioni di corruzione delle informazioni, quando una nuova lunghezza di file è già stata messa nel buffer del sistema operativo, ma il suo contenuto (stringa fino a diverse decine di byte) in questo buffer non è stato ancora aggiornato. Altrimenti non vedo alcuna differenza tra il trasferimento di file e qualsiasi altra soluzione, ha ancora bisogno di RAM per lo scambio. La dimensione dei file di scambio è tale che il controller del disco non ha bisogno di indirizzare i piatti magnetici. Per ridurre ulteriormente questa frequenza, non cancello i file di segnale, ma li svuoto in modo che abbiano un posto permanente sulla piastra magnetica (cluster). Per favore, mi dica, su cosa si basa la sua opinione che il file sharing è buono solo per la fase di sviluppo?
E un'altra domanda. Su ognuno dei terminali si aprono almeno due grafici, è corretto?
Vedo che non più di un EA può essere collegato a un grafico e tu hai "Avremo bisogno di due MT EA: il primo scriverà le informazioni sui tick in un file CSV per essere letto dal sistema, e il secondo riceverà le informazioni dal sistema e sarà responsabile delle funzioni di trading".
Sì, non è proprio così. A quei tempi si faceva un ciclo infinito, non c'era OnTick, c'era la funzione start
Credo di aver capito. Il codice che hai citato suggerisce che la raccolta delle ultime citazioni non viene fatta più di cinque volte al secondo(Sleep(200)). È questo il periodo minimo di tick multicurrency considerato nel vostro codice? Se vengono più spesso, li salta? O questo valore (200) è diverso ora, dopo 10 anni?
Il timer ora sta campionando a intervalli di 1 secondo, saltando il resto. 200 ms è nella memoria, è stato molto tempo fa. Si è scoperto che è spesso ridondante, e durante i test e l'ottimizzazione carica molto la CPU.
Lo faremo, soprattutto quando congeleremo le versioni a 32 bit a settembre e supporteremo solo le versioni a 64 bit della piattaforma.
Ora stiamo preparando un serio aggiornamento del compilatore, spostando alcune funzioni di sistema nei programmi MQL5, che migliorerà drasticamente l'ottimizzatore e accelererà il codice risultante dei programmi MQL5.
Pubblicheremo i benchmark completi delle prestazioni per il confronto con C++, insieme al codice sorgente, in modo che chiunque possa controllarli da solo.
Renat, puoi aggiungere una piccola aggiunta alle modifiche: imposta la proprietà di stile WS_CLIPCHILDREN per le cornici o le finestre dei grafici. Questo permetterà di posizionare qualsiasi finestra figlia sulle cornici del grafico o sulle finestre del grafico senza ulteriori manipolazioni. Attualmente, senza questa proprietà, una finestra padre (una finestra del grafico o una cornice del grafico) disegna una finestra figlia da impostare. E quando si imposta questo stile sulla finestra padre, tutto viene reso molto bene.
Suppongo che questa aggiunta non sarà difficile da fare. E in combinazione con i callback otterremo possibilità molto ampie per lo sviluppo di componenti aggiuntivi per МТ, senza entrare nelle sue "viscere". )))