Versione beta dell'IDE di MetaTrader 4 che include un nuovo compilatore ed editor MQL4 - pagina 8

 

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.

 
BorisMQL4:
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.

 
Renat:

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

  • Ora ci sono nomi predefiniti di variabili _Period, _Symbol, _LastError, _CriticalError, _StopFlag, _Point, _Digits, _UninitReason, _RandomSeed che possono scontrarsi con semplici variabili dichiarate nel codice sorgente esistente con gli stessi nomi.

  • Il tipo datetime è diventato 8 byte, 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):

  • Le stringhe sono diventate unicode (2 byte). Pertanto, gli algoritmi basati sulla manipolazione di caratteri a 1 byte non funzioneranno correttamente o non funzioneranno affatto (?).
  • Dovete specificare esplicitamente la seconda e più alta dimensione dell'array quando descrivete i parametri della funzione (?)
  • Levariabili locali e gli array non vengono inizializzati automaticamente (?)
  • Gli array predefiniti non sono più statici (?)
  • Le stringhe più lunghe di 256 caratteri non saranno troncate (?)
  • Alcune costanti hanno cambiato la loro rappresentazione interna. Per esempio, i periodi del grafico iniziano da H1 (?)
  • ...
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 

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.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
stringo:

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

Sono previsti OnTrade e OnTradeTransaction?
 
Renat:

Forse lo studio è russo?

Sì, è russo. È una cosa critica?
 
fyords:
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.

 
Renat:

Non critico, tranne che per le frasi macchiate in russo. Questo testo è dedotto dalle risposte dello studio.

Cercheremo di risolvere questo problema.

Capisco, grazie, e per quanto riguarda la ricerca del 5° monolocale il problema sarà risolto o sono io che ho qualche problema?
 
Urain:
Sono previsti OnTrade e OnTradeTransaction?
Purtroppo no.