Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 189
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 che modo Metatrader 5 è diverso dal precedente 4 è più difficile da lavorare o no. Ogni broker offre questi programmi, perché non c'è un programma per tutti i broker in modo da non doverne installare molti.
Sto cercando di fare una funzione che restituisca il risultato dell'ultima posizione chiusa (più o meno). Questa funzione è progettata per un Expert Advisor multicurrency e dovrebbe selezionare l'ultima posizione chiusa tra tutte le coppie di valute, e sto avendo alcuni problemi con essa. Puoi correggere la funzione?
OBJ_ALL_PERIODS=2097151
Cosa intendi con: metodi inutilizzati nelle tue classi? Questa non è la pratica in OOP. Un normale programmatore OOP, in contrasto con la programmazione algoritmica, crea classi con tutti i campi e i metodi necessari, come si dice, per tutte le occasioni, perché la stessa classe può essere utilizzata in seguito in altre applicazioni o diventare parte della libreria di classi. Per non parlare del fatto che anche all'interno di un progetto è meglio creare classi complete, non spogliate, in modo da non dover cercare nel codice sorgente e aggiungere successivamente i campi e i metodi necessari.
In OOP qualsiasi economia, a cui molte persone si abituano nella programmazione algoritmica, può rivelarsi dannosa in seguito. Tutto ciò che non viene utilizzato deve essere escluso dal codice dal compilatore e non dal programmatore.
Naturalmente, OOP si traduce in un codice sorgente più grande rispetto alla programmazione algoritmica. Ma questo non è uno svantaggio ma un vantaggio perché molto del codice "inutile" in un dato progetto può essere riutilizzato in altri progetti.
Non c'è bisogno di cercare di fare un enigma, cioè tutto in una classe. Dovete creare librerie di classi, cioè rompere la funzionalità in classi separate e non dimenticate di aggiungere commenti a questo feudo, e poi tutto sarà in ordine. Inizialmente, quando ho iniziato a imparare Java dopo Pascal, anch'io ho cercato di fare tutto in un unico pezzo, cioè invece di usare OOP, ho creato una classe con tutto ciò di cui avevo bisogno per un certo compito, proprio come nella programmazione algoritmica. Il risultato era un pasticcio non universale che era impossibile da applicare ovunque in seguito, per non parlare della difficoltà di capire tale codice.Capisco tutto questo molto bene. Ma possiamo almeno mostrarvi le variabili private che non saranno utilizzate come si fa in VisualStudio?
Il punto è che le classi sono progettate durante il processo di sviluppo. Non si può semplicemente tenere conto di tutto ciò che c'era prima della creazione. Ecco perché vengono create classi di frame con il minor numero possibile di funzionalità. Mentre si interagisce con queste classi del framework, l'architettura generale comincia ad essere elaborata. Alcuni metodi vengono semplicemente cancellati, altri vengono spostati nella sezione privata e altri ancora vengono migrati da una classe all'altra. Nel processo, appaiono inevitabilmente variabili, metodi e persino intere classi dimenticate. Questo è normale perché è qualcosa di simile al principio di Okama in azione - prima scriviamo codice cattivo e ridondante. Poi formalizziamo il compito in modo più chiaro e alcune entità semplicemente scompaiono. La ridondanza non porta a nulla. Ed è in questo processo che l'aiuto del compilatore sarebbe molto utile - vedere le variabili inutilizzate e almeno i metodi privati sarebbe molto utile.
Salve.
Ho capito che la funzioneOnCalculate() che è usata negli indicatori si genera da sola, cioè senza l'evento di cambiamento del prezzo ,
Quale funzione può essere applicata nell'indicatore che genera solo quando si verifica un evento di cambiamento di prezzo? Grazie
Salve.
Ho capito che la funzioneOnCalculate() che viene utilizzata negli indicatori si genera da sola, cioè senza l'evento di cambiamento del prezzo ,
Quale funzione può essere applicata nell'indicatore che genera solo quando si verifica un evento di cambiamento di prezzo? Grazie
L'eventoCalculate viene generato per gli indicatori immediatamente dopo l'evento Init e ad ogni cambiamento dei dati di prezzo. È gestito dalla funzioneOnCalculate. Quando la storia viene cambiata (quando la storia è impaginata) questo evento genera ancheOnCalculate.
OnCalculate è la funzione più importante per l'indicatore, in cui vengono eseguiti tutti i calcoli dell'indicatore in caso di cambiamenti dei dati di prezzo.
L'eventoCalculate viene generato solo per gli indicatori immediatamente dopo l'invio dell'evento Init e su qualsiasi cambiamento nei dati di prezzo. Questo evento è gestito dalla funzioneOnCalculate. Lo stessoOnCalculate viene generato quando la storia viene cambiata (quando la storia è paginata).
OnCalculate è la funzione più importante per l'indicatore, in cui vengono eseguiti tutti i calcoli dell'indicatore in caso di cambiamenti dei dati di prezzo.
Qui ha un po' di looping, cioè genera sempre e quando il periodo cambia, le letture cambiano. Qual è l'errore?
#property copyright "Copyright 2014, MetaQuotes Software Corp.ArraySetAsSeries(high_nachalo,true);
shift_nachalo=ArrayMaximum(high_nachalo,barUP-1,barDown-(barUP-1));È qui che avviene il loop, cioè genera costantemente e quando il periodo cambia, le letture cambiano. Qual è l'errore?
Come inserire correttamente il codice nel forum.
Notate l'errore:
Utilizzare: