Discussione sull’articolo "Introduzione a MQL5: Come scrivere un semplice Expert Advisor e un Indicatore Personalizzato" - pagina 4
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
Questo ExpertAdvisor non funziona su MT5 build 712, almeno non per me.
Viene visualizzato il messaggio di errore "Cant't copy indicator buffer".
Inoltre l'indicatore non viene compilato senza avvertimenti,
"possibile perdita di dati dovuta alla conversione del tipo" alla riga 53,
"possibile utilizzo del varaibile non inizializzato 'day_n'" alla riga 54
"possibile utilizzo su varaiable 'h_day' non inizializzato" alla riga 62
"possibile uso su varaiable non inizializzato 'l_day'" alla riga 63
Potete correggere questi problemi, per favore?
Per il resto si tratta di un buon esempio per noi che abbiamo un background in altri software ma non in MT5.
Questo è un ottimo articolo, per i principianti e per chi proviene da mql4, con in primo luogo un buon esempio di strategia di trading.
Ci sono alcune piccole mancanze nel codice (il controllo degli errori non è sempre implementato), ma l'EA funziona molto bene se usato su timeframe a minuti come raccomandato dall'autore. Gli avvisi durante la compilazione dell'indicatore sono solo avvisi e non bloccano l'utilizzo dell'indicatore e dell'EA.
Grazie.
questo non è un modo semplice di spiegare mql5 alle persone. (come se i principianti avessero mai avuto la possibilità di capirlo!) è come con i libri di programmazione il 90% delle persone non ha idea di come iniziare. Aprono un libro per esempio sulla programmazione in c e il primo "esempio facile" è lungo una pagina intera scritta con caratteri minuscoli. In tutta la mia vita ho letto solo un buon libro di programmazione che potesse insegnare la programmazione a chiunque. Il motivo è che sono stati scritti da programmatori probabilmente eccellenti, ma purtroppo pessimi insegnanti. La programmazione può essere davvero facile e ve lo dimostrerò realizzando un semplice tutorial per il linguaggio di programmazione MQL4 quando avrò un po' più di tempo di adesso. Per tutti, anche per i principianti assoluti. L'errore più grande è insegnare alle persone i dettagli del linguaggio, la maggior parte del loro lavoro dovrebbe essere ctrl+C e ctrl+v e usare google per i comandi e, soprattutto, mantenere tutto MOLTO SEMPLICE. Conosco più di 10 linguaggi di programmazione (programmo da quando avevo 7 anni) e sono ancora spaventato dal modo in cui questo "esempio facile" su 11kb (!!!) è spiegato. Vorrei sapere se c'è qualche vero principiante di programmazione che ha imparato MQL5 da questo esempio ;D. Ne dubito e se c'è si possono contare queste persone sulle dita di una mano.
questo non è un modo semplice di spiegare mql5 alle persone. (come se i principianti avessero mai avuto la possibilità di capirlo!) è come con i libri di programmazione il 90% delle persone non ha idea di come iniziare. Aprono un libro per esempio sulla programmazione in c e il primo "esempio facile" è lungo una pagina intera scritta con caratteri minuscoli. In tutta la mia vita ho letto solo un buon libro di programmazione che potesse insegnare la programmazione a chiunque. Il motivo è che sono stati scritti da programmatori probabilmente eccellenti, ma purtroppo pessimi insegnanti. La programmazione può essere davvero facile e ve lo dimostrerò realizzando un semplice tutorial per il linguaggio di programmazione MQL4 quando avrò un po' più di tempo di adesso. Per tutti, anche per i principianti assoluti. L'errore più grande è insegnare alle persone i dettagli del linguaggio, la maggior parte del loro lavoro dovrebbe essere ctrl+C e ctrl+v e usare google per i comandi e, soprattutto, mantenere tutto MOLTO SEMPLICE. Conosco più di 10 linguaggi di programmazione (programmo da quando avevo 7 anni) e sono ancora spaventato dal modo in cui questo "esempio facile" su 11kb (!!!) è spiegato. Vorrei sapere se c'è qualche vero principiante di programmazione che ha imparato MQL5 da questo esempio ;D. Ne dubito e se c'è si può contare sulle dita di una mano.
Hai ragione sul fatto che i programmatori non sono buoni insegnanti in generale.
Ma non sono d'accordo quando dici che mql5 è così difficile da imparare, soprattutto per un programmatore che ha sperimentato più di 10 linguaggi.
In pratica, per quanto mi ricordo, è possibile modificare uno dei livelli (SL o TP) di una posizione lasciando invariati gli altri livelli, anche nel caso in cui il livello il cui valore rimane invariato sia più vicino al prezzo corrente di quanto specificato nel parametro SYMBOL_TRADE_STOPS_LEVEL. Nella creazione dei programmi, non è consigliabile modificare i parametri di posizione (livelli) in modo tale che i nuovi parametri di posizione (livelli) non soddisfino i requisiti per la verifica della correttezza dei dati di posizione, poiché questa situazione non è documentata e in futuro si potrebbe ottenere un risultato diverso.
Ciao a tutti!
A me funziona tutto bene solo quando
request.type_filling=ORDER_FILLING_IOC;
request.type_time = ORDER_TIME_DAY;
Situazione simile con https://www.mql5.com/ru/forum/1156/page9#comment_2359257
Si tratta di una peculiarità del mio broker FxPro?
Sono nuovo nella programmazione di mql5.
Stavo cercando di imparare attraverso questo esempio, ma mi sono un po' perso con il ciclo alla fine della costruzione dell'indicatore. Dove ha assegnato esattamente un valore alla variabile day_n?
Perché il ciclo controllerà se day_n<day_t. Come può il programma conoscere il valore di day_n?
E come viene calcolato? Supponiamo che rate_total = 10 e che non ci sia ancora una barra calcolata. Quindi prev_calculated = 0
day_t=time[0] (OGGI! dato che viene contato all'indietro)/PeriodSeconds... dato che inizia a contare dal 1970, supponiamo che inizi a contare da 10 giorni fa. quindi dovrebbe dare 10, giusto?
Quindi giorno_t=10. Ora controlla se dayt > dayn. Non conosco dayn, ma so che dayt=10. Assumerò che dayn sia zero, dato che non c'è alcun valore.
Allora anche dayn diventa 10. Ok.
Secondo lancio del ciclo. prev_calculated + 1= 1.
DayT=time[1] (ieri)/periodo... ricordate, inizia a contare da 10 giorni fa... ma ora solo fino a ieri. dovrebbe dare un valore di 9, giusto?
ma ora giornoN < giornoT è falso. Quindi inizia a eseguire le espressioni else. Ok. Ho capito.
Quindi calcola tutti i bu[] e i bd[]. Ok. Il ciclo termina quando prev < total rate è falso.
Ma quando arriva una nuova barra, e diventa di nuovo vero, partirò di nuovo da zero? Oppure partirà da 10 e andrà direttamente alla parte else?
Grazie!!!!