Errori, bug, domande - pagina 40

 
Interesting:

> Non sono interessato a un modo per aggirare il bug, ma a risolvere il bug stesso. Vorrei che fosse eliminato del tutto.

Non penso che sia scortese o offensivo, ma mi ha davvero ucciso...

Al punto della domanda (suggerimento):

Questo non è MQL4, e Period() non rappresenta esplicitamente il numero di secondi/minuti in TF.

Per ottenere il numero di secondi in un periodo, usate la funzione PeriodSeconds.


E se provate a esprimere Period come un numero, allora come risultato otterrete il valore numerico corrispondente all'identificatore del period nell'enumerazione ENUM_TIMEFRAMES.

Bene, aprite l'aiuto per la funzione Period(). B cosa vediamo?

Restituisce il valore del timeframe del grafico corrente.

ENUM_TIMEFRAMESPeriodo();

Valore restituito

Contenuto della variabile _Period, dove viene memorizzato il valore del timeframe del grafico corrente. Il valore può essere uno dei valori dell'enumerazione ENUM_TIMEFRAMES.

Clicca sul linkENUM_TIMEFRAMES - apre la tabella che elenca i periodi.

PERIODO_H1 1 ora

Tutto è come in MQL4. Cosa c'entra il numero 16386?

Methaqvotes è come al solito - non scrivono Aiuto per gli utenti, ma lo usano come un quaderno per se stessi. Sanno cosa è cosa, e non si preoccupano di quello che succede nel cervello dell'utente quando legge il loro testo. Apparentemente non hanno un editore professionista che possieda uno stile base di russo (almeno al livello di un libro ABC). :(

Sono solo stanco dell'ignoranza del materiale presentato da meta-citazioni durante la padronanza di MQL4. Sento che dovrò rifare tutto questo in MQL5.

 
drknn:

Bene, apriamo la guida Period(). B Cosa vediamo?

Clicchiamo suENUM_TIMEFRAMES - si apre una tabella che elenca i periodi.

PERIODO_H1 1 ora

Cosa c'entra il numero 16386?

Metacvoters nel loro repertorio, non scrivono aiuti per gli utenti, ma lo usano come un quaderno per se stessi. Sanno cosa è cosa, e non si preoccupano di cosa apparirà nel cervello dell'utente quando leggerà il loro testo. Apparentemente non hanno un editore professionista che possieda uno stile base di russo (almeno al livello di un libro ABC). :(

Ma PERIOD_H1 inENUM_TIMEFRAMES ha valore di codice 16385, mentre prima era 60 (per numero di minuti).

Le calibrazioni di questo tipo sono dovute al fatto che MQ non ha ancora pubblicato i codici per i valori individuali dei numeratori (identificatori), come è stato fatto nell'aiuto di MQL4.

Io personalmente (e forse anche altri) ho chiesto di specificare questi CODICI (valori) nell'aiuto, cosa che non è stata ancora fatta.

PS

Se aprite l'aiuto per Period() in MQL4 e MQL5, ecco cosa colpisce immediatamente il vostro occhio (almeno dovrebbe):

MQL4 - Restituisce il numero di minuti di un periodo per il grafico corrente.

MQL5 - Restituisce il valore del timeframe del grafico corrente.

Questo è sufficiente per gli sviluppatori ordinari, ma quelli che vogliono lavorare a un livello più basso (per esempio, per passare informazioni alla DLL o creare una libreria per la migrazione) hanno bisogno di conoscere il codice numerico.

In MQL4 questo codice corrisponde a un numero di secondi (perché restituisce il numero di secondi), ma in MQL5 le regole sono diverse...

Периоды графиков - Документация на MQL4
  • docs.mql4.com
Периоды графиков - Документация на MQL4
 

Una tabella riassuntiva dei valori del codice per Period() in MQL4 e MQL5 sarà come questa


