Errori, bug, domande - pagina 384

 

Bug in MT5 build 441:

Quando si esegue il debug di un EA, se nessuna finestra dello strumento è aperta prima del debug, dopo la chiusura dell'EA, la posizione delle finestre Market Watch e Navigator cambia - si allineano da sinistra a destra, indipendentemente dalla loro posizione iniziale. Inoltre, in questo caso, le barre degli strumenti si allineano dall'alto verso il basso, indipendentemente dalla loro posizione iniziale:

MT5

Il che non è conveniente. Poi devo ricambiare tutto manualmente.

Oh, e un'altra domanda: si possono usare le citazioni dello strategy tester nella modalità debug dell'Expert Advisor? Se è possibile, come?

Grazie!

 
IgnatyevName:

Bug in MT5 build 441:

Quando siesegue il debug di un EA, se nessuna finestra dello strumento è aperta prima del debug, allora dopo la chiusura dell'EA, la posizione delle finestre Market Watch e Navigator cambia - si allineano da sinistra a destra, indipendentemente dalla loro posizione iniziale. Inoltre, in questo caso, le barre degli strumenti sono allineate dall'alto verso il basso, indipendentemente dalla loro posizione iniziale:

1. Questo è un bug in tutte le build di MT4/5 da quelle iniziali.

2) Il bug appare spesso quando si va rapidamente al terminale con F4 durante la compilazione.

3. Il bug appare meno spesso quando si richiama il terminale dalla barra delle applicazioni.

L'impressione è che in qualche modo il file(?) delle impostazioni di windows sia bloccato al momento del caricamento e che il terminale metta di default le impostazioni della posizione dei pannelli.

Sarei felice se gli sviluppatori sistemassero anche questo fastidio.

 

Buon pomeriggio!

Puoi dirmi perché non c'è nessun evento di scorrimento del grafico nella lista degli eventi OnChartEvent()?

La prima cosa che mi viene in mente come alternativa - controllare il numero della prima barra visibile in OnTimer,

ma tenendo conto del periodo minimo di aggiornamento del timer di 1 secondo, questa opzione sembra essere troppo lenta.

Ci sono altre alternative più adeguate ed è possibile aggiungere direttamente un evento di scorrimento?

Per quanto ho notato, la piattaforma di programmazione mql5 si sta sviluppando in modo simile ad altri ambienti di programmazione popolari,

ma tutti hanno un evento di scorrimento.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 

Buon pomeriggio!

Sto cercando di scoprire la quantità digaranzia richiesta per aprire 1 lotto per una valuta.

Sto usando la funzione:

SymbolInfoDouble(m_symbol.Name(),SYMBOL_MARGIN_INITIAL);

E tutte le valute che non ho controllato, che sia "EURUSD", "GBPUSD" ecc... restituisce 0.

Come può essere?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
bobsley:

Buon pomeriggio!

Sto cercando di scoprire la quantità digaranzia richiesta per aprire 1 lotto per una valuta.

Sto usando la funzione:

E tutte le valute che non ho controllato, che sia "EURUSD", "GBPUSD" ecc... La funzione restituisce 0.

Come può essere?

Per quanto ho capito, l'alternativa a questo codice restituisce 0 anche in MQL4.

//MQL5
SymbolInfoDouble(m_symbol.Name(),SYMBOL_MARGIN_INITIAL);
//MQL4
MarketInfo(Symbol(),MODE_MARGININIT);

Almeno, non importa quanto duramente ho cercato di ottenere un valore diverso...

Lo sviluppatore dovrebbe spiegarvi questo e fornirvi un esempio di lavoro con SYMBOL_MARGIN_INITIAL.

 

Allora ho bisogno di un MT4 analogico.

MarketInfo("EURUSD",MODE_MARGINREQUIRED);

C'è qualcosa di simile in MT5 o devo contare a mano?

 

I margini iniziali e di mantenimento non sono utilizzati sui simboli forex.

Usa OrderCalcMargin per controllare il margine.

 
alexey_petrov:

I margini iniziali e di mantenimento non sono utilizzati sui simboli forex.

Usa OrderCalcMargin per controllare il margine.

È questo!!! grazie!
 
alexey_petrov:

I margini iniziali e di mantenimento non sono utilizzati sui simboli forex.

Usa OrderCalcMargin per controllare il margine.

Ho provato ad usarlo. C'è un errore:

ERR_FUNCTION_NOT_ALLOWED

4014

La funzione di sistema non può essere chiamata


Cosa sto facendo di sbagliato?

double  margin;
bool   res = OrderCalcMargin( ORDER_TYPE_SELL, "EURUSD", 1.00, Bid, margin );
 
Dima_S:

Ho provato ad usarlo. C'è un errore:

ERR_FUNCTION_NOT_ALLOWED

4014

La funzione di sistema non può essere chiamata


Cosa sto facendo di sbagliato?

Stai chiamando un indicatore?
Motivazione: