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

 
Alexey Viktorov:
Avete provato a normalizzare a 2 cifre?

E normalizzare cosa? Il prezzo attuale, e poi confrontare..... con cosa?

Non so di cosa stai parlando
.

 
Vyacheslav Kornev:

Ho un mac book. Non posso nemmeno copiare dal meta-editor

Decifra i valori e il tipo di variabili nel secondo caso.
 
Victor Nikolaev:

Decifra i valori e il tipo di variabili nel secondo caso.





 
mila.com:

Salve.

Si prega di aiutare a fissare il fatto che il prezzo corrente incrocia qualsiasi prezzo rotondo, non uno specifico come nell'esempio.

Per esempio:

o

static double prevBid=EMPTY_VALUE;

if (prevBid!=EMPTY_VALUE && prevBid<=levelPrice && Bid > levelPrice ) {

   /// цена пересекла уровень снизу вверх

}

prevBid=Bid;

 
mila.com:

Salve.

Si prega di aiutare a fissare il fatto che il prezzo corrente incrocia qualsiasi prezzo rotondo, non uno specifico come nell'esempio.

Per esempio:

o

//===============================================================================================
//---------------------------- Возвращает ближайший круглый уровень ----------------------------+
//===============================================================================================
double GetUniversalLevel(int ne=100, string symb="0") {
 if(symb=="0") symb=Symbol();
 static double LastBid;
 double _Level=0, PriceStep=0, bid=0, point=0;
 bid=SymbolInfoDouble(symb,SYMBOL_BID);
 point=SymbolInfoDouble(symb,SYMBOL_POINT);
  if(LastBid<point) LastBid=bid;
   PriceStep=ne*point;
   _Level=MathRound(bid/PriceStep)*PriceStep;
  LastBid=bid;
  return(_Level);
 }

Chiamare

//double R_Level = GetUniversalLevel(100, Symbol()); // круглые 100
double R_Level = GetUniversalLevel(50, Symbol()); // круглые 50
// дальше надеюсь разберётесь
Comment(R_Level );
 
Vyacheslav Kornev:






Proviamo a sostituire i valori nella formula

if (St==7)
  {
     double Pris_Lin=0;
     Lots0=(L(OP_SELL)+(Bid-0)/10*Lotsc;  
     // Для Евро 
     // Lots0=(L(OP_SELL)+(1.10890-0)/10*0.1;
     // Lots0=(L(OP_SELL)+0.0110890;
     
     .....................
     if (Op_Pr>=Bid)
        Lots0=L(OP_SELL);
     if (Lotsc>Lots0) Loys0=Lotsc;
  }

Se la dimensione del lotto viene arrotondata secondo i requisiti della DC, il lotto aumenterà di 0,01 o rimarrà invariato.

Ma non c'è arrotondamento, quindi c'è solo un errore - Invalid lot volume.

 
Victor Nikolaev:


Proviamo a sostituire i valori nella formula

Se la dimensione del lotto viene arrotondata secondo i requisiti del DoC, il lotto aumenterà di 0,01 o rimarrà lo stesso.

Ma non c'è arrotondamento, quindi c'è solo un errore - Invalid lot volume.


In realtà, Pris_lin è un prezzo, e non è mai uguale a zero
 
Vyacheslav Kornev:

In realtà Pris_lin è un prezzo e non è mai zero.

Guarda attentamente il codice che hai postato nella pagina precedente.
 
Victor Nikolaev:

Guarda attentamente il codice che hai postato nella pagina precedente.

Sì, lo vedo, è per questo che sto chiedendo aiuto.
 
Victor Nikolaev:

Guarda attentamente il codice che hai postato nella pagina precedente.

Ho bisogno di prendere il prezzo e poi modulo calcolare la differenza ed è tutto (Bid - Pris_lin)