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
In futuro, secondo il piano di auto-apprendimento, il compito è quello di modificare lo script passo dopo passo, cioè:
Naturalmente, non avresti dovuto seguire il consiglio del tutorial. Puoi avere la conoscenza di come impostare le linee, gli ordini, ecc., ma non sarai comunque in grado di sviluppare la strategia, perché non hai la base teorica. Tutte queste linee e script non vi aiuteranno a capire le cose di base della programmazione, e non potete andare lontano senza. Ho passato i primi 4 mesi solo ad imparare, senza nemmeno provare a scrivere qualcosa. Certo, avrei potuto sfacciatamente, come te, ma la qualità di tale conoscenza è scarsa. Ci sono sempre delle lacune nelle basi, che dovranno essere colmate in futuro...
Ciao, Peter! Studio il libro di testo quando è necessario, cioè quando vedo una lacuna nella mia conoscenza. Ora, sento che dovrò fare una piccola pausa e studiare più attentamente il libro di testo. Tutte le raccomandazioni dei partecipanti al forum sono prese in considerazione e sto cercando di attenervisi. E ora sono stupito di essere riuscito a scrivere qualcosa usando solo MQL5 Reference book per così poco tempo.
Saluti, Vladimir.
Buona sera a tutti e buon umore!
Sto incollando un nuovo script New6.mq5 che ti aiuta a piazzare un ordine pendente SellStop e uno BuyStop con un lotto fisso a una certa distanza dal prezzo corrente sul grafico corrente. In questo script, ho cercato di descrivere tutto come ho promesso prima, in forma chiara e comprensibile per un programmatore di primo grado.
Ho usato le informazioni prese da MQL5 Reference solo quando ho scritto lo script!
Cordiali saluti, Vladimir.
Questo è un buon esempio. Suggerisco di usarlo come punto di partenza. Nozioni di base.
In futuro, secondo il piano di auto-apprendimento, il compito è quello di modificare lo script passo dopo passo, cioè
No, no. Non collegare ancora la nuova funzionalità. Ora migliorate la logica esistente. Allo stesso tempo, sbarazzatevi dei problemi nell'implementazione dello script (si stanno già mostrando). Se volete sapere cosa riscrivere, ve lo dico io.
L'esempio è buono. Suggerisco di usarlo come punto di partenza. Linea di base.
No, no. Non inserire ancora nessuna nuova funzionalità. Ora migliorate la logica esistente. Allo stesso tempo sbarazzarsi dei problemi nell'implementazione degli script (si stanno già mostrando). Cosa devi riscrivere esattamente, se ti interessa, te lo dirò.
Ciao Vasily! Naturalmente, ditemi cosa dovete riscrivere, sarebbe interessante per me!
Saluti, Vladimir.
Ciao Vasily! Naturalmente dimmi cosa devi riscrivere, sono molto interessato!
Sinceramente, Vladimir.
I programmatori hanno due problemi: errori prodotti dal compilatore e problemi di architettura. Mentre sei un principiante, ti concentri a combattere con il compilatore mentre il tuo obiettivo finale è un programma che funzioni correttamente. Tuttavia, molto rapidamente un programma per principianti si trasforma nel cosiddetto codice spaghetti, che l'autore stesso non riesce a capire abbastanza presto. Ecco perché vi suggerisco di concentrarvi non sul compilatore e sulla correttezza dello script finale, ma sulle questioni architettoniche. È come imparare a suonare il pianoforte: prima si impara a tenere le dita correttamente e a sedersi allo strumento in modo adeguato, nessuno pretende di suonare Bach da un principiante.
Avete due gruppi di parametri che determinano il comportamento del vostro script: il primo è impostato staticamente, come una macro. Il secondo è impostato dall'utente quando carica lo script sul grafico. Ora l'utente non sarà in grado di selezionare il tipo di ordine da effettuare senza ricompilare questo script. Questo non va bene. Pertanto, sarebbe meglio abbandonare queste macro in favore del parametro aggiuntivo:
Di conseguenza, abbiamo definito una nuova enumerazione, che abbiamo implementato come parametro di selezione per l'utente.
I programmatori hanno due problemi: errori del compilatore e problemi di architettura. Mentre sei un principiante, ti concentri sul combattere il compilatore, e il tuo obiettivo finale è un programma che funzioni correttamente. Tuttavia, molto rapidamente un programma per principianti si trasforma nel cosiddetto codice spaghetti, che l'autore stesso non riesce a capire abbastanza presto. Ecco perché vi suggerisco di concentrarvi non sul compilatore e sulla correttezza dello script finale, ma sulle questioni architettoniche. È come imparare a suonare il pianoforte: prima si impara a tenere le dita correttamente e a sedersi allo strumento in modo adeguato, nessuno pretende di suonare Bach da un principiante.
Avete due gruppi di parametri che determinano il comportamento del vostro script: il primo è impostato staticamente, come una macro. Il secondo è impostato dall'utente quando carica lo script sul grafico. Ora l'utente non sarà in grado di selezionare il tipo di ordine da effettuare senza ricompilare questo script. Questo non va bene. Pertanto, sarebbe meglio abbandonare queste macro in favore del parametro aggiuntivo:
Di conseguenza, abbiamo definito una nuova enumerazione, che abbiamo implementato come parametro di selezione per l'utente.
Ottimo, infatti mi hai suggerito ciò che è scritto nel passo 4 della modifica passo-passo dello script, cioè espandere la selezione degli ordini pendenti.
Grazie!
Saluti, Vladimir.
Il prossimo problema del tuo codice è che si espande in un lungo foglio procedurale. Tutti i principianti scrivono così. E questo è un problema che rimane con loro per anni. Imparate a spezzare il vostro algoritmo in parti, partendo dalle basi come questo script. Ci sono due modi per farlo: attraverso funzioni e classi. Il concetto di classi è troppo difficile da afferrare all'inizio, quindi vi suggerisco di concentrarvi sul lavoro con le funzioni. Pensate all'importanza delle funzioni:
Il prossimo problema del tuo codice è che si espande in un lungo foglio procedurale. Tutti i principianti scrivono così. E questo è un problema che rimane con loro per anni. Imparate a spezzare il vostro algoritmo in parti, partendo dalle basi come questo script. Ci sono due modi per farlo: attraverso funzioni e classi. Il concetto di classi è troppo difficile da afferrare all'inizio, quindi vi suggerisco di concentrarvi sul lavoro con le funzioni. Pensate all'importanza delle funzioni:
Grazie, Vasily per un consiglio così completo. Ne terrò certamente conto e cercherò di fare del mio meglio.
Saluti, Vladimir.
Il prossimo problema del tuo codice è che si espande in un lungo foglio procedurale. Tutti i principianti scrivono così. E questo è un problema che rimane con loro per anni. Imparate a spezzare il vostro algoritmo in parti, partendo dalle basi come questo script. Ci sono due modi per farlo: attraverso funzioni e classi. Il concetto di classi è troppo difficile da afferrare all'inizio, quindi vi suggerisco di concentrarvi sul lavoro con le funzioni. Pensate all'importanza delle funzioni:
Vasily, l'uomo non ha ancora padroneggiato gli array. È troppo presto per lui per ascoltare tali lezioni).
Peter, tutti i consigli costruttivi sono importanti per me, compresi i tuoi!
Saluti, Vladimir.