[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 335

 
Ho molta esperienza in questo campo... Ho problemi con questo, ma ho difficoltà a trovarlo... Se non riesco a capire come farlo funzionare, dovrò porre la mia domanda... Ci sto provando da molto tempo ma non riesco a fare niente.... se non sei duro, dimmi chi lo sa...
 

Ci sono sviluppatori qui, per favore commentate:


O dovreste chiederlo al DC?


void start()
  {
  double tickvalue = MarketInfo(Symbol(), MODE_TICKVALUE);

  for(int i = OrdersHistoryTotal()-1; i >= 0;i--)
    {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY )) continue;
    if(OrderSymbol()!=Symbol() || OrderType() >= 2) continue;
    if(OrderType() == 0)
      {
      Alert((OrderClosePrice() - OrderOpenPrice())/Point*tickvalue*OrderLots()," <-Buy history-> ",OrderProfit());
      }
    if(OrderType() == 1)
      {
      Alert((OrderOpenPrice() - OrderClosePrice())/Point*tickvalue*OrderLots()," <-Sell history-> ",OrderProfit());
      }
    }
  }
 
fore-x:

Ci sono sviluppatori qui, per favore commentate:


O dovreste chiedere alla vostra società di intermediazione?



Sull'arrotondamento in decimi di centesimi o in copechi (qual è l'importo del vostro deposito) anche gli scolari vi risponderanno.

 
P_I_R_A_T_E:
Potresti per favore dirmi quale codice incollare nel mio EA per fargli aprire 2 ordini di acquisto e vendita in una volta dopo una certa quantità di punti...
Non si può. Gli ordini di acquisto e di vendita hanno prezzi diversi, quindi non è possibile aprirli contemporaneamente a un prezzo, cioè aprirli a un prezzo. Infatti, un MT4 a thread singolo non può aprire ordini al mercato simultaneamente, anche con prezzi diversi.
 
Reshetov:
Non c'è modo. Gli ordini di acquisto e di vendita hanno prezzi diversi, quindi non saremo in grado di aprirli a un prezzo alla volta. Infatti, un MT4 a thread singolo non può aprire ordini dal mercato simultaneamente, anche con prezzi diversi.

Grazie per la risposta... e se apro ordini di stop pendenti? con una griglia sia in alto che in basso? con un lotto fisso è anche realistico? quando una coppia si apre, una nuova coppia si apre nello spazio vuoto prima di quella appena aperta?

 
Roll:


Anche gli scolari sanno dire come arrotondare un decimo di centesimo o un copeco (qualunque sia il vostro deposito).

Se fosse arrotondato, non lo chiederei. Guardate lo screenshot, non potete arrotondare alcuni valori, insomma, i risultati sono diversi. Ecco, arrotonda:


double profit;
bool norm = false;

void start()
  {
  double tickvalue = MarketInfo(Symbol(), MODE_TICKVALUE);

  for(int i = OrdersHistoryTotal()-1; i >= 0;i--)
    {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY )) continue;
    if(OrderSymbol()!=Symbol() || OrderType() >= 2) continue;
    if(OrderType() == 0)
      {
      profit = (Normalize(1, norm) - Normalize(2, norm))/Point*tickvalue*Normalize(3, norm);
      Alert(Normalize(4, norm)," <-Buy history-> ",OrderProfit());
      }
    if(OrderType() == 1)
      {
      profit = (Normalize(2, norm) - Normalize(1, norm))/Point*tickvalue*Normalize(3, norm);
      Alert(Normalize(4, norm)," <-Sell history-> ",OrderProfit());
      }
    }
  }
  
double Normalize(int x, bool z)
  {
  if(z == true)
    {
    if(x == 1) return(NormalizeDouble(OrderClosePrice(),Digits));
    if(x == 2) return(NormalizeDouble(OrderOpenPrice() ,Digits));
    if(x == 3) return(NormalizeDouble(OrderLots() ,2));
    if(x == 4) return(NormalizeDouble(profit ,2));
    }
  
  if(z == false)
    {
    if(x == 1) return(OrderClosePrice());
    if(x == 2) return(OrderOpenPrice());
    if(x == 3) return(OrderLots());
    if(x == 4) return(profit);
    }
  
  }

 
fore-x:

Ci sono sviluppatori qui, per favore commentate:


O dovreste chiederlo al DC?


Alert e Comment arrotondano i numeri quando vengono visualizzati, anche se in realtà sono più precisi.
 
BeerGod:
Alert e Comment arrotondano i numeri quando vengono visualizzati, anche se in realtà sono più precisi.
Arrotondano solo se il numero non entra, sono permesse quattro cifre decimali, e io ne ho solo tre al massimo!
 
Cosa stai gridando?
 
fore-x:

Ci sono sviluppatori qui, per favore commentate:


O dovreste chiederlo al DC?



Allora qual è il problema? I cinque e oltre non sono arrotondati per eccesso? Questo ti confonde, o è qualcos'altro?
Motivazione: