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

 
Uh-huh, e dove arriviamo? Leggete attentamente la domanda. si tratta di calcolare il profitto, ad un certo punto, non quello attuale.
 
hedger:

Possibilmente.

Ma se la ragione è che la domanda riguarda MT5 e non MT4, allora sono stato guidato da questa lista:


Ci sta solo attirando a un cinquantone con le sue pubblicità... :-) Per saperne di più - Vedi Treugi in arrivo.
 
FAQ:
Uh-huh, e dove arriviamo? Leggete attentamente la domanda. si tratta di calcolare il profitto, ad un certo punto, non quello attuale.
Giusto. Scusa se non ho capito bene.
 

Sembra così... purtroppo, è problematico controllarlo sul tester (o sono così assonnato che non riesco a capire come), controlla?

double AcountProfitEx (double Price) {
   double PipsPrice = MarketInfo(Symbol(),MODE_TICKVALUE)/(MarketInfo(Symbol(),MODE_TICKSIZE)/MarketInfo(Symbol(),MODE_POINT));
   double ProfitSum = 0;
   for (int i = OrdersTotal(); i > 0; i--) {
      OrderSelect(i, SELECT_BY_POS);
      if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL)) {
         ProfitSum += (OrderOpenPrice()-Price)*PipsPrice*OrderLots();
      }
   }
   return (ProfitSum);
}
 

Buon pomeriggio.

Come faccio a controllare se un numero è un numero intero?

ad esempio come risultato della divisione di un numero per un altro

 
Stells:

Buon pomeriggio.

Come faccio a controllare se un numero è un numero intero?

Per esempio, il risultato della divisione di un numero per un altro?


bool CheckInt(double Value, double Delta){
   if (MathAbs(Value-MathRound(Value))<Delta) 
       return(true);
   return(false);
}

Puoi fare così

Delta - Errore di impostazione

 
if(MathMod(input,1.0)==0){
    // значит input целое
}
 
Vinin:

Voglio impegnare 2 trade nella cronologia ed eseguire un'azione sul terzo, posso farlo:

int Orders=HistoryTotal(); // ordini storici totali
int Kol_Orders=0; // numero di trade

for(int s=Orders-1;s>=0;s--)
{
if(OrderSelect(s,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("History error!");
break;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL || OrderMagicNumber()!=MAGIC)
continua;
Kol_Orders++;

}
bool CheckInt(double Value, double Delta){

Valore=Kol_Orders/2;

delta =0,001;
if (MathAbs(Value-MathRound(Value))<Delta)
return(true);
return(false);
}

 
FAQ:

Va bene?

int Orders=HistoryTotal(); // totale degli ordini della storia
int Kol_Orders=0; // numero di ordini

for(int s=Ordini-1;s>=0;s--)
{
if(OrderSelect(s,SELECT_BY_POS,MODE_HISTORY)==false)
{
Stampa("Errore della storia!");
pausa;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL || OrderMagicNumber()!=MAGIC)
continuare;
Kol_Orders++;

}

se(MathMod(Kol_Orders/2,1.0)==0){
// ingresso intero
}

 
Buon pomeriggio, Cari professionisti, vi prego di consigliarmi come testate i vostri EA? Usavamo lo script Patch di Birt e ottenevamo risultati al 99%, ma dalla prima data ha smesso di funzionare perché il terminale non supporta più le vecchie build... quindi non sono sicuro di cosa fare se mi fido dei risultati dei soliti test del terminale? Come se ne esce? O forse qualcuno può dare un'occhiata allo script e adattarlo all'ultima build?
File:
Motivazione: