Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 581

 
barudkinarseniy:
Ciao signori del forum!!! Ho un problema. Ho testato l'Expert Advisor nei giorni feriali e ha ottenuto un risultato, ma nel fine settimana mi dà un risultato completamente diverso! Puoi dirmi per favore perché?
Penso che sia perché lo spread si allarga nei fine settimana
 
Sergey Gritsay:
perché nel fine settimana allargano lo spread
e il livello di margine diminuisce, cioè quando il mercato chiude o prima o dipende dal broker?
 
Karputov Vladimir:

Ecco il pannello di dialogo con il controllo CEdit (per chiarezza, l'esempio è fatto come un singolo file) - il pannello controlla i caratteri inseriti. Solo i numeri sono ammessi:

Grazie per il codice. Ma ecco un'altra domanda. Ho compilato il codice in MT5. Si scopre che è ancora possibile inserire lettere nell'unità, ma se si inseriscono lettere, dice "Only digits are allowed" alla fine del codice nell'unità. Ma come rendere impossibile l'inserimento di lettere nell'unità?
 
Andrey Zuev:
Grazie per il codice. Ma un'altra domanda è questa. Ho compilato il codice in mt5. Si scopre che si possono ancora inserire lettere in modifica, ma se si inseriscono lettere, quando si finisce di inserirle, si dice "Only numbers are allowed" in modifica. Ma come rendere impossibile l'inserimento di lettere in udite?
Non si può. Il controllo basato sulla classe CEdit gestisce solo ON_END_EDIT- (6) // fine dell'evento di editing - cioè l'evento di completamento dell'input.
 

Colleghi, cercando di prendere un segnale da questa linea:

se((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Segnale di acquisto

Ma il compilatore si lamenta che "Point - undeclared identifier".

Questo è MT5.

Non è una variabile predefinita?

 
Andrey Koldorkin:

Colleghi, cercando di prendere un segnale da questa linea:

se((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Segnale di acquisto

Ma il compilatore si lamenta che "Point - undeclared identifier".

Questo è MT5.

Non è una variabile predefinita?

No. Usare _Point.
 
Andrey Koldorkin:

Colleghi, cercando di prendere un segnale da questa linea:

se((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Segnale di acquisto

Ma il compilatore si lamenta che "Point - undeclared identifier".

Questo è MT5.

Non è una variabile predefinita?

Dovete usarePoint().

 

Grazie.

Un'altra domanda. Voglio prendere il valore della curva sull'attuale e sull'ultima candela chiusa, così come sull'ultima candela chiusa e sulla penultima chiusa.

Devo usare un array qui?

Ho una mashka che ha 3 parametri di input. Sto cercando di costruirci un indirizzo:

//----------------------

double P0, P1, P2; // valore dell'indicatore alla candela corrente, ultima candela chiusa

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Il prezzo indicatore sulla candela corrente

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Il prezzo dell'indicatore sull'ultima candela chiusa

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Il prezzo dell'indicatore sulla penultima candela chiusa

//----------------------

Le tre linee inferiori sono le stesse, l'ho scritto così perché non capisco come leggere il valore della candela precedente. Prende correttamente quello attuale e lo emette correttamente usando Alert.

Forse dovremmo definire in qualche modo un ciclo, dove il valore attuale sarà scritto e ad ogni nuova candela viene spostato indietro, diventando prima l'ultima chiusa, e poi la penultima candela chiusa.

Come farlo in modo intelligente? ))

 
Andrey Koldorkin:

Colleghi, cercando di prendere un segnale da questa linea:

se((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Segnale di acquisto

Ma il compilatore si lamenta che "Point - undeclared identifier".

Questo è MT5.

Non è una variabile predefinita?

E poi scrivi questo:

Andrey Koldorkin:

Grazie.

Un'altra domanda. Voglio prendere il valore della curva sull'attuale e sull'ultima candela chiusa, così come sull'ultima candela chiusa e sulla penultima chiusa.

Devo usare un array qui?

Ho una mashka che ha 3 parametri di input. Sto cercando di costruirci un indirizzo:

//----------------------

double P0, P1, P2; // valore dell'indicatore alla candela corrente, ultima candela chiusa

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Il prezzo indicatore sulla candela corrente

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Il prezzo dell'indicatore sull'ultima candela chiusa

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Il prezzo dell'indicatore sulla penultima candela chiusa

//----------------------

Le tre linee inferiori sono le stesse, l'ho scritto così perché non capisco come leggere il valore della candela precedente. Prende correttamente quello attuale e lo emette correttamente usando Alert.

Forse dovremmo definire in qualche modo un ciclo, dove il valore attuale viene scritto e ad ogni nuova candela viene spostato indietro, diventando prima l'ultima chiusa, e poi la penultima candela chiusa.

Come farlo in modo intelligente? ))

Quindi, ancora: scrivi in MT5 o in MT4?

Aggiunto:inserire correttamente il codice nel forum

 
Karputov Vladimir:

e poi scrivi questo:

Quindi, ancora: stai scrivendo in MT5 o MT4?

Aggiunto:inserire correttamente il codice nel forum

MT5. Non giudicare duramente, sono solo all'inizio.

Il compilatore non sembra giurare.