Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1039

 
Grazie per le risposte, è quello che ho pensato. Ma ecco il problema, il fatto è che ogni giorno perdo l'inizio del grafico, sui minuti è circa due o tre mesi, così l'acqua ogni giorno c'è un grafico tagliato per il giorno, così gli indicatori iniziano a contare ogni giorno da un posto diverso, perché le loro letture cambiano e generalmente non è possibile lavorare, come aumentare la storia, e all'inizio del grafico non è perso ... o la mattina apro MT e ho tutti i segnali lampeggiato, perché gli indicatori iniziato a contare da un altro posto????
 
nikelodeon: Ogni giorno mi manca l'inizio del grafico,

Servizio -> Impostazioni -> Storia barra massima egrafici della barra massima in finestra

Ora la velocità. La maggior parte degli indicatori gestisce solo una, l'ultima barra per ogni tick. O 2 quando appare una nuova barra. Ma ci sono indicatori che calcolano molte o addirittura tutte le barre su ogni tick a causa di errori di programmazione o a causa di un algoritmo specifico. Per prima cosa, dobbiamo identificarli. Questo può essere fatto usando il Task Manager, determinando il carico della CPU. O, più precisamente, potete inserire nell'indicatore qualcosa come

  if(XXX>1)Alert("Пересчитываем=",XXX,"   Bars=",Bars);
где XXX - количество пересчитывемых баров. При запуске будет много, затем на каждый новый бар 2

È improbabile che l'indicatore debba ricalcolare tutte le barre. Dovremmo controllare 1) cosa restituisce questo indicatore tramite l'operatore return 2) il numero di barre ricalcolate nel codice dell'indicatore. 3) Max barre nella finestra 4) Gli indicatori, chiamati dalla funzione iCustom, non dovrebbero essere nel grafico. Altrimenti otteniamo la duplicazione dell'indicatore e aumentiamo il carico sul processore.

Digito il testo in Word e lo copio attraverso gli appunti per migliorare l'alfabetizzazione. Altrimenti, 4 sintassi e 1 virgola...


 

Buona giornata, colleghi!

Per favore, ditemi qual è il problema con questo pezzo di codice:

   int TF[6]={1,5,15,30,60,240};
   for(int TF=0;TF<6;TF++)
      for(int i=iBars(NULL,TF[TF]);i>=0;)
Il compilatore produce questo:
'[' - array required        20      30
La guida e il tutorial non dicono nulla sull'uso degli array nelle serie temporali, è possibile risolvere il problema? In quale altro modo possiamo fare un replay di tutte le candele su più TF?
Grazie mille!
 
Ekburg: Per favore, ditemi qual è il problema con questo pezzo di codice:
 int TF[6]={1,5,15,30,60,240};
   for(int TF=0;TF<6;TF++)       TF[TF] ???????

TF è descritto come un array di 6 elementi. Cioè ci sono: TF[0]=1, TF[1]=5, TF[2]=15, TF[3]=30 TF[4]=60 TF[5]=240
Riferirsi a TF senza parentesi quadre, cioè senza specificare un indice, non ha senso. Quale elemento dell'array dovrei usare?
Suppongo che si potrebbe usare qualcosa come for(int NTF=0;NTF<6;NTF++) for(int i=iBars(NULL,TF[NTF]);i>=0;)
 
Ekburg:

Buona giornata, colleghi!

Puoi dirmi qual è il problema con questo pezzo di codice?

int TF[6]={1,5,15,30,60,240};
for(int i=0; i<6; i++) int b=iBars(NULL,TF[i]);
 
LRA:
TF è descritto come una matrice di 6 elementi, cioè ci sono: TF[0]=1, TF[1]=5, TF[2]=15, TF[3]=30 TF[4]=60 TF[5]=240
Accedere a TF senza parentesi quadre, cioè senza specificare un indice, non ha senso. Quale elemento dell'array dovrei usare?
Suppongo che si potrebbe usare qualcosa come for(int NTF=0;NTF<6;NTF++) for(int i=iBars(NULL,TF[NTF]);i>=0;)
artmedia70:

Grazie, ragazzi)

