Pedidos Precio medio (Múltiples números mágicos)
4 respuestas
ramacan
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.
Mark Fric
hace 11 años #121712
puede comprobar la función sqGetOrdersAveragePrice() en el código generado por el EA.
Mark
Arquitecto de StrategyQuant
ramacan
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.
Mark Fric
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
ramacan
hace 11 años #121843
Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)