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

 
Shurkin:
Il vecchio terminale è stato disinstallato tramite il pannello di controllo - disinstallazione programmi, e i file di configurazione sono stati copiati nell'archivio prima.
Dove era installato il vecchio terminale? Dove è stato installato il nuovo terminale. In quale directory? Nel nuovo terminale File --> Apri cartella dati. Questo aprirà l'esploratore. Lì, nelle cartelle appropriate, mettete quello che avete salvato in precedenza. Anche se può essere che avete salvato non dalla directory dei dati del terminale, ma dalla sua posizione locale (dipende da dove e in che modo il terminale è stato installato)
 
evillive:

Come seguito, visto che gli altri si lamentano solo e non vanno a ficcare il naso...

Poiché le variabili sono dichiarate all'interno di una funzione, non sono variabili GLOBALI, solo per riferimento futuro, nel caso in cui abbiate davvero bisogno di scrivere codice funzionante. Le variabili globali sono dichiarate al di fuori delle funzioni, all'inizio del codice per esempio.

Questo è quello che voglio dire:

In questa forma, la funzione non fa nulla e lavora nel vuoto. I risultati scompaiono subito dopo che la funzione ha finito di lavorare (questo è esattamente ciò che Artem e Victor hanno accennato sopra).


Ma dopo aver rimosso questa funzione, ottengo un avviso che le espressioni non sono consentite nelle variabili globali. Ecco perché ho voluto dividere l'intero codice in diversi file include: tutte le variabili utilizzate nel codice sono dichiarate e calcolate in uno di essi; un altro imposta le condizioni per gli ordini di apertura e il resto di essi imposta separatamente le condizioni di chiusura per comprare e vendere. Forse è sciocco, ma ho pensato che sarebbe stato più facile trovare e correggere gli errori in questo modo.

Anche se non sono realmente variabili globali, passeranno i loro valori all'istruzione if-else su cui si basa il mio codice? E se i risultati scompaiono quando la funzione finisce, e il compilatore genera un errore senza la funzione, allora non posso semplicemente spostare le variabili globali in un file separato?

E per quanto riguarda le battute - lasciate che i ragazzi si divertano: è stancante leggere continuamente sciocchezze dai nuovi arrivati, giusto?

 
Signori programmatori, tutto viene insegnato al giorno d'oggi in modo che gli esempi nel libro di testo si compilino con un messaggio di errore? A cosa serve allora un tale esempio? Come posso scrivere correttamente il codice se gli esempi a cui mi riferisco NON sono corretti?
 
rapid_minus:
Signori programmatori, tutto viene insegnato al giorno d'oggi in modo che gli esempi nel libro di testo si compilino con un messaggio di errore? A cosa serve allora un tale esempio? Come potrò scrivere codice correttamente se gli esempi che mi guidano NON sono corretti?
Ci sono anche esempi in kodobase, quelli sembrano compilare senza errori.
 
rapid_minus:


Ma quando rimuovo questa funzione, ottengo un avviso che le espressioni non sono consentite nelle variabili globali. Ed è per questo che ho voluto dividere l'intero codice in diversi file include: uno di essi dichiara e calcola tutte le variabili utilizzate nel codice, un altro imposta le condizioni per gli ordini di apertura e il resto di essi imposta separatamente le condizioni di chiusura per comprare e vendere. Forse è sciocco, ma ho pensato che sarebbe stato più facile trovare e correggere gli errori in questo modo.

Anche se non sono realmente variabili globali, passeranno i loro valori all'istruzione if-else su cui si basa il mio codice? E se i risultati scompaiono quando la funzione finisce, e il compilatore genera un errore senza la funzione, allora non posso semplicemente spostare le variabili globali in un file separato?

E per quanto riguarda le battute - lasciate che i ragazzi si divertano: è stancante leggere continuamente sciocchezze dai nuovi arrivati, giusto?

Nessuno ha detto che la funzione deve essere rimossa, dovremmo spostare la dichiarazione delle variabili fuori dalla funzione, all'inizio del codice. O anche dichiararli nel file principale.
 
evillive:
Nessuno ha detto che la funzione dovrebbe essere rimossa, dovrebbe essere dichiarata al di fuori della funzione, all'inizio del codice. O dichiararli del tutto nel file principale.

Hai detto sopra che i risultati scompaiono quando la funzione finisce. Ma non posso rimuovere l'assegnazione di valori alle variabili dal corpo della funzione - il compilatore genera errori. Risulta che ho assegnato dei valori alle variabili nella funzione, ma quando accendo il file con esse, questi valori non vengono letti e il compilatore si acciglia di nuovo? Cioè, non posso scrivere il codice del file include solo dalle variabili globali?
 
rapid_minus:

Hai detto sopra che i risultati scompaiono quando la funzione finisce. Ma non posso rimuovere l'assegnazione di valori alle variabili dal corpo della funzione - il compilatore si lamenta di errori. Quindi, si scopre che ho assegnato valori alle variabili nella funzione, ma quando accendo il file con loro, questi valori non saranno letti e il compilatore si lamenterà di nuovo? Cioè, non posso scrivere il codice del file include solo dalle variabili globali?

Ecco quello che volevo dire:

//|Включаемый файл "Глобальные переменные"                           |
//+------------------------------------------------------------------+
//-----Объявляем Глобальные переменные:------------------------------------------

double High_0, High_1, High_2;             // Значение верхней линии Bollinger на 0, 1 и 2 барах
   double Low_0, Low_1, Low_2;                // Значение нижней линии Bollinger на 0, 1 и 2 барах
   double Delta_0, Delta_1;                   // Разница межу значениями верхней и нижней ...
                                              // ...линий Bollinger на 0 и 1 барах

void  Variables()
{

High_0=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,0);
     High_1=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,1);
     High_2=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,2);
     Low_0=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,0);
     Low_1=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,1);
     Low_2=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,2);
     Delta_0=(High_0-Low_0);
     Delta_1=(High_1-Low_1);
}
//------------------------------------------------------------------------------------------
 
evillive:

Ecco quello che volevo dire:

:)

"... SOS! Ecco un frammento del file delle variabili globali incluso. Il resto è esattamente lo stesso.

Ho fatto tutto quello che potevo: cambiato i parametri, rimosso le variabili dal file individualmente e in gruppo per trovare dove si verificava l'errore - tutto invano:

avvertimento "non tutti i percorsi di controllo restituiscono un valore". Qual è la ragione allora? ..."

Rigorosamente a spirale fino al primo post del richiedente.

 
tara:

:)

"... SOS! Ecco un frammento del file delle variabili globali incluso. Il resto è esattamente lo stesso.

Ho fatto tutto il possibile: cambiato i parametri, rimosso le variabili dal file individualmente e in gruppo per trovare l'errore - tutto invano:

avvertimento "non tutti i percorsi di controllo restituiscono un valore". Qual è la ragione allora? ..."

Rigorosamente a spirale fino al primo post del richiedente.

E se si guarda da vicino? C'è una piccola sfumatura che ancora non riesco a fargli capire...

P.S.: int to void corretto.

 
evillive:

Che ne dici di un'occhiata più da vicino? C'è una piccola sfumatura che ancora non riesco a fargli capire...

P.S.: ho corretto int in void.


Sì, l'ho aggiustato, ma tu, per quanto ho capito il tuo ultimo post, hai di nuovo restituito int ?

ZS: Ho visto la correzione, ma ora non capisco nulla... Beh, hai lasciato l'assegnazione dei valori nella funzione, ma sono scomparsi (vedi sopra)?