Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 160

 

Non voglio fare un nuovo topic, non capisco come funziona l'EA, forse i miei anziani mi diranno qualcosa.

Ho diversi indicatori utilizzati nel mio Expert Advisor.

Ma nel log posso vedere che uno di loro è costantemente caricato da EA, poi scaricato. Non capisco questo comportamento.

Dice uninit reason 1, cosa significa? Altri indicatori non vengono scaricati perché

2017.03.21 12:12:25.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:09:06.551 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:09:06.551 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 12:07:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 12:07:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:04:12.957 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:04:12.957 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:43:29.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:43:29.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:38:04.097 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:38:04.097 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:36:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:36:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:30:11.582 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:30:11.582 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:06:17.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:06:17.316 MTF_WPR USDRUR,H4: uninit reason 1
 
harbor:

Non voglio fare un nuovo topic, è solo che non capisco come funziona l'EA, forse i miei anziani possono dirmi qualcosa.

Ho diversi indicatori utilizzati nel mio Expert Advisor.

Ma nel log posso vedere che uno di loro è costantemente caricato da EA, poi scaricato. Non capisco questo comportamento.

Dice uninit reason 1, cosa significa? Altri indicatori non vengono scaricati perché

Parametri dell'indicatore impostati erroneamente in iCustom()
 
Grazie, penso di sì.
 
Artyom Trishkin:

In questo thread voglio iniziare ad aiutare coloro che vogliono veramente capire e imparare la programmazione nel nuovo MQL4 e vogliono passare facilmente a MQL5 - i linguaggi sono molto simili.

Questo sarà un buon posto per discutere di compiti, algoritmi della loro soluzione e qualsiasi altra domanda, comunque, relativa alla programmazione MT.

Spero che altri membri esperti del nostro forum si uniscano a noi e che il thread sia di interesse per tutti.


Ciao


Ho una domanda del genere. Come scrivere un codice in MQL4m? Per esempio, devo sommare i prezzi e dividere per il numero di questi prezzi. Considerate questo: 1,05000+1,06000+1,07000+1,08000:4= 1,06500



Grazie mille!

 
isiklik:


Ciao

Ho una domanda. Come si scrive il codice in MQL4? Per esempio, devo sommare i prezzi e dividere per il numero di questi prezzi. Per esempio: 1,05000+1,06000+1,07000+1,08000:4= 1,06500.

Grazie mille!

double res=(1.05+1.06+1.07+1.08)/4.0;
 
Artyom Trishkin:

Grazie mille, Artyom!


Invecchiare non è una gioia! Ho dimenticato di dirvi la cosa più importante.

Diciamo che ho un numero N di trade aperti in MT4 in una direzione con prezzi diversi.

Come scrivere un codice, MT4 prenderebbe questi prezzi da un grafico, li aggiungerebbe, dividerebbe per il numero di trade aperti in una direzione. Poi aggiungi 200 pips.

Il prezzo ottenuto prescrive questi affari in TakeProfit.

Ora spero che sia tutto. :)


Grazie mille!

 
isiklik:

Grazie mille, Artyom!


Invecchiare non è una gioia! Ho dimenticato di dirvi la cosa più importante.

Diciamo che ho un numero N di trade aperti in MT4 in una direzione con prezzi diversi.

Come scrivere un codice, MT4 prenderebbe questi prezzi da un grafico, li aggiungerebbe, dividerebbe per il numero di trade aperti in una direzione. Poi aggiungi 200 pips.

Il prezzo ottenuto prescrive questi affari in TakeProfit.

Ora spero che sia tutto. :)


Grazie mille!

Devi calcolare il prezzo di pareggio, e aggiungere/sottrarre ad esso N-numero di pip. Cercalo, o vedi come calcolare il pareggio di bilancio
 
Vitaly Muzichenko:
È necessario calcolare il prezzo di pareggio e aggiungere o sottrarre un numero N di punti ad esso. Cercalo, o vedi come calcolare il pareggio di bilancio

Perché ho bisogno di raggiungere il pareggio? Ho bisogno di calcolare la quantità di ordini aperti per dare loro un totale Take.
 
Maxim Kuznetsov:

si può calcolare "tra quante barre ci sarà una croce" (solo geometria scolastica)

e la data da questo può essere solo approssimata, le barre si formano solo quando il mercato è aperto, cioè sono diverse per ogni strumento.

Semplificato, se si conosce il calendario in anticipo:

  • aggiunge 24 ore al giorno corrente, se risulta essere sabato/domenica lo si salta, se è un giorno festivo generale lo si salta, se è un giorno festivo lo si salta.
  • per W1 e superiori si deve tener conto che la barra settimanale inizia da sabato a domenica, M1 - come da calendario
  • Per un TF inferiore a un giorno, dovete anche prendere in considerazione l 'orario di apertura/chiusura del mercato e il programma del vostro DC
  • quando si cambiano le date (al mattino, ai primi zeri) bisogna rifare tutti i calcoli precedenti

che è così disordinato, che è un grande problema in MT :-)


Se avete una settimana, dovreste tenerne conto.

 
isiklik:

Grazie mille, Artyom!


Invecchiare non è una gioia! Ho dimenticato di dirvi la cosa più importante.

Diciamo che ho un numero N di trade aperti in MT4 in una direzione con prezzi diversi.

Come scrivere un codice, MT4 prenderebbe questi prezzi da un grafico, li aggiungerebbe, dividerebbe per il numero di trade aperti in una direzione. Poi aggiungi 200 pips.

Il prezzo ottenuto prescrive questi affari in TakeProfit.

Ora spero che sia tutto. :)


Grazie mille!

Si passa in rassegna tutte le posizioni aperte nel tuo conto e le si filtra per numero e tipo di magia.
Se si ottiene il tipo giusto di posizione, si aumenta di 1 la dimensione della matrice temporale e vi si inserisce il prezzo di apertura di questa posizione.
Quando il ciclo è completo, avrete un array con i prezzi di apertura di tutte le posizioni necessarie.
Nel ciclo, sommate tutti i valori della matrice e, alla fine del ciclo, dividete il valore risultante per la dimensione della matrice.
Questo è tutto - avete un prezzo calcolato. Ora aggiungete il numero richiesto di punti*Point().
E la prossima cosa interessante - se il prezzo risultante è inferiore al prezzo di apertura della posizione (Buy), non sarà un Take Profit, ma uno Stop Loss