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

 
wolfovik:

Puoi dirmi perché il compilatore dà l'avviso "l'espressione non ha effetto" nella linea per

Perché nessun effetto


Penso che sia perché il valore iniziale è assegnato all'esterno del blocco.

 
wolfovik:

Puoi dirmi perché il compilatore dà l'avviso "l'espressione non ha effetto" nella linea per

Perché nessun effetto?

Quindi fallo, se non vuoi farlo, fallo e basta:

   k = 0; 
   for (i=k; i<OrdersTotal(); i++ ) {}

E non è necessario che i raggiunga il valore di OrdersTotal() - salti fuori dai limiti. Da zero che stai cercando.

 
artmedia70:

Quindi fallo se non vuoi farlo e basta:

O anche come questo o_o

i = 0; 
for (;i<OrdersTotal();i++ )
 
alsu:

O anche come questo o_o


O come questo per(;;)

E poi così:


 

A proposito, non è

for (i=0;i<OrdersTotal();i++ )

non è un buon modo di farlo. Qualcosa può cambiare durante il ciclo (anche a causa di azioni nel ciclo stesso) e sarete fregati.

Corretto

for (i=OrdersTotal()-1;i>=0;i--) {...}
 
Qualcuno sa se c'è un modo per assegnare tasti di scelta rapida alla linea di tendenza?
 
alsu:

A proposito, non è

non è un buon modo di farlo. Qualcosa può cambiare durante il ciclo (anche a causa di azioni nel ciclo stesso) e sarete fregati.

Corretto


Bene... che stiamo discutendo nel contesto dell'interrogazione scritta. Si potrebbe riscrivere tutto il codice per l'interrogante, naturalmente. Ma questo sarebbe un disservizio. Ma in linea di principio, sì - l'osservazione dovrebbe essere buona per lui. Basta mettere in chiaro che deve lavorare con un sistema di ordini, altrimenti comincerà a fare tutti i cicli inversi :)
 
okvseok:
Qualcuno sa se c'è un modo per assegnare tasti di scelta rapida alla linea di tendenza?
Sì, c'è. Ma attraverso una strada a senso unico.
 
borilunad:
Alexei, non balbettare! Ecco la sua domanda: ". come possiamo implementare quando scriviamo un indicatore in modo che le letture dell'indicatore sulla 0a barra sommino le letture sulla 1a barra?" In questo modo la prima barra volerà in cielo! Non so perché dovrebbe, ma stavo solo buttando lì ciò che può essere operato. Chi cerca può trovare! E imparo dai miei errori, come chiunque altro voglia sapere! ( ;)))=

Forse ho usato male la parola "letture". Con questa parola intendevo il valore dell'indicatore, cioè l'indicatore scritto fa dei calcoli su ogni barra e visualizza i risultati in una finestra separata come istogramma (come il MACD per esempio). Come fare in modo che le colonne dell'istogramma si sommino, cioè il valore dell'indicatore sulla 0a barra sarà aggiunto al risultato della 1a barra?
 
hmpr:

Devo aver usato male la parola "letture". Con questa parola intendevo il valore dell'indicatore, cioè l'indicatore che ho scritto esegue dei calcoli su ogni barra e visualizza i risultati in una finestra separata come un istogramma (come MACD, per esempio). Come fare in modo che le colonne dell'istogramma si sommino, cioè il valore dell'indicatore sulla 0a barra sarà aggiunto al risultato della 1a barra?

l'esempio di cui cercherò di mostrarvi il rifacimento. potete farlo come codice di testo o come file. o postarlo qui . perché è difficile dire una ricetta per tutti gli indyuk in una volta. la soluzione più semplice nello Start .Buffer[i] = (più azioni o un modo per calcolare i valori) se si mette + si ottiene Buffer[i] += (.........). la somma al valore precedente. in generale, è necessario vedere l'algoritmo di calcolo di base dell'indicatore e se ha un periodo o una definizione di fine ciclo ecc. quindi indicatore e descrizione di ciò che mostra.