Respuesta

Referencia conjunta de operaciones cerradas largas y cortas

6 respuestas

glennc

Suscriptor, bbp_participant, comunidad, 3 respuestas.

Visitar el perfil

hace 6 años #203095

Hola, gracias por un programa tan excelente.

 

Quiero obtener el beneficio total del último número x de operaciones, largas y cortas combinadas.

Si separo los largos y los cortos con números mágicos, ¿no me dará los totales de las últimas x operaciones largas y las últimas x operaciones cortas, que no es lo mismo que las últimas x operaciones combinadas?

Si utilizo el cero como número mágico, ¿no se incluirán las operaciones de otros EA del mismo par de divisas que se ejecuten en la plataforma?

¿Cómo puedo solucionarlo? Tengo otros problemas relacionados con este tipo de cuestiones, este es un ejemplo del problema.

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 6 años #203217

Hola,

En el Asistente de EA puede utilizar Suma de PL Cerrados para comprobar sólo largos / sólo cortos teniendo la misma magia para todos los largos o todos los cortos. Si utiliza magic = 0, contará las órdenes de todos los pares negociados, no sólo de uno en el que haya colocado su EA.

0

glennc

Suscriptor, bbp_participant, comunidad, 3 respuestas.

Visitar el perfil

hace 6 años #203230

Hola Thomas,

Gracias por su respuesta.

Así que para confirmar: ¿Simplemente no puedo obtener beneficios/pérdidas a partir de un cierto número de operaciones, independientemente de la dirección de la operación?

Parece una limitación desafortunada. Como he mencionado anteriormente, esta cuestión es un ejemplo de un problema mayor. Si magic = 0 no puede contenerse sólo en el EA en cuestión, entonces seguramente necesitamos una función que permita que

magicLong AND magicShort o magicLong OR magicShort?

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 6 años #203403

Para obtener beneficios totales de # de operaciones históricas puede hacer esta función (colocar al final del código EAWizard \ CustomFunction.mq4)

int sqGetTotalPL(int numeroÚltimosPedidos) {
doble pl = 0;
int recuento = 0;
int beneficios = 0;

for(int i=TotalOrdersHistory(); i>=0; i-) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true && OrderSymbol() == Symbol()) {

cuenta++;

if(OrderType() == OP_BUY) {
pl = (OrderClosePrice() - OrderOpenPrice());
} else {
pl = (OrderOpenPrice() - OrderClosePrice());
}

if(pl > 0) {
beneficios++;
}

if(count >= numberOfLastOrders) break;
}
}

return(beneficios);
}

A continuación, puede hacer referencia a la función personalizada en el Asistente de EA mediante la llamada "sqGetTotalPL(3)" para obtener el P/L de las 3 últimas operaciones en un símbolo seleccionado.

0

glennc

Suscriptor, bbp_participant, comunidad, 3 respuestas.

Visitar el perfil

hace 6 años #203693

Hola Tomas,

 

Muchas gracias por eso - Aprecio el tiempo que debe tomar. A medida que leo a través del código (teniendo en cuenta que no puedo leer código), ¿esto me dará un resultado sólo para la EA que se incluye en, y no todos los resultados para el par (OrderSymbol) en la historia MT4? Estoy tratando de aislar el beneficio / pérdida en un número de operaciones dentro de un EA específico, a pesar de que otros EAs se están ejecutando en el mismo par en la misma plataforma.

 

Gracias de nuevo por su ayuda.

 

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 6 años #203816

Hola,

esta declaración en el código OrdenSímbolo() == Símbolo() asegura que le dará resultados sólo para el símbolo que ejecuta su EA en por ejemplo EURUSD

0

glennc

Suscriptor, bbp_participant, comunidad, 3 respuestas.

Visitar el perfil

hace 6 años #217747

Gracias, Tomas.

0

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