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

 
Non è ora di unire tutti i thread di aiuto di MT4 in uno solo?
 
Renat Akhtyamov:
Non è il momento di unire tutti i thread su MT4 in uno solo?

Ogni autore ha il suo ramo. È solo che un autore lo gestisce e l'altro non lo fa e non lo farà. È solo un posto per chi vuole aiutare. Perché dovrei voler spingere il mio ramo in un ramo di un autore che non ha intenzione di aiutarmi con mql4?

 
Artyom Trishkin:
e lo penso anch'io.
 

Salve.

Dove posso trovare la descrizione della lingua per MT4?

 
DVlad:

Salve.

Dove posso trovare la descrizione della lingua per MT4?

In MetaEditor su F1. O qui, stessa cosa, ma online. Puoi anche cercare su Google libri su C++.
Справочник MQL4
Справочник MQL4
  • docs.mql4.com
Справочник MQL4
 

Salve.

Aiutami a trovare il prezzo dell'ultimo ordine.

Questa funzione trova il prezzo dell'ordine più vecchio e ho bisogno di quello più giovane.

Cosa cambiare?


double GetOrderOpenPrice(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=0;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()>1 && OrderType()<6) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
 
Marina Korotkih:

Salve.

Aiutami a trovare il prezzo dell'ultimo ordine.

Questa funzione trova il prezzo dell'ordine più vecchio e ho bisogno di quello più giovane.

Cosa cambiare?


double GetOrderOpenPrice(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=0;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()>1 && OrderType()<6) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
Beh, questa è l'ultima, cioè la più recente
 
Marina Korotkih:

Salve.

Aiutami a trovare il prezzo dell'ultimo ordine.

Questa funzione trova il prezzo dell'ordine più vecchio e ho bisogno di quello più giovane.

Cosa cambiare?


double GetOrderOpenPrice(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=0;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()>1 && OrderType()<6) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
È così che determina il prezzo dell'ultimo ordine.
 
Alekseu Fedotov:
È così che determina il prezzo dell'ultimo ordine.
Vitaly Muzichenko:
Beh, è il più recente, cioè il più recente

No, la funzione restituisce il prezzo di sellstop 1.07057 e ho bisogno del prezzo del quattordicesimo ordine sellstop 1.06637


prezzo
 
Marina Korotkih:

No, la funzione restituisce il prezzo di sellstop 1.07057 e ho bisogno del prezzo del quattordicesimo ordine sellstop 1.06637

double GetOrderOpenPrice(string sy="", int op=-1, int mn=-1) {
 double r=-1;
 if (sy=="0") sy=Symbol();
  for (int i=0; i<OrdersTotal(); i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()>1 && OrderType()<6) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (r>OrderOpenPrice() || r==-1) {
                r=OrderOpenPrice();
  }}}}}}}
  return(r);
}
Motivazione: