
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
Oooh, grazie mille, con tante informazioni si possono fare tante cose...
Sto per partire per un viaggio di lavoro, quindi sto pensando di approfondire il materiale che mi è stato dato, ma la codifica... Potrei farlo anche su un foglio di carta, sarebbe un buon strumento di allenamento...
Saluti, Roman
Questa è una piccola frazione di ciò che dovete sapere, un granello di sabbia nel mare del codice del programma. Ma non basta sapere cosa usare, dove usarlo e quando usarlo!
Se si procede dal nome dell'argomento"Creazione di robot", allora è necessario avere una strategia di trading in pareggio (redditizia, o come volete chiamarla), e solo allora studiare il linguaggio di programmazione MQL5.
A proposito, il MetaEditor del terminale MT5 ha il Wizard MQL5, con l'aiuto del quale è possibile ottenere facilmente il codice dell'Expert Advisor già pronto utilizzando i moduli dei segnali di trading, che a loro volta sono stati creati sulla base di indicatori popolari, senza alcuna conoscenza del linguaggio di programmazione. Con l'aiuto di MQL5 Wizard, è possibile costruire rapidamente un Expert Advisor e testare la vostra strategia, se è basata solo su indicatori. Ecco il link all'articolo sulla costruzione di un robot di trading utilizzando MQL5 Wizard: https://www.mql5.com/ru/articles/171.
Sinceramente, Vladimir.
57 e un po'. E la risposta alla tua domanda sul modo è già nota, e cito:
"Roman Zhilin:No, non c'è un processo nel freelance, che puoi sviluppare da solo secondo le tue necessità. E l'unico da biasimare per i miei errori sarò io, non un programmatore terzo. Quindi, dovrete imparare, imparare, codificare, inciampare, migliorare le vostre strategie e imparare di nuovo".
Sinceramente, Vladimir.
Una buona selezione, grazie.
Mi ricorda il testamento di Lenin :) Ma è giusto, non è mai troppo tardi per imparare.
Per capire di che tipo di Expert Advisor avete bisogno, dovreste iniziare a lavorarci in primo luogo.
Aggiunti altri due pulsanti per chiudere una posizione
... continuo a non capire il significato della frase costante che inizia con la parola"Returns".
Chi ritorna, a chi ritorna, dove ritorna, perché ritorna? Non riesco ancora a capirlo...
Forse posso spiegare.
Supponiamo che tu abbia un simbolo (simbolo, ad esempio EUR/USD) che sta oscillando sullo schermo e un programma/advisor/robot è in esecuzione nel terminale. Il robot sta eseguendo il codice che avete inserito. E questo codice ha queste stringhe:
"orderSelect" è una funzione commerciale, seleziona un ordine già aperto per lavorare ulteriormente con esso.//In questo esempio, se la selezione dell'ordine fallisce (...==false), l'ulteriore esecuzione della funzione " if " è interrotta dal comando "break".
Il prossimo. Abbiamo selezionato l'ordine usando la funzione OrderSelect trade. Ora ci lavoriamo, con un ordine specifico. Per semplicità, prenderemo la condizione di avere solo due ordini aperti.
Poi, inseriamo una variabile OpenPrice [tipo doppio] e gli assegniamo il valore del prezzo al quale l'ordine che abbiamo selezionato è stato aperto (sezione di codice OpenPrice=OrderOpenPrice(); )
QUI c'è una spiegazione per voi su cosa significa il RETURN di un parametro. La funzione OrderOpenPrice restituisce il valore del prezzo corrente dello strumento. Cioè, dopo che il programma ha richiesto il prezzo corrente al server, vi ha restituito il valore di quel prezzo e ha assegnato quel valore a una variabile.
Aggiunto indicatore MACD
Aggiunto indicatore MACD
Le basi ci sono - ora dipende tutto da te
Potrei essere in grado di spiegare.
Diciamo che attualmente hai un simbolo (ad esempio EUR/USD) che fluttua sul tuo schermo e un programma/advisor/robot in esecuzione nel terminale. Il robot sta eseguendo il codice che avete inserito. E questo codice ha queste stringhe:
"orderSelect" è una funzione commerciale, seleziona un ordine già aperto per lavorare ulteriormente con esso.//In questo esempio, se la selezione dell'ordine fallisce (...==false), l'ulteriore esecuzione della funzione " if " è interrotta dal comando "break".
Il prossimo. Abbiamo selezionato l'ordine usando la funzione OrderSelect trade. Ora ci lavoriamo, con un ordine specifico. Per semplicità, prenderemo la condizione di avere solo due ordini aperti.
Poi, inseriamo una variabile OpenPrice [tipo doppio] e gli assegniamo il valore del prezzo al quale l'ordine che abbiamo selezionato è stato aperto (sezione di codice OpenPrice=OrderOpenPrice(); )
QUI c'è una spiegazione per voi su cosa significa il RETURN di un parametro. La funzione OrderOpenPrice restituisce il valore del prezzo corrente dello strumento. Cioè, dopo che il programma ha richiesto il prezzo corrente al server, vi ha restituito il valore di quel prezzo e lo ha assegnato a una variabile.
Grazie per il suo chiarimento. Spero che aiuterà anche Roman nell'apprendimento del linguaggio di programmazione.
Saluti, Vladimir.
Ciao! Beh, forse qualcuno può aiutare anche me...
Attualmente mi sto occupando dei meccanismi di apertura/chiusura degli ordini e mi sono imbattuto in un problema con la chiusura delle posizioni aperte.
Il codice è semplice. L'idea dell'algoritmo è di disegnare la MA (media mobile) con un periodo di 100 sul grafico. Se la candela precedente [1] si è aperta sopra la MA, e ha chiuso sotto la MA, allora la candela successiva [0] apre un ordine SELLper vendere.
//(Le condizioni di acquisto sono invertite, non le spiego)
Per la chiusura dell'ordine le seguenti condizioni - il prezzo corrente ha superato dal prezzo di apertura dell'ordine il valore impostato di punti, per esempio 40.
Esempio: un lotto è aperto a Bid= 1.20045, dovrebbe chiudere a Ask= 1.20005.
Il codice di apertura e chiusura è racchiuso in 2 funzioni corrispondenti che a loro volta sono chiamate con la funzione OnTick(). Infatti, ad ogni tick la condizione di chiusura dovrebbe essere controllata, ma in realtà il prezzo può scendere sotto il livello specificato (livello di chiusura) ma l'ordine non si chiude. Gli screenshot e il codice sono allegati.
Ciao! Beh, forse qualcuno può aiutare anche me...
Attualmente mi sto occupando dei meccanismi di apertura/chiusura degli ordini e mi sono imbattuto in un problema con la chiusura delle posizioni aperte.
Il codice è semplice. L'idea dell'algoritmo è di disegnare la MA (media mobile) con un periodo di 100 sul grafico. Se la candela precedente [1] si è aperta sopra la MA, e ha chiuso sotto la MA, allora la candela successiva [0] apre un ordine SELLper vendere.
//(Le condizioni di acquisto sono invertite, non le spiego)
Per la chiusura dell'ordine le seguenti condizioni - il prezzo corrente ha superato dal prezzo di apertura dell'ordine il valore impostato di punti, per esempio 40.
Esempio: un lotto è aperto a Bid= 1.20045, dovrebbe chiudere a Ask= 1.20005.
Il codice di apertura e chiusura è racchiuso in 2 funzioni corrispondenti che a loro volta sono chiamate con la funzione OnTick(). Infatti, ad ogni tick la condizione di chiusura dovrebbe essere controllata, ma in realtà il prezzo può scendere sotto il livello specificato (livello di chiusura) ma l'ordine non si chiude. Allego gli screenshot e il codice.
C'è un thread del forum su https://www.mql5.com/ru/forum/160683/page767#comment_10725713
Lì potresti ricevere aiuto più velocemente.
Sinceramente, Vladimir.