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
Hai certamente fatto un grande passo avanti nel soggetto principale - hai padroneggiato e iniziato a usare le funzioni, e complimenti a te, naturalmente!)
Sto consolidando il materiale che ho imparato finora, così come ho iniziato a studiare per e mentre i loop. Trailing, anche se in un futuro lontano, ma è una parte obbligatoria del mio piano di auto-apprendimento.
Saluti, Vladimir.
...
In generale, la sceneggiatura è scritta correttamente. Non tiene conto del valore nullo di Period_learning, ma per il resto è buono.
Ok, Peter, penserò a come complicare lo script e applicare la dichiarazione di condizione if-else all'interno della funzione.
Saluti, Vladimir.
Buona giornata e buon umore a tutti!
Continuo a studiare il linguaggio di programmazione MQL5. Prendendo in considerazione i suggerimenti di Peter Konov, sto incollando il codice finalizzato dello script che è la continuazione di uno dei compiti dei partecipanti a questo thread. Lo script è stato testato in tutte le modalità. Nessun problema rilevato. Per cominciare ho applicato il numero minimo di parametri di input. Il codice dello script è scritto in inglese, i commenti al codice sono in russo, per facilitare il processo di apprendimento. Come ho promesso prima, ho cercato di descrivere lo script in un modo comprensibile per un allievo della 1a forma di scuola di programmazione.
Cordiali saluti, Vladimir.
Buona giornata e buon umore a tutti!
Continuo a studiare il linguaggio di programmazione MQL5. Prendendo in considerazione i suggerimenti di Peter Konov, sto incollando il codice finalizzato dello script che è la continuazione di uno dei compiti dei partecipanti a questo thread. Lo script è stato testato in tutte le modalità. Nessun problema rilevato. Per cominciare ho applicato il numero minimo di parametri di input. Il codice dello script è scritto in inglese, i commenti al codice sono in russo, per facilitare il processo di apprendimento. In questo script ho cercato di descrivere la situazione come ho promesso prima, in un modo accessibile a uno studente di prima classe della scuola di programmazione.
Saluti, Vladimir.
Correggete un errore e sarà perfetto.
Per quanto riguarda la funzione, presumo che questo sia il modo in cui il codice avrebbe dovuto essere scritto:
Sinceramente, Vladimir.Per quanto riguarda la funzione, presumo che questo sia il modo in cui il codice avrebbe dovuto essere scritto:
Sinceramente, Vladimir.Basta correggere subito un errore e sarà perfetto.
Gli oggetti globali, sono inizializzati di default dal costruttore. Per i tipi primitivi (nel nostro caso, tutti tranne le stringhe) è 0. Ma per la memoria (leggere le variabili) allocate sullo stack, non sono inizializzate. Ecco perché le variabili globali possono non essere inizializzate, ricordate che in questo caso saranno uguali a zero. Ma l'assenza di inizializzazione (allo stesso tempo, abituatevi ad evitare subito gli avvertimenti generati dal compilatore, a meno che non sappiate esattamente cosa state facendo) è un problema serio, perché leggere una variabile non inizializzata porta a un comportamento non definito. Per esempio, questo codice si comporta in modo diverso nelle build di rilascio e di debug e nessuno può garantire che quando si cambia la versione del compilatore o le impostazioni di ottimizzazione non cambi anche il suo comportamento:
Peter, a proposito delle variabili globali, non ho ancora trovato nella letteratura che le variabili globali debbano essere predefinite. Avete un link alla fonte per migliorare la vostra conoscenza in materia? Il riferimento MQL5 non contiene un riferimento esplicito all'inizializzazione:
Il tipo bool è progettato per memorizzare i valori booleani true o false, la cui rappresentazione numerica è rispettivamente 1 o 0 .
Esempi:
bool a =true;
bool b =false;
bool c =1;
La rappresentazione interna è un numero intero a 1 byte. Va notato che nelle espressioni booleane, è accettabile usare altri tipi interi o reali o espressioni di questi tipi al posto di bool, e il compilatore non genererà un errore. In questo caso, zero sarà interpretato come falso e tutti gli altri valori come vero.
Gli oggetti globali sono inizializzati con il costruttore predefinito. Per i tipi primitivi (nel nostro caso, tutti tranne le stringhe), è 0. Ma per la memoria (leggere le variabili) allocate sullo stack, non sono inizializzate. Ecco perché le variabili globali possono non essere inizializzate, ricordate che in questo caso saranno uguali a zero. Ma l'assenza di inizializzazione (allo stesso tempo, abituatevi ad evitare subito gli avvertimenti generati dal compilatore, a meno che non sappiate esattamente cosa state facendo) è un problema serio, perché leggere una variabile non inizializzata porta a un comportamento non definito. Per esempio, questo codice si comporta in modo diverso nelle build di rilascio e di debug e nessuno può garantire che quando si cambia la versione del compilatore o le impostazioni di ottimizzazione non cambi anche il suo comportamento: