Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1021

 
Vladimir Karputov:

Non stavo minacciando nessuno. Tu stai sognando.

Inoltre avete confuso MQL5 e MQL4. I codici MQL5 sono file con estensione .mq5.

Non ho minacciato nessuno, ma ho fatto un'osservazione, è un giro di parole umoristico :-)

Stavo citando il codice 5 qui, forse mi avete scambiato per qualcun altro.

 
psyman:

Non intendo minacciare, ma rimproverare, è un giro di parole umoristico :-)

Stavo citando il codice 5 qui, forse mi hai confuso con qualcun altro.

Due passi:

confronta i numeri 4 e 5. Trova la differenza.

Scorri i tuoi post e guarda il numero.


E in generale questo thread riguarda MQL5, smettila di farneticare di essere qui.

 

Amici, potete aiutarmi con una funzione che selezioni i caratteri delle posizioni aperte e li salvi in un array. Non mi sembra di avere problemi, ma non riesco a sbarazzarmi dei duplicati se ci sono diverse posizioni aperte.

 
Alexander Mikryukov:

Amici, potete aiutarmi con una funzione che selezioni i caratteri delle posizioni aperte e li salvi in un array. Non mi sembra di avere problemi, ma non riesco a sbarazzarmi dei duplicati quando ci sono più posizioni aperte.

Ecco, riscrivilo per mql5

  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
    if(OrderType()<2) {
     if(ArraySearchStr(symbols, OrderSymbol())==-1) {
      b++;
       ArrayResize(symbols,b+1);
       symbols[b]=OrderSymbol();
  }}}}

//===============================================================================================
//------------------------------ Функция удаляет копии с массива -------------------------------+
//===============================================================================================
int ArraySearchStr(string& m[], string e) {
  for(int i=0; i<ArraySize(m); i++) {
   if(m[i]==e) return(i);
  }
  return(-1);
 }
 
Vitaly Muzichenko:

Qui, per mql5, riscrivilo tu stesso

Grazie.

[Eliminato]  

Aiutami a capire qualcosa che non capisco.

      for(int p = 0; p < InpShiftCorrection; p++) prs += pressureDetermination(open[i],close[i],high[i],low[i]);
      prs /= InpShiftCorrection;
      prs *= (high[i] - low[i]);
      Print(NormalizeDouble(prs,Digits()));

La domanda è: perché la stampante di normalizzazione produce queste sciocchezze?

2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00025
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00012
2019.03.29 22:53:29.310 2019.01.02 06:01:21   8.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   5 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -4 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00017
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -8.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00052
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00029
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00114
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00123
 
Сергей Таболин:

Aiutami a capire qualcosa che non capisco.

La domanda è: perché la stampante di normalizzazione produce queste sciocchezze?

Print(NormalizeDouble(prs,Digits()));
Print(DoubleToString(prs,Digits()));
[Eliminato]  
Vitaly Muzichenko:

Farò un tentativo. Grazie. Ma fino ad ora, questa stessa stampante ha prodotto valori eccezionalmente corretti...

 
Сергей Таболин:

Farò un tentativo. Grazie. Ma fino ad ora, questa stessa stampa ha dato valori esclusivamente corretti...

Ti ha lusingato)

[Eliminato]  
Vitaly Muzichenko:

Ti stava lusingando))

A quanto pare è così )))) Ha funzionato.