[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 523
![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
Cari esperti, non c'è un errore nel libro di testo?
Ecco il mio ragionamento:
All'inizio del codice viene chiamata la funzioneint ArrayCopyRates che copia i dati delle barre del grafico corrente in un array bidimensionale di tipo RateInfo[][6] e restituisce il numero di barre copiate o -1 in caso di fallimento secondo l'esempio di questa funzione:
la barra corrente è la barra con indice 0-0 , quindi, tornando al codice originale, copiamo l'elemento con indice 0-0 (la barra corrente) dell'array1, a array2 con indice 0-0, otteniamo le ultime 10 barre (dove l'ultima barra è quella corrente, quella con indice [0]), il che è contrario a quanto abbiamo scritto nel tutorial... e rispettivamente, copiando l'elemento con indice Bars*6-60,60 dell'array1 nell'array2 con indice iniziale dell'elemento 0 otteniamo informazioni sulle barre dalla storia.
Senza fare dichiarazioni altisonanti, verifichiamolo nella pratica:
Senza fare affermazioni di alto profilo, mettiamolo alla prova:
Sì, in pratica risulta che l'elemento con indice Bars*6-60,60 è la barra corrente... allora come lo spieghi nell'esempio:
La barra corrente è array1[0][0] e dopo aver copiato l'array diventa array1[Bars*6-60,60][0]... si scopre che da qualche parte c'è la rinumerazione... Naturalmente, il risultato è chiaro dopo aver usato la funzione nella pratica... ma la logica è incasinata, secondo me)))Sì, in pratica risulta che l'elemento con indice Bars*6-60,60 è la barra corrente ...
Questa è la sua conclusione.
Senza fare affermazioni di alto profilo, mettiamolo alla prova:
Quindi ecco un elemento specifico dell'arrayTimeToStr(array2[a][0]).
Che l'uscita sia corretta, sono d'accordo. Ma cosa c'entra Bars*6-60? Quale valore viene sostituito a Bar durante il calcolo? Se le barre, come si ottengono le ultime 10 barre?
Si può notare che non sono l'unico che non ha capito questo sul forum, ma molti altri.
Si scopre che il numero di tutte le barre moltiplicato per 6 e meno 60. Da dove abbiamo preso 6? Non ha alcun senso.
Quindi ecco un elemento specifico dell'arrayTimeToStr(array2[a][0]).
L'uscita è corretta, sono d'accordo. Ma cosa c'entra Bars*6-60... Quale valore viene sostituito a Bar durante il calcolo? Se le barre, come si ottengono le ultime 10 barre?
Come potete notare, non sono l'unico a non averlo capito sul forum, molti altri non l'hanno capito.
int Bars -- Numero di barre sul grafico corrente.
Si scopre che il numero di tutte le barre moltiplicato per 6 e meno 60. Da dove abbiamo preso il 6? Non ha alcun senso.
int Bars -- Numero di barre sul grafico corrente.
Allora da dove vengono gli ultimi 10?
int Bars = 10 000;
Allora Bars*6 - 60 = 10 000*6 - 60 = 60 000 - 60 = 59 960;
Il valore di59 960 è maggiore del valore di Bars. E significa già che è fuori dalla matrice. E il 10 non si trova da nessuna parte...
Si scopre che il numero di tutte le barre moltiplicato per 6 e meno 60. Da dove abbiamo preso il 6? Non ha alcun senso.
Allora da dove vengono gli ultimi 10?
int Bars = 10.000;
Allora Bars*6 - 60 = 10 000*6 - 60 = 60 000 - 60 = 59 960 -- errore!!!
Il valore di59 960 è maggiore del valore di Bars. E questo significa già che ha superato i limiti dell'array. E il 10 non si vede da nessuna parte.
Victor, non preoccuparti, ci arriverai. "L'esperienza è figlia di duri errori..." Andare dal semplice al complesso, non il contrario:
"PROGRESSO (dal lat. progressus - movimento in avanti), una direzione di sviluppo caratterizzata da una transizione dall'inferiore al superiore, dal meno perfetto al più perfetto. Si può parlare di progresso in relazione al sistema nel suo insieme, ai suoi singoli elementi, alla struttura dell'oggetto in sviluppo. Il concetto di progresso è l'opposto del concetto di regresso.
REGRESS (dal latino regressus - movimento inverso), il tipo di sviluppo che è caratterizzato dal passaggio da un livello superiore a uno inferiore. Il contrario del progresso".
Victor, non preoccuparti, sei in vantaggio. "L'esperienza è figlia degli errori..." Andare dal semplice al complesso, non il contrario:
"Il progresso (dal latino progressus - movimento in avanti), la direzione dello sviluppo, caratterizzato dal passaggio dall'inferiore al superiore, dal meno perfetto al più perfetto. Il progresso può essere riferito al sistema nel suo insieme, ai suoi singoli elementi, alla struttura dell'oggetto in sviluppo. Il concetto di progresso è l'opposto del concetto di regresso.
REGRESS (dal latino regressus - movimento inverso), il tipo di sviluppo che è caratterizzato dal passaggio da un livello superiore a uno inferiore. Il contrario del progresso".
perché non spiegarlo semplicemente alla persona? Aiutarla a progredire? e tutto questo parlare di regressione è più che altro la nerdaggine di un insegnante...