Respuesta

Pedidos Precio medio (Múltiples números mágicos)

4 respuestas

ramacan

Abonado, bbp_participant, comunidad, 72 respuestas.

Visitar el perfil

hace 11 años #111190

¿Cómo puedo calcular el precio medio de los pedidos (números mágicos múltiples) ponderado por lotes?

Saludos.

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #121712

puede comprobar la función sqGetOrdersAveragePrice() en el código generado por el EA.

Mark
Arquitecto de StrategyQuant

0

ramacan

Abonado, bbp_participant, comunidad, 72 respuestas.

Visitar el perfil

hace 11 años #121731

Marca,

 

¿Está diciendo que debo utilizar sqGetOrdersAveragePrice() en el área de funciones personalizadas? Ten paciencia conmigo ya que no soy programador, por favor dame un ejemplo de cómo recuperar el precio medio ponderado por lotes para Magic#1 y Magic#2.

 

Saludos.

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #121833

Hola,

 

perdón por la respuesta insuficiente.

 

Puede añadir el siguiente código al archivo {EA Wizard}/code/CustomFunctions.mq4.

Esto hará que el Asistente de EA añada esta función a cada código de EA generado.

 

 

double GetMultiOrdersAveragePrice(int magic1, int magic2) {
  doble suma = 0,0;
  double cnt = 0.0;
  for (int cc = TotalPedidos() - 1; cc >= 0; cc-) {
    if (!OrderSelect(cc, SELECT_BY_POS) ) continue;
    if((OrderMagicNumber() == magic1 || OrderMagicNumber() == magic2) && OrderSymbol() == Symbol()) {
      if(OrderType() == OP_BUY && OrderCloseTime() == 0) {
        suma += OrderLots() * OrderOpenPrice ();
        cnt += OrdenLotes();
      }
      if(OrderType() == OP_SELL && OrderCloseTime() == 0) {
        suma += OrderLots() * OrderOpenPrice ();
        cnt += OrdenLotes();
      }
    }
  }

  if (NormalizeDouble (cnt, Digits) == 0) return (0);

  return(suma / cnt);
}

 

 

 

Luego en las reglas del Asistente de EA puede utilizar esta nueva función como Funciones -> Función Personalizada: GetMultiOrdersAveragePrice(1000, 2000)

para obtener el precio medio de las órdenes con números mágicos 1000 y 2000.

 

Mark

Mark
Arquitecto de StrategyQuant

0

ramacan

Abonado, bbp_participant, comunidad, 72 respuestas.

Visitar el perfil

hace 11 años #121843

Gracias por las instrucciones detalladas.

 

Saludos.

 

0

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)