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
Sono confuso
Ho tolto la finale i-- nel primo ciclo oops. ma non ha avuto effetto
Con una piccola modifica il tuo codice sembra fare qualcosa...
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[0]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[1]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[2]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[3]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[4]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[5]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[6]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[7]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[8]= 0
"Quando si dichiara un array, il tipo di dati, il nome dell'array e il numero di elementi di ogni dimensione devono essere specificati:"
Con una piccola modifica il tuo codice sembra fare qualcosa...
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[0]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[1]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[2]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[3]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[4]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[5]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[6]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[7]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[8]= 0
"Quando si dichiara un array, il tipo di dati, il nome dell'array e il numero di elementi di ogni dimensione devono essere specificati:"
La mia comprensione era che double v1[] ha deciso il tipo di dati globalmente e prima dello start()
Poi [i] ha inizializzato l'array dicendogli quanti elementi ci sono nell'array in questo caso 1 dimensione con elementi = Bar, tuttavia il numero cambia durante la deincrementazione di i--.
giusto?
Quindi, se sta deincrementando il numero di elementi, come fa il buffer a memorizzare e postare l'indicatore se il numero di elementi non è più presente?
O immagino che dovrei dire cosa succede agli elementi mentre deincrementano [i] ?
Scompaiono semplicemente? Sono ancora memorizzati in v1[i] per essere referenziati o sono spariti?
Se riesco a capire questo forse posso essere in grado di capire come fare riferimento a loro o se sono spariti allora posso capire come tenerli per l'uso.
La cosa che non capisco è la dichiarazione else sembra essere in grado di fare riferimento a v1[i]=v1[i+1] Quindi come può fare riferimento a v1[i] se a quel punto v1[i] = 0 quando stampo a questo punto.
Questa sorta di senso di = 0 in un certo senso perché se l'array è vuoto allora stamperebbe l'array vuoto come 0 poiché non ci sono elementi nell'array.
Non sono sicuro di capirlo davvero, ma continuo a pensarci e a leggere il documento più e più volte.
Ora considerando Bars se Bars ha più di 1 numero associato ad esso allora la dimensione potrebbe essere diversa da quella che sto pensando.
Quindi credo che leggerò di più anche su questo per essere sicuro di capire cosa sia in realtà.
Ho pensato che fosse solo un conteggio di un singolo numero come Bar=il numero di barre sul grafico
Quando stampo Bars mi dà 1002 sul grafico a 5 minuti e sto pensando che questa sia una dimensione singola.
Continuerò a lavorarci.
Se volete rendere un Array più grande (o più piccolo) dovete usare ArrayResize. . . un Array è proprio come qualsiasi altra variabile . . è solo che ce ne possono essere molte a cui potete accedere facilmente . . .
Copiate questo codice ed eseguitelo come script, quale pensate sarà l'output?
2011.09.21 07:54:26 none EURUSD,M5: uninit reason 0
2011.09.21 07:54:26 none EURUSD,M5: deinizializzato
2011.09.21 07:54:26 none EURUSD,M5: test[39]= 0
2011.09.21 07:54:26 none EURUSD,M5: inizializzato
Questo è ciò che lo script produce, l'ho copiato esattamente
Ho solo fatto doppio clic su di esso e l'ha eseguito e questo è ciò che appare nella scheda degli esperti
Il giornale dello script dice solo
2011.09.21 07:54:26 Script none EURUSD,M5: removed
2011.09.21 07:54:26 Script none EURUSD,M5: loaded successfully
Pensavo di dover vedere 45.6 come output? Mi sbaglio?
Ho creato il mio array fisso[5] = {1,2,3,4,5}
E sembra essere in grado di stampare[5] o stampare[3] ecc.
fammi mettere le parentesi graffe e vedere di nuovo lo script
Ok, bene... ora modifica questa linea...
. . . e prova di nuovo.
2011.09.21 08:07:58 nessuno EURUSD,M5: deinizializzato
2011.09.21 08:07:58 nessuno EURUSD,M5: test[39]= 45.6
Darn, ho avuto modo di correre fuori essere di nuovo in un paio d'ore.
Forse posso pensarci ancora un po' mentre guido
Non c'è davvero nulla a cui pensare . . .
"Quando si dichiara un array, il tipo di dati, il nome dell'array e il numero di elementi di ogni dimensione devono essere specificati:"
Dovete dichiarare il numero di elementi nell'array . . .
Interessante
Pensavo che la dichiarazione del numero di elementi fosse fatta con v1[i]? Dato che i=Bars pensavo fosse lo stesso che dire v1[Bars] che è qualunque sia quel numero
Se non è dichiarato, non capisco come l'indicatore possa sapere cos'è v1[i] se non posso nemmeno farvi riferimento?Questo stesso script lavora sulla versione dell'indicatore e lo memorizza nel buffer di v1[] quindi come fa a sapere come fare riferimento al buffer per disegnare la linea?
Attualmente funziona sull'indicatore. Si tratta di un altro argomento?
Sì, i buffer indicatori sono gestiti in modo diverso dagli array ordinari.
v[i] non sta dichiarando l'array, è solo uno degli elementi . . ma double v[]; è un array con zero elementi . . quindi v[anything] sempre = 0