Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 391

 
smetantn1980:
Ciao, puoi dirmi perché i miei pulsanti di debug in metaeditore non sono attivi????source è stato inserito
Dove viene salvato? Affinché il debug sia possibile, il codice deve essere salvato nella directory dei dati, non da qualche parte nel temp.
 
Vitalie Postolache:
Molto probabilmente, le funzioni menzionate sono funzioni personalizzate e ME non ha bisogno di conoscerle. Sta a voi dichiararli e chiamarli correttamente.
Le funzioni non sono definite dall'utente. Rispondere, se non ti dispiace, alla domanda su quale linguaggio scrivere software nel terminale di mt4?
 
Kira27:
Le funzioni non sono definite dall'utente. Rispondere, se non vi dispiace, alla domanda in che lingua scrivere il software nel terminale di mt4?
Ora gli sviluppatori stanno cercando di ridurre al minimo le differenze tra i terminali. Tuttavia, ci sono alcune differenze, e alcune funzioni in MQL5 potrebbero non funzionare correttamente in MQL4. Il "soft" per il terminale MT4 deve essere scritto in MQL4 e solo in MQL4. Sembra semplicemente molto simile a MQL5 ora. Fate riferimento all'aiuto per la lingua.
 

Vitalie Postolache:
А где он сохранён? Чтобы отладка была возможна, код должен быть сохранён в каталоге данных, а не где-то в темпе.

l'advisor si trova nella cartella del programma come al solito nella cartella Expert ed è sul grafico

 
Kira27:
Queste funzioni non sono definite dall'utente. Se non vi dispiace, quale linguaggio si dovrebbe usare per scrivere un soft nel terminale di mt4?

Sì, non personalizzato, queste sono funzioni di MQL5. Per MQL4 dovrete trovarne altri, o scriverne di simili, ma personalizzati.

Per esempio, OrderGetTicket() MQL5 -> OrdetTicket() MQL4.

 
Grazie mille, non ho aperto questo EA dal terminale quindi il debug non era attivo
 
consigliare come impostare l'EA per mostrare il volume totale in lotti sullo schermo per vendere e comprare
 

Ciao a tutti!

Alcune domande da un nuovo arrivato.

1. La differenza tra Mql4 e Mql5 (sito web e linguaggio di programmazione stesso). C'è Metatrade 4 e Metatrader 5 con Mql4 e Mql5 incorporati rispettivamente. Ci sono anche due diversi siti web corrispondenti. Allo stesso tempo, tutti gli Expert Advisors che ho guardato in MT4 portano a quel sito. Quale è più rilevante? Quale forum è più "vivace"? Dov'è il posto migliore per postare domande? Esiste una retrocompatibilità tra diverse versioni di MT e Mql? Personalmente sto scrivendo il mio Expert Advisor MT4 rispettivamente su Mql4. Questo è dovuto al fatto che il broker che sto usando per testare la demo utilizza MT4. Come posso identificare la lingua in cui è scritto il mio Expert Advisor? Intendo solo per estensione (.mq4 e .mq5). Se rinomino un file, verrà compilato (di nuovo, riguardo alla compatibilità)?

2. Parametri esterni dinamici di Expert Advisor. È possibile cambiare dinamicamente i parametri regolabili di un Expert Advisor? Lasciatemi spiegare... Per esempio, c'è un parametro esterno extern bool a. Se è vero, deve essere impostato un parametro aggiuntivo extern int b. Se a=falso, il parametro b non è necessario. C'è un modo per visualizzarlo/non visualizzarlo a seconda del valore corrente di un selezionato? Tenendo conto del fatto che non ho potuto trovare alcun gestore di cambio di parametro esterno e non c'è nessun #if ... #endif, ho il sospetto che non si possa fare... Se è così, ma potresti suggerire il modo migliore di procedere in questa situazione, per non sovraccaricare il processo di impostazione dei parametri esterni? Per esempio, potrei mettere a=falso, dimenticare che il parametro b non è usato, ma includerlo comunque nell'ottimizzazione (anche se non avrebbe senso, perderebbe solo del tempo in più). E una cosa è quando c'è un solo parametro b. Ma se, per esempio, faccio un parametro esterno enum e ci sono diverse varianti a discesa di TC. Hanno una parte comune (quindi è logico implementarli in un solo EA, piuttosto che scriverne diversi), ma ce ne sono anche diversi con molti parametri diversi. Allora è molto facile confondere quali parametri sono rilevanti per il TS selezionato.

Ottimizzazione automatica di Expert Advisor. IMHO, è molto utile e utile. Ho trovato questo articolo. Tuttavia, per quanto ho capito, viene utilizzata la seconda istanza di MT che viene eseguita per l'ottimizzazione dall'esterno (da un'istanza di MT in esecuzione) e i risultati dell'ottimizzazione vengono letti dal report sotto forma di html. Questo non è molto conveniente e non è corretto. Logicamente dovrei scrivere la mia funzione/dll di ottimizzazione ed eseguirla direttamente da Expert Advisor. Quindi ecco la domanda. Per quanto ho capito, un algoritmo di ottimizzazione genetica è stato programmato nel tester di strategie. Conosco questi algoritmi molto brevemente. Ma sono noti da molto tempo, da qui la domanda - perché reinventare la ruota?) C'è un algoritmo già pronto che viene usato direttamente in MT? Forse esiste già da qualche parte nelle librerie del terminale stesso... Forse c'è un codice sorgente separato o una dll pronta. In generale, vi prego di condividere le vostre esperienze in materia.

Questo è tutto per ora...) Spero di non aver messo troppa enfasi sulla quantità di parole).

Grazie in anticipo per le risposte!

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
smetantn1980:
Come posso scrivere nel mio EA in modo che il volume totale in lotti per vendere e comprare sia visualizzato sullo schermo?
Se ottieni il numero totale di ordini nel terminale, passa attraverso tutti gli ordini (penso che questa sia una domanda su mql4) e seleziona quelli che soddisfano le condizioni (simbolo, magik e tipo) e sommali in variabili per comprare e vendere. Poi si creano due oggetti OBJ_LABEL (credo di sì). Imposta la loro posizione, il colore e altre proprietà (vedi documentazione). Cambia la descrizione di questi oggetti con i valori ricevuti nelle variabili di vendita e di acquisto. Questo è tutto.
 
smetantn1980:
Per favore, consigliate come scriverlo in modo che il volume totale in lotti per comprare e vendere sia visualizzato sullo schermo

Non sono sicuro esattamente, dato che io stesso sono ancora un principiante. Ma sembra che ci sia un comando Comment, che visualizza qualsiasi informazione nell'angolo superiore sinistro del grafico EA. Il volume dei lotti può essere calcolato nel ciclo in questo modo:

int totalOrders = OrdersTotal();

double totalLots = 0; 

for(int i=0; i<totalOrders; i++)

    if ( (OrderSelect(i, SELECT_BY_POS)) && (OrderMagicNumber() == myMagicNumber) )

        totalLots += OrderLots();

Comment("totalLots=", totalLots); 

Questo è un codice comune a tutti i mestieri. Per comprare e vendere, si creano variabili separate e si fa uno switch usando OrderType()