Quindi, il fatto che ho definito la variabile TF nel primo operatorefor(int TF=0;TF<6;TF++), il compilatore la confonde con un array?

 
Ekburg Il compilatore confonde la variabile TF con un array?

È peggio... TF è dichiarato due volte 1) come array 2) come variabile intera. La seconda dichiarazione copre (rende invisibile, quasi distrugge) la prima.

Il compilatore genererà prima l'avvertimento: la dichiarazione di 'TF' nasconde la dichiarazione locale ... La seconda dichiarazione di TF nasconde la precedente. Ora TF non è un array ma una variabile intera. Ecco perché il prossimo uso di TF[] richiede un array che è già nascosto, e l'errore: '[' - array required Array required.

 
LRA:

È peggio... TF è dichiarato due volte 1) come array 2) come variabile intera. La seconda dichiarazione chiude (rende invisibile, quasi distrugge) la prima.

Il compilatore genererà prima l'avvertimento: la dichiarazione di 'TF' nasconde la dichiarazione locale ... La seconda dichiarazione di TF nasconde la precedente. Ora TF non è un array ma una variabile intera. Ecco perché il prossimo uso di TF[] richiede un array che è già nascosto, e l'errore: '[' - array required Array required.



Questo è tutto... Capisco, grazie mille.

fissato tutto, nessun errore viene restituito (tuttavia, ero confuso dal fatto che quando ho dichiarato la variabile f invece della variabile TF, non ci sono stati errori usando TF[TF]),

ma lo script non si apre nel terminale, forse si tratta di avvertimenti?

 
LRA:

Servizio -> Impostazioni -> Storia barra massima egrafici della barra massima in finestra


Ora la velocità. La maggior parte degli indicatori gestisce solo una, l'ultima barra per ogni tick. O 2 quando appare una nuova barra. Ma ci sono indicatori che calcolano molte o addirittura tutte le barre su ogni tick a causa di errori di programmazione o a causa di un algoritmo specifico. Per prima cosa, dobbiamo identificarli. Questo può essere fatto usando il Task Manager, determinando il carico della CPU. O, più precisamente, potete inserire nell'indicatore qualcosa come

È improbabile che l'indicatore debba ricalcolare tutte le barre. Dovremmo controllare 1) cosa restituisce questo indicatore tramite l'operatore return 2) il numero di barre ricalcolate nel codice dell'indicatore. 3) Max barre nella finestra 4) Gli indicatori, chiamati dalla funzione iCustom, non dovrebbero essere nel grafico. Altrimenti otteniamo la duplicazione dell'indicatore e aumentiamo il carico sul processore.

Digito il testo in Word e lo copio attraverso gli appunti per migliorare l'alfabetizzazione. Altrimenti ci sono 4 sintassi e 1 virgola...



Con gli errori è facile. Grazie per la risposta, che non ha aiutato per niente. Sono più che un semplice utente di mkul. Tutto quello che mi hai scritto è noto da tempo e testato, l'indicatore conta una volta e poi con l'arrivo di una nuova barra, conta solo una barra, ho postato il tutto ben visibile. Ho la storia della barra massima nella finestra. Penso che forse il mio broker si sbaglia. Per esempio, oggi ho salvato i dati sull'oro nel file xc, ma sono diventati incoerentemente diversi dal file che ho salvato ieri. Durante il giorno tutto sembra andare bene, ma vediamo cosa succede domani...
 

Ekburg!!! Tutte le avvertenze dovrebbero essere eliminate. Il primo avvertimento significa che la dichiarazione non ha effetto - scartata dal compilatore - questo è male. L'ultimo avvertimento è che la dimensione della variabile locale (array) supera i 512kB e quindi non ha effetto - peccato. Il resto degli avvertimenti - potrebbe essere usata una variabile non inizializzata. È come quando ci si dimentica di mettere i soldi sulla carta e si cerca di spenderli. Dobbiamo controllare tutti i rami del programma. A volte il compilatore è troppo assicurato. In questo caso dovreste dichiararlo in questo modo: int x=0; string y=""; bool z=falso;

Motivazione: