[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 311
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
1. La variabile Candles non è usata da nessuna parte.
2. La linea
non è scritto correttamente. Sta nel ciclo - ad ogni iterazione del ciclo si crea una nuova variabile Cls. E non ne hai bisogno lì. Il testo seguente sarà sufficiente.
1. Ho dimenticato di sottolineare che il lavoro dell'indicatore non è stato completato. Ma in ogni caso questo non dovrebbe influenzare in alcun modo il funzionamento di questa particolare funzione.
2. All'inizio era così. Ma quando ha iniziato a darmi un errore, ho pensato che il problema potesse risiedere in qualche modo nel passaggio di dati da un array in un array.
E prova la linea
sostituirlo con
Non ha aiutato. L'errore è sempre lo stesso.
C'è un'altra cosa. Se avete dichiarato una dimensione di 4 celle in una delle dimensioni dell'array, non potete chiamare Buffer_OHLC[4][] - il punto è che la numerazione inizia con zero, non con uno. Quindi il massimo che potete chiamare è Buffer_OHLC[3][];
La cella zero può anche rimanere vuota. Un esempio simile è stato descritto nel libro di testo. Beh, in generale, anche cambiando la dimensione dell'array, l'errore rimane.
PS L'indicatore dovrebbe prendere i dati da un altro strumento e applicarli a quello attuale. Forse sto facendo qualcosa di fondamentalmente sbagliato nel risolvere questo compito?
La cella nulla può anche rimanere vuota. Un esempio simile è stato descritto nel libro di testo. Beh, in generale, anche dopo aver cambiato la dimensione dell'array, l'errore persiste.
PS L'indicatore dovrebbe prendere i dati da un altro strumento e applicarli allo strumento corrente. Forse sto facendo qualcosa di fondamentalmente sbagliato nel risolvere questo problema?
Semplicemente non state lavorando correttamente con un array bidimensionale
1. Scambiare il primo indice con il secondo indice
2. usare ArrayResize
La cella zero può anche rimanere vuota. Un esempio simile è stato descritto nel libro di testo. Beh, in generale, anche cambiando la dimensione dell'array, l'errore rimane.
PS L'indicatore dovrebbe prendere i dati da un altro strumento e applicarli a quello attuale. Forse sto facendo qualcosa di sbagliato in linea di principio nel risolvere questo compito?
Avete dichiarato l'array Buffer_OHLC[4][]. Stai indirizzando una cella inesistente dell'array, cioè Buffer_OHLC[4][i] - non c'è una cella simile nell'array che hai dichiarato. Il massimo è Buffer_OHLC[3][i].
Mi spiego: avete dichiarato 4 celle nella seconda dimensione dell'array (diciamo 4 righe di una tabella con un numero infinito di colonne). Poiché la numerazione parte da zero, la prima linea accessibile è Buffer_OHLC[0][], la seconda è Buffer_OHLC[1][], la terza è Buffer_OHLC[2][], e la quarta è Buffer_OHLC[3][]. La linea Buffer_OHLC[4][] non esiste nell'array che hai dichiarato !
Non fate caso ai freni, è la prima volta che ho a che fare con gli array multidimensionali :)
drknn, grazie! Capisco il suo commento
1. Scambia il primo indice con il secondo
2. usare ArrayResize
Grazie! Ho il risultato. Ma vorrei anche chiarire la funzione ArrayResize e la dimensione della prima dimensione dell'array.
Quando si usa limit-1, c'è un grafico, ma appare l'errore 4051 "Invalid value of function parameter".