Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 700

 
Vitalie Postolache:
Urgente a real!!!!!!!!!!!!!
non così urgente, una copia a me prima)
 
Treder9:
Mi piacerebbe averne uno vero per 50 dollari.

Si può ottenere un buon rialzo da una sterlina come quella.

# Ma nessuno può farlo #

Rispondo!
 
Taras Slobodyanik:

È necessario aggiungere un parametro

request.type_time=ORDER_TIME_DAY;


Grazie, vorrei solo capire come aggiungere...

 

Non riesco a capire come esprimere High[] in cinque?

double High[]
double High[];
int count;        // сколько копируем
ArraySetAsSeries(High,true);
CopyHigh(_Symbol,_Period,0,count,High);
 
-Aleks-:

Non riesco a capire come esprimere High[] in 5???

Lo esprimo in questo modo, forse non è scritto correttamente, ma funziona:

double iOpen(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Open[];
  double open=0;
   ArraySetAsSeries(_Open,true);
   int copied=CopyOpen(symb,tf,0,Bars(symb,tf),_Open);
   if(copied>0 && index<copied) open=_Open[index];
   return(open);
}
double iClose(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Close[];
  double close=0;
   ArraySetAsSeries(_Close,true);
   int copied=CopyClose(symb,tf,0,Bars(symb,tf),_Close);
   if(copied>0 && index<copied) close=_Close[index];
   return(close);
}
double iHigh(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _High[];
  double high=0;
   ArraySetAsSeries(_High,true);
   int copied=CopyHigh(symb,tf,0,Bars(symb,tf),_High);
   if(copied>0 && index<copied) high=_High[index];
   return(high);
}
double iLow(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Low[];
  double low=0;
   ArraySetAsSeries(_Low,true);
   int copied=CopyLow(symb,tf,0,Bars(symb,tf),_Low);
   if(copied>0 && index<copied) low=_Low[index];
   return(low);
}
 
-Aleks-:

Non riesco a capire come esprimere High[] in 5???

MqlRates tassi[];
int copied=CopyRates(NULL,0,0,100,rates);


poi, dove necessario, chiamare: rates[x].high.
 
Vitaly Muzichenko:

Lo esprimo in questo modo, forse non è scritto correttamente, ma funziona:

E l'ho fatto - ma perché rovinare tutto in cinque....

Vitalie Postolache:

MqlRates tassi[];
int copied=CopyRates(NULL,0,0,100,rates);


poi, se necessario, chiamare: rates[x].high.

E, di regola, la gente copia tutti i valori? Qual è il vantaggio di questa copia? Consuma meno memoria che in 4?

Caduto in un torpore da

Va notato che in MQL5 i valori numerici delle costanti dei periodi del grafico (a partire da H1) non coincidono con il numero di minuti in una barra (per esempio, in MQL5 il valore numerico di PERIOD_H1=16385, mentre in MQL4 PERIOD_H1=60). Questa circostanza deve essere presa in considerazione quando si passa a MQL5, se nel programma in MQL4 sono stati utilizzati valori numerici per i calcoli.

Per conoscere il numero di minuti di un determinato periodo di un grafico, dividete il valore della funzione PeriodSeconds per 60.

Da dove viene il numero 16385 - dov'è la logica?

 
Vitalie Postolache:

MqlRates tassi[];
int copied=CopyRates(NULL,0,0,100,rates);


poi dove necessario chiamare: rates[x].high.

OK, tu hai una soluzione per il carattere corrente, io ho un recupero di più simboli.

Domanda: la mia scrittura è corretta o c'è un bug nel codice?

-Aleks-:

Sono confuso da

Va notato che in MQL5 i valori numerici delle costanti dei periodi del grafico (a partire da H1) non coincidono con il numero di minuti in una barra (per esempio, in MQL5 il valore numerico di PERIOD_H1=16385, mentre in MQL4 PERIOD_H1=60). Questa circostanza deve essere presa in considerazione quando si passa a MQL5, se nel programma in MQL4 sono stati utilizzati valori numerici per i calcoli.

Per conoscere il numero di minuti di un determinato periodo di un grafico, dividete il valore della funzione PeriodSeconds per 60.

Da dove viene il numero 16385 - dov'è la logica?

Deve studiare la fisica quantistica, deve essere da lì che viene il valore
 
-Aleks-:

Lo pensavo anch'io - ma perché rovinare tutto in modo così grave in cinque....

E cos'è che la gente tende a copiare tutti i valori? Qual è il vantaggio di questa copia? Consuma meno memoria che in 4?

Perché tutti? Informazioni complete per 100 barre, alla volta (naturalmente, è possibile specificare meno o più barre). Utile quando si ha bisogno di più di un semplice High.

Ma può essere scaricato separatamente, come ha mostratoVitaly Muzichenko.

Vitaly Muzichenko:

Ok, tu hai la soluzione per il simbolo corrente, io ho una capacità multisimbolo.

Domanda: è corretto o c'è un bug nel mio codice?

È facile "trasformare" questa soluzione in una soluzione multisimbolo, semplicemente specificando un carattere al posto di NULL. Bene, e TF, se necessario, proprio come nei vostri esempi.

Per quanto riguarda la correttezza del codice, quindi ci sono esempi nell'aiuto( guardaCopyHigh ), solo array a livello globale lì.

 
-Aleks-:

Cade in disordine .........

C'è questo.

All'inizio è un po' pungente. Tuttavia, la riscrittura da MT4 non è un problema.

Non so gli altri, ma 4-Rka pensa più velocemente.

E ciò che è stato fatto su 4-Rka va nel mercato senza alcun problema, mentre riscritto da MT4 a MT5 a volte non passa solo perché il mercato non ha il tempo di testare un prodotto identico nel tempo assegnato.