[¡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 335

 

Si hay algún desarrollador aquí, por favor, coméntelo:


¿O debería preguntarle al DC al respecto?


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:

Si hay algún desarrollador aquí, por favor, coméntelo:


¿O debería preguntar a su empresa de corretaje al respecto?



Sobre el redondeo en décimas de céntimo o kopeks (cuál es el importe de tu depósito) te responderán hasta los escolares.

 
P_I_R_A_T_E:
¿Podría decirme qué código pegar en mi EA para que abra 2 órdenes de compra y venta a la vez después de una cierta cantidad de puntos ...
No puedes. Las órdenes de compra y de venta tienen precios diferentes, por lo que no puede abrirlas a la vez, es decir, abrirlas a un precio. De hecho, un MT4 de un solo hilo no puede abrir órdenes por el mercado simultáneamente, incluso con diferentes precios.
 
Reshetov:
No hay manera. Las órdenes de compra y venta tienen precios diferentes, por lo que no podremos abrirlas a un precio a la vez. De hecho, una MT4 de un solo hilo no puede abrir órdenes por el mercado simultáneamente, incluso con diferentes precios.

Gracias por la respuesta... ¿y si abro órdenes stop pendientes? con una parrilla tanto al alza como a la baja? con un lote fijo ¿es realista hacer lo mismo? cuando un par se abre, un nuevo par se abre en un espacio vacío antes del recién abierto?

 
Roll:


Hasta los escolares pueden saber cómo redondear una décima de céntimo o un kopeck (sea cual sea su depósito).

Si fuera redondo, no lo pediría. Mira la captura de pantalla, no se pueden redondear algunos valores, en definitiva, los resultados son diferentes. Aquí tienes, redondea:


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:

Si hay algún desarrollador aquí, por favor, coméntelo:


¿O debería preguntarle al DC al respecto?


Alerta y Comentario redondean los números cuando se muestran, aunque en realidad son más precisos.
 
BeerGod:
Alerta y Comentario redondean los números cuando se muestran, aunque en realidad son más precisos.
Sólo redondean si el número no cabe, se permiten cuatro decimales, ¡y yo sólo tengo tres como máximo!
 
¿Por qué gritas?
 
fore-x:

Si hay algún desarrollador aquí, por favor, coméntelo:


¿O debería preguntarle al DC al respecto?



¿Cuál es el problema? ¿Los cincos y más no se redondean hacia arriba? ¿Eso te confunde o es otra cosa?
 
P_I_R_A_T_E:

Gracias por la respuesta... ¿y si abro órdenes stop pendientes? con una parrilla tanto al alza como a la baja? con un lote fijo ¿también es realista hacerlo? cuando un par se abre, un nuevo par se abre en el espacio vacío antes del recién abierto?


Es mejor utilizar el código que has escrito tú mismo. Para ello se necesita al menos el deseo de empezar a estudiar MQL4.
Razón de la queja: