[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 30

 
¡He vuelto a ver a Dimka! Puso una cinta en el coche. Y ahora está dando gas, dando gas, la luz parpadea, ¡pero no hay nada en el velocímetro! Le preocupa no poder conducir mañana al trabajo. ¿Qué te parece?
 
villy:
¡He vuelto a ver a Dimka! Puso una cinta en el coche. Y ahora está dando gas, dando gas, la luz parpadea, ¡pero no hay nada en el velocímetro! Le preocupa no poder conducir mañana al trabajo. ¿Qué te parece?

¿Has probado el tratamiento?
 
Puede ser, que lo resolvió y es tal solución posible en mt4. No se ha encontrado. Necesito un EA o un script que monitorice las operaciones de otros EAs (los EAs operan en diferentes pares con el mismo magik). Y después de cerrar cada orden una comprobación al alcanzar el beneficio del magik (previamente introducido en los ajustes del EA). Si el beneficio es mayor o igual, el siguiente EA debería dejar de operar por el EA. Además de este asesor comercial, hay otros que operan en la cuenta. Como se encontró el EA EquityLimits(_http://mtexperts.narod.ru/files/EquityLimits_EA.ex4) monitorea la diferencia actual entre el saldo de la cuenta y los fondos y si se alcanzan los límites especificados, cierra todas las órdenes y desactiva todos los asesores (hace clic en el botón "Asesores" en la barra de herramientas). Este punto no se satisface.
 
granit77:

42
laveosa 22.12.2012 14:46 | prohibido| borrar
Tengo un caso muy extraño. Estoy probando el asesor en la historia de 2004 a 2012 y el resultado es uno, positivo, y luego hago una prueba en el período de 2009 a 2012 y es completamente diferente. un gran número de órdenes, más de 20000 para un período de 8 años. cuando la prueba es grande, entonces el gráfico de barras de rentabilidad muestra que de 2009 a 2012 el beneficio es limpio y hermoso y cuando se prueba cualquier distancia menos de 2009 entonces sólo CAOS. ¿Sabe por casualidad qué podría ser? Gracias de antemano chicos :)


Bueno, yo diría que su EA está sobreoptimizado... Pero si fue de 2004 a 2012 y luego de 2009 a 2012, lo más probable es que en el intervalo de 2004 a 2008 inclusive, se colgara alguna orden abierta, que se cerró con éxito (o tal vez sin éxito) al final de la prueba.
 
evgenGX:
Puede ser, que lo resolvió y es tal solución posible en mt4. No se ha encontrado. Necesito un EA o un script que monitorice las operaciones de otros EAs (los EAs operan en diferentes pares con el mismo magik). Y después de cerrar cada orden una comprobación al alcanzar el beneficio del magik (previamente introducido en los ajustes del EA). Si el beneficio es mayor o igual, el siguiente EA debería dejar de operar por el EA. Además de este EA comercial, hay otras operaciones en la cuenta. Como se ha encontrado EA EquityLimits(_http://mtexperts.narod.ru/files/EquityLimits_EA.ex4) supervisa la diferencia actual entre el saldo de la cuenta y los fondos y en caso de alcanzar los límites especificados, cierra todas las órdenes y desactiva todos los asesores (hace clic en el botón "Asesores" en la barra de herramientas). Este punto no se satisface.

En primer lugar, alcanzar el beneficio de la magia... eso es algo nuevo))) Bueno, si hay muchos Asesores Expertos, por qué no usar variables globales para cada uno de ellos
 

¡¡¡¡ayuda eh!!!!

¿cómo puedo obtener el número de órdenes perdedoras (cerradas en el historial) de las últimas 10 órdenes cerradas?

hay una función pero sólo busca un orden específico

aquí:

double WW1(int stop,int mn=-1, string sy="", int op=-1 ) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal() -1 ;<-- aquí podemos cambiar el número de serie de la orden desde el final (-1 es el penúltimo, si quitamos -1 es el último, etc.)etc.)

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {

double rr=OrderProfit();


}
return(rr);
}


usando esta función, por supuesto que defino el tipo de pérdida o ganancia

¿Alguien tiene una función que lea los últimos 10 pedidos y dé el número de pedidos perdidos de los mismos?

 

Hay, por supuesto, una sugerencia para hacer de esta función un tipo de función bool, para obtener respuestas verdaderas o falsas,

pero entonces necesitaremos 10 funciones de este tipo con diferentes números (de 1 a -9) y entonces obtendremos el número de mentiras y verdades

entonces, ¿quién puede aconsejar cómo obtener el número de falsos y falsas?

pero esto es un montón de operaciones y fórmulas, lo considero una perversión

 
evgenGX:
Puede ser, que lo resolvió y es tal solución posible en mt4. No se ha encontrado. Necesito un EA o un script que monitorice las operaciones de otros EAs (los EAs operan en diferentes pares con el mismo magik). Y después de cerrar cada orden una comprobación al alcanzar el beneficio del magik (previamente introducido en los ajustes del EA). Si el beneficio es mayor o igual, el siguiente EA debería dejar de operar por el EA. Además de este EA, hay otras operaciones en la cuenta. Como se ha encontrado el EA EquityLimits(_http://mtexperts.narod.ru/files/EquityLimits_EA.ex4) supervisa la diferencia actual entre el saldo de la cuenta y los fondos y en caso de alcanzar los límites especificados, cierra todas las órdenes y desactiva todos los EAs (pulsando el botón "EAs" en la barra de herramientas). Este punto no se satisface.
Dos Asesores Expertos pueden "comunicarse" entre sí a través de las variables globales del terminal. El siguiente EA crea una variable GV, por ejemplo Symbol_STOP, después del evento especificado (cierre de todas las órdenes) y pone la variable a 1. Y el EA de trading monitoriza la variable y si encuentra esta variable y su valor es 1, el EA saldrá (regresará).
 
gheka:

¡¡¡¡ayuda eh!!!!

¿Cómo obtener el número de órdenes perdedoras (cerradas en el historial) de las últimas 10 órdenes cerradas?

utilizo esta función para definir el tipo de pérdida o ganancia

¿tal vez hay una función que lee los últimos 10 pedidos inmediatamente y da un número de pedidos perdidos de ellos?


así es como se resuelve
int num_losed,tt,check=10;
for(tt=OrdersHistoryTotal()-1;tt>=0;tt--) if(OrderSelect(tt,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if(OrderProfit()<0) num_losed++;
comprobar..;
if(check<=0) break;

}

 
keep87:


Cuando el código supera las 1000 líneas, se empieza a escribir compacto )

también en MT4 el rendimiento se resiente, sobre todo al realizar pruebas. La versión lacónica es más rápida.


Por lo que he oído, el compilador elimina todos los "huecos" al compilar el código. Lógicamente no debería importar qué opción escribir para el rendimiento, porque en la salida del archivo compilado será el mismo "sin vacíos".

¿No es así?