Identità
Codice MQL 5
Codice MQL 4
Descrizione
PERIODO_CORRENTE / NULL
0
0
Periodo corrente
PERIODO_M11
1
1 minuto
PERIODO_M22
Х
2 minuti
PERIODO_M33
Х3 minuti
PERIODO_M44
Х 4 minuti
PERIODO_M55
5
5 minuti
PERIODO_M66
Х 6 minuti
PERIODO_M1010
Х 10 minuti
PERIODO_M1212
Х 12 minuti
PERIODO_M1515
15
15 minuti
PERIODO_M2020
Х 20 minuti
PERIODO_M3030
30
30 minuti
PERIODO_H116385
60
1 ora
PERIODO_H216386Х2 ore
PERIODO_H316387Х2 ore
PERIODO_H416388240 4 ore
PERIODO_H616390Х 6 ore
PERIODO_H816392Х 8 ore
PERIODO_H1216396Х 12 ore
PERIODO_D1164081440 1 giorno
PERIODO_W132769
10080 1 settimana
PERIODO_MN1
49153
43200 1 mese


PS

Spero che ora sia tutto molto chiaro... :)

Периоды графиков - Документация на MQL4
  • docs.mql4.com
Периоды графиков - Документация на MQL4
 
Interesting:

Una tabella riassuntiva dei valori del codice per Period() in MQL4 e MQL5 sarebbe come questa:

>

PS

Spero che ora sia tutto chiaro... :)

Guardate i bit di valore in MQL5...
 
mql5:
Guardate i bit di valore in MQL5...
Tutto sembra essere accuratamente specificato. O forse non ho capito il senso del tuo post...
 
Interesting:
Tutto sembra essere dichiarato con precisione. O mi sfugge il punto del tuo post...
I numeri sembrano essere corretti, ma perché lo sono, lo si può scoprire guardando il valore binario.
 
mql5:
I numeri sembrano giusti, ma si può scoprire perché guardando il valore binario.

Oh, vuoi dire questo... :)
 
Interesting:

La tabella riassuntiva dei valori del codice per Period() in MQL4 e MQL5 apparirà come segue:

PS

Spero che ora sia tutto chiaro... :)

Conosco la logica formale e le differenze nei termini hanno attirato la mia attenzione immediatamente. Il fatto è che la lettura della guida di MQL5 non chiarisce molte cose. È chiaro che i methaquotes hanno reso il terminale disponibile per l'accesso pubblico al fine di attirare il gruppo di beta-tester - questo passo farà risparmiare tempo e denaro. Ma dare agli utenti un riferimento che manca di chiarezza è un grosso errore da parte loro. Per esempio, apriamo la sezione più importante"Conversione MQL4":

Variabili predefinite

In MQL5 non ci sono variabili predefinite come Ask, Bid, Bars. Le variabili Digits e Point sono leggermente cambiate nella loro ortografia come mostrato nella tabella sottostante.

La tabella non fornisce informazioni su Ask, Bid e Bars. Un tentativo di ricerca per la stessa parola Ask si trova di fronte a una costruzione completamente incomprensibile di una query per gli ultimi prezzi. Lo sviluppatore non avrebbe potuto prevederlo allora, al momento di scrivere questa parte della guida? Sciocchezze, perché potrebbe accadere? L'unica ragione è la mancanza di sistematicità - cioè l'assenza di un piano chiaro del saggio futuro. Molto probabilmente, il certificato è stato scritto in modo frammentario, poi i pezzi separati sono stati incollati insieme ed ecco il "certificato". Questo non è buono per niente. A nessuno piace leggere le bozze di qualcun altro!

Va bene, anche se è una bozza, è davvero così difficile scriverla in modo diverso, per esempio così:

Variabili predefinite

In MQL5 non ci sono variabili predefinite come Ask, Bid, Bars. Questi valori in MQL5 sono ottenuti da altre regole. Per avere un'idea chiara di come si fa, dovreste leggere le sezioni "111", "2222" и "3333".

Le variabili Digits e Point sono cambiate leggermente nell'ortografia, come mostrato nella tabella.

Questo è tutto!!! Una mossa così semplice e un tale risparmio di tempo e fatica.

Leggere MQL5 aiuta è più come vagare in una foresta buia senza una mappa, senza una bussola e senza la possibilità di salire su un albero e orientarsi. Quale sarebbe il desiderio? Giusto - non entrare affatto in una tale foresta. Lo sviluppatore conosce a fondo la foresta. La sua riluttanza a dare una guida all'utente provoca almeno sconcerto e al massimo - disgusto.

Quando leggo le risposte degli sviluppatori come: "Attualmente abbiamo compiti più importanti di questo", voglio chiedere - perché diavolo hai postato un lavoro così sporco? È un danno alla vostra reputazione. Non sarebbe stato meglio controllare tutto prima, fare il debug, codificare correttamente e non torturare gli utenti con le tue bozze?

Nessuna parola. Metatrader 4 è stato usato per quanti anni? Corretto, molti. E non c'è un vero e proprio manuale di lingua MQL4 fino ad ora. C'è stato un attivista che ha cercato di fare un tale libro di testo e ha fallito. È un gran lavoratore, tutto qui. Il suo libro non può essere considerato un buon libro di testo. In mancanza di uno migliore, questa creazione giace sul sito come un libro di testo. Perché non è un libro di testo? Sì, è semplice - leggere i principianti questo libro, poi uscire su un forum e chiedere tale merda che mi può stupire. Se ci fosse un libro di testo adeguato, questo non accadrebbe - il lettore otterrebbe chiarezza e vedrebbe la validità di usare una particolare risorsa nel codice futuro.

Per molto tempo sono stato tentato di abbandonare tutto e fare due cose: un vero e proprio editor di codice per MQL4 e un vero e proprio tutorial su questo linguaggio. Ma poiché la quantità di lavoro è enorme, e a parte una sensazione di soddisfazione non otterrei nulla per questo tipo di lavoro, ho deciso di non implementare queste idee.

In breve, penso che aspetterò un paio d'anni e lascerò che i methaqvotes affilino le loro creazioni MQ5. Non voglio nemmeno toccare un'opera così terribilmente fatta. Ho già "tutte le mani nelle loro schegge". Farebbero meglio a mettere a punto la famiglia MQ4 da e attraverso piuttosto che rivettare in fretta e furia la MQ5.

Sono deluso.

 
drknn:

Conosco la logica formale e le differenze nei termini hanno attirato la mia attenzione immediatamente. Il punto è che la lettura della guida di MQL5 non chiarisce molte cose. È chiaro che i methaquotes hanno reso il terminale disponibile per l'accesso pubblico al fine di attirare il gruppo di beta-tester - questo passo farà risparmiare tempo e denaro. Ma dare agli utenti un riferimento che manca di chiarezza è un grosso errore da parte loro. Per esempio, aprite la sezione principale"Conversione MQL4" .....

Sono deluso.

È abbastanza accettabile, tenendo conto di certe caratteristiche (soprattutto a causa del fatto che MQL5 viene costantemente aggiornato).

Certo, ci sono alcune imprecisioni, o come molti preferiscono pensare "lapsus ed errori", ma può essere spiegato e gradualmente migliorato.

Il tema della migrazione da MQL4 a MQL5 è un livello separato in sé, dimenticherei i cambiamenti seri in questa sezione fino all'autunno (almeno), perché gli sviluppatori dovrebbero probabilmente occuparsi di MQL5 e solo allora pensare a fare cambiamenti in questa parte.

PS

Voglio dire che molte cose potrebbero essere aggiunte lì. Per esempio, possiamo spostare alcune funzioni da MQL4 alla sezione DEAD (come si faceva in MQL4).

Anche se una certa parte del lavoro per facilitare la migrazione non è fatta, non sarà un grande problema, figuriamoci un GRANDE STONEBOOK...

 
Interesting:

Un riferimento perfettamente accettabile...

Grazie per l'intuizione :)
Motivazione: