[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 168

 
hedger:

Posiblemente.

Pero si la razón es que la pregunta es sobre MT5 y no sobre MT4, entonces me guié por esta lista:


Sólo nos está atrayendo a un billete de cinco dólares con sus anuncios... :-) Para más información, véase Treugi.
 
FAQ:
Ajá, ¿y a dónde vamos a parar? lee bien la pregunta. se trata de calcular el beneficio, en un momento determinado, no el actual.
Sí. Lo siento, no lo entendí bien.
 

Parece que sí... por desgracia, es problemático comprobarlo en el probador (o tengo tanto sueño que no se me ocurre cómo), ¿comprobar?

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);
}
 

Buenas tardes.

¿Cómo puedo comprobar si un número es un número entero?

por ejemplo, como resultado de la división de un número por otro

 
Stells:

Buenas tardes.

¿Cómo puedo comprobar si un número es un número entero?

Por ejemplo, ¿el resultado de dividir de un número por otro?


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

Puedes ir así

Delta - Error de ajuste

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

Quiero comprometer 2 operaciones en el historial y realizar una acción en la tercera, ¿se puede hacer esto :

int Orders=HistoryTotal(); // total de órdenes del historial
int Kol_Orders=0; // número de operaciones

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

}
bool CheckInt(double Value, double Delta){

Valor=Kol_Orders/2;

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

 
FAQ:

¿Está bien?

int Pedidos=TotalHistórico(); // total de pedidos del historial
int Kol_Orders=0; // número de pedidos

for(int s=Orders-1;s>=0;s--)
{
if(OrderSelect(s,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("¡Error de historia!");
romper;
}
if(OrderSymbol()!=Symbol() | OrderType()>OP_SELL | OrderMagicNumber()!=MAGIC)
continuar;
Kol_Orders++;

}

if(MathMod(Kol_Orders/2,1.0)==0){
// entrada de enteros
}

 
Buenos días! Estimados profesionales, por favor, aconsejen cómo prueban sus EAs? Solíamos utilizar el script de Birt's Patch y obteníamos un 99% de resultados, pero desde la primera fecha dejó de funcionar porque el terminal ya no admite construcciones antiguas... así que no estoy seguro de qué hacer si confío en los resultados de las pruebas habituales del terminal... ¿Cómo se sale de ella? ¿O tal vez alguien pueda echar un vistazo al script y adaptarlo a la última versión?
Archivos adjuntos:
 
Lisi4ka330:
Buenos días! Estimados profesionales, ¿cómo prueban sus EAs? Solíamos utilizar el script de Birt's Patch y obteníamos un 99% de resultados, pero desde la primera fecha dejó de funcionar porque el terminal ya no admite construcciones antiguas... así que no estoy seguro de qué hacer si confío en los resultados de las pruebas habituales del terminal... ¿Cómo se sale de ella? ¿O tal vez alguien pueda echar un vistazo al script y adaptarlo a la última versión?
¿Has probado a cambiar #define LAST_BUILD_KNOWN 406 por 432?