Versione beta dell'IDE di MetaTrader 4 che include un nuovo compilatore ed editor MQL4 - pagina 8
![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
Tutto sembra funzionare.
Ho un piccolo desiderio - la lista delle funzioni a discesa con Alt+M non può essere permanentemente visibile nella finestra "Navigator"? Sarebbe molto comodo per navigare nel codice.
C'è un modo per personalizzare la Toolbar come era possibile prima?
Sì, clicca con il tasto destro del mouse su un elemento della barra degli strumenti esistente e seleziona "Personalizza".
Tutto è lo stesso di MetaEditor 4.
Quali sono le differenze rispetto alla vecchia versione di MQL4:
La priorità delle operazioni logiche AND/OR è cambiata. Ora tutto è come nel classico C/C++.
È stata introdotta la valutazione abbreviata delle espressioni logiche. Ora, quando si valuta un'espressione logica, le sottoespressioni rimanenti non vengono valutate. Come in C/C++.
L'operatore switch ora usa solo valori interi. In precedenza, si potevano usare quelli veri.
Ora, non si può usare un punto fermo nei nomi delle variabili. Inoltre, non potete usare i caratteri '@', '$', '?' nei nomi delle variabili.
I requisiti per la funzione di avvio sono stati rafforzati. In precedenza, si potevano specificare i parametri nella funzione di avvio. Ora tutti i punti di ingresso init, start, deinit, OnInit, OnStart, OnTick, OnTimer, ecc. devono corrispondere esattamente alle loro firme
A causa dell'espansione del set di parole chiave, ora non potete usare nomi dei seguenti tipi: short, long, float, const, virtual, input, delete, new, do, char.
Ora, le funzioni dll importate non possono accettare array di stringhe come parametro. Come in MQL5
Le differenze non sono fatali, e possono essere facilmente corrette nel codice. In cambio, sono disponibili molte caratteristiche di MQL5, la velocità di esecuzione e un controllo di qualità molto più stretto.
I primi 2 punti sono particolarmente pericolosi perché il codice verrà compilato ma potrebbe non funzionare correttamente.
Posso aggiungere altro? Se non è così, per favore correggetelo (non c'è tempo per il beta test e il test completo). (così scriverò alla fine (?) per non sembrare una verità assoluta):
Elenco dei punti di ingresso per i nuovi programmi MQL4
1. Per compatibilità con i sorgenti esistenti, i familiari init, start, deinit rimangono
2. Aggiunto:
OnInit, OnDeinit (per Expert Advisors, indicatori e script, l'esistenza simultanea delle funzioni init e OnInit, deinit e OnDeinit non è permessa)
OnStart per gli script (l'esistenza simultanea di OnStart e start non è permessa)
OnTick per Expert Advisors (l'esistenza simultanea di OnTick e start non è permessa)
OnCalculate per gli indicatori (l'esistenza simultanea di OnCalculate e start non è permessa)
Anche aggiunto:
OnTimer per Expert Advisors e indicatori
OnChartEvent per Expert Advisors e indicatori
OnTester per gli Expert Advisors
Queste modifiche al calcolo delle espressioni avrebbero dovuto essere fatte molto tempo fa. Quasi raramente causeranno problemi, a meno che l'autore non abbia scritto espressioni enormi.
Non c'è nessun problema con le stringhe - internamente sono Unicode, convertite automaticamente in ANSI quando usate fuori dal terminale (inviando commenti negli ordini), inclusa la ricodifica automatica avanti e indietro quando passate alla DLL. Cioè, la compatibilità è completa.
Le dimensioni degli array sono sì. Ora potete dimenticare i giochi selvaggi con gli array multidimensionali, poiché sono perfettamente sostituibili dalle strutture.
Le matrici in MQL4 non sono mai state statiche, al contrario, sono sempre state dinamiche.
No, non c'è più il limite di 256 caratteri.
Elenco dei punti di ingresso per i nuovi programmi MQL4
1. Per compatibilità con i sorgenti esistenti, i familiari init, start, deinit rimangono
2. Aggiunto:
OnInit, OnDeinit (per Expert Advisors, indicatori e script, l'esistenza simultanea delle funzioni init e OnInit, deinit e OnDeinit non è permessa)
OnStart per gli script (l'esistenza simultanea di OnStart e start non è permessa)
OnTick per Expert Advisors (l'esistenza simultanea di OnTick e start non è permessa)
OnCalculate per gli indicatori (l'esistenza simultanea di OnCalculate e start non è permessa)
Anche aggiunto:
OnTimer per Expert Advisors e indicatori
OnChartEvent per Expert Advisors e indicatori
OnTester per gli Expert Advisors
Forse lo studio è russo?
Sì, è russo. È critico?
Non critico, tranne che per le frasi macchiate in russo. Questo testo è dedotto dalle risposte dello studio.
Cercheremo di risolvere questo problema.
Non critico, tranne che per le frasi macchiate in russo. Questo testo è dedotto dalle risposte dello studio.
Cercheremo di risolvere questo problema.
Sono previsti OnTrade e OnTradeTransaction?