Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 130

 
Nikolai Semko:
Usate il debugger per trovare i vostri errori?

No. Meno di 1 settimana di esperienza di programmazione. Ho preso un esempio di un semplice EA e ho provato ad aggiungervi SL, TP, TStop e TStep. Dice che non ci sono errori dopo la compilazione (vedi screenshot sopra) ma in realtà (nel tester) queste funzioni non funzionano.

Per favore, consigliatemi cosa devo fare. E come procedere.

 
Sergey_M_K:.

No. Meno di 1 settimana di esperienza di programmazione. Ho preso un esempio di un semplice EA e ho provato ad aggiungervi SL, TP, TStop e TStep. Dice che non ci sono errori dopo la compilazione (vedi screenshot sopra) ma in realtà (nel tester) queste funzioni non funzionano.

Per favore, consigliatemi cosa devo fare. E come procedere oltre.

Non voglio rubare da voi. Non voglio privarvi dell'esperienza molto utile di cercare i vostri stessi errori.

Gli errori sono una cosa inevitabile, anche nei professionisti.

È molto importante poterli trovare se si vuole continuare a programmare.

Il Metaeditor ha uno strumento indispensabile chiamato "Debugging".

Passa del tempo e padroneggia questo strumento, e non dovrai chiedere agli altri sui forum di cercare i tuoi errori.

Dovete passare attraverso il programma passo dopo passo, controllando le variabili richieste e quello che succede in esse.

Con l'aiuto di questo strumento è possibile non solo trovare i propri errori, ma anche capire le peculiarità di alcune funzioni.

Potete leggere le informazioni qui o vedere l'aiuto di MetaEditor.

Potete leggere questo articolo.

 
Sergey_M_K:

Ciao amici, aiutatemi a risolvere il seguente problema: sto cercando di scrivere un semplice Expert Advisor e mi sono trovato di fronte a quanto segue: se lo SL è impostato a un valore diverso da 0, allora le operazioni non vengono aperte affatto, così come le funzioni TP, TStop e TrailingStep non funzionano affatto.

Cosa devo correggere nel codice?

Per impostare i livelli di Stop Loss e Take Profit viene utilizzato il valore reale del prezzo. Mentre nel vostro codice questi valori non sono reali. Per esempio, se SL è uguale a 50 per EURUSD, otterremo il valore di 0,0005. Per un ordine di acquisto, lo Stop Loss è ancora corretto (anche se non è significativo), ma è un errore per un ordine di vendita, poiché dovrebbe essere superiore al prezzo aperto. Se il prezzo corrente di EURUSD è 1,25, il valore di Stop Loss dovrebbe essere sopra quel livello.

Inoltre, non dimenticate di controllare i valori ottenuti di Stop Loss e Take Profit per la vicinanza al mercato, confrontandoli con lo Stop Level.

 
Ciao, non riesco a trovare una funzione che restituisca un biglietto alla posizione più lontana dal mercato. Puoi per favore postarlo?
 
Kofa:
Ciao, non riesco a trovare una funzione che restituisca un biglietto della posizione più lontana dal mercato. Potresti postarlo per favore, chi ce l'ha?

Qui troverete molto.

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...
 
Vitaly Muzichenko:

Troverete moltoqui

Grazie, Vitaly, ma è dove (e non solo) stavo cercando. Purtroppo non ci sono tutte le funzioni di cui ho bisogno:

-restituisce ilbiglietto più lontano dalla posizione di mercato (per magia e direzione) o più presto

-Ritornoutile per il biglietto

-chiude laposizione nel biglietto

Puoi dirmi dove trovarne uno, se lo conosci

 
Buon tempo! Aiutatemi a capire, metto una linea di tendenza sul grafico, inserisco le proprietà, la descrizione, lo chiudo, c'è una linea di tendenza, nessuna descrizione, metto il cursore sulla linea, una descrizione è nella finestra Grazie
 
Kofa:

Grazie, Vitaly, ma è dove (e non solo) stavo cercando. Purtroppo mancano tutte le funzioni di cui ho bisogno:

-restituisce ilbiglietto più lontano dalla posizione di mercato (per magia e direzione) o più presto

-Ritornoutile per il biglietto

-chiude laposizione nel biglietto

Dimmi dove trovarlo, se lo sai.

C'è un biglietto per il più vicino. Come trovare il più lontano - penso che si possa indovinare. Se avete trovato il biglietto, potete lavorare con esso if(OrderSelect(ticket, SELECT_BY_TICKET)) { ... }

 
Ciao, sto facendo un EA su due condizioni! Quindi nella prima condizione, tutto dovrebbe funzionare su m15, e nell'altra su n4!!! Puoi dirmi come si può fare?
 
sviter-pro:
Ciao, sto facendo un Expert Advisor secondo due condizioni! Bene, la prima condizione dovrebbe funzionare su m15 e l'altra su n4!!! Puoi dirmi come si può fare?

Prendere i dati da diverse TF. Per esempio, il prezzo di apertura della barra corrente su diversi TF (i valori corrisponderanno solo ai primi 15 minuti della barra H4):

double fOpenM15 = iOpen(Symbol(), PERIOD_M15, 0);
double fOpenH4 = iOpen(Symbol(), PERIOD_H4, 0);

Il momento più difficile quando si lavora con diverse TF è la sincronizzazione dei dati. Perché la numerazione delle barre sui diversi TF è diversa.

Motivazione: