Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Hola Mladen, como siempre, ¡eres el mejor!
Terrance Utilice Close[0] en ese caso. Casi todos los EAs usan close para ese propósito, así que creo que también te funcionará
...
Si su EA se ejecuta sólo cuando la barra comienza, puede ser un par de razones :
Me he dado cuenta de que mi EA no se ejecuta entre el movimiento del precio en el marco de tiempo M1. Sé que el EA se ejecutará cada tick que entre.
Pero he visto que se ejecuta cada vez que se inicia una nueva barra.
¿Estoy entendiendo mal?
¿Existe la forma de forzar que el EA se active cada tick que entra?
Trato de controlar mis ganancias y perdidas usando ganancias y perdidas no en pips. Cuando el pico sucede EA no cerrar la orden cuando llegar a la configuración de los beneficios o la pérdida hasta que la nueva barra se producen.
Cualquiera que me ayude a resolver este problema.
Soy nuevo en la codificación de EA.
Gracias de antemano.Gracias, mladen.
Probaré tu sugerencia.
Saludos Dioses de la codificación,
Necesito ayuda para encontrar una función de EA que controle la ejecución del envío de órdenes en el sentido de que no se pueda abrir una orden si ya existe una orden al mismo precio.
Lógica simple: si el precio de apertura de la orden y el tipo de orden = un precio de apertura y tipo de orden existente, entonces salir y buscar el siguiente criterio de entrada
Además, necesito una función que impida que se ejecute una orden si está a x pips de un precio ya existente.
Lógica simple: si el precio de apertura de la orden y el tipo es < el precio de apertura de la última orden y el tipo + x pips, entonces salir y buscar el siguiente criterio de entrada
Gracias,
Pip
...
Pruebe estas 2 funciones .Ambos devuelven true si el precio es igual o si la distancia del precio de algunas órdenes actualmente abiertas está dentro de la distancia especificada
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (CompareDouble(OrderOpenPrice(),price)) return(true);
}
return(false);
}
//
//
//
//
//
bool existsAtApproximatePrice(int magicNumber, double price, double distance)
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (MathAbs(OrderOpenPrice()-price)< distance) return(true);
}
return(false);
}
//
//
//
//
//
bool CompareDouble(double val1, double val2)
{
return(NormalizeDouble(val1,Digits)==NormalizeDouble(val2,Digits));
}
Saludos Dioses de la codificación,
Necesito ayuda para encontrar una función de EA que controle la ejecución del envío de órdenes en el sentido de que no se pueda abrir una orden si ya existe una orden al mismo precio.
Lógica simple: si el precio de apertura de la orden y el tipo de orden = un precio de apertura de la orden y un tipo de orden existentes, entonces salir y buscar el siguiente criterio de entrada
Además, necesito una función que impida que se ejecute una orden si está a x pips de un precio ya existente.
Lógica simple: si el precio de apertura de la orden y el tipo es < el precio de apertura de la última orden y el tipo + x pips, entonces salir y buscar el siguiente criterio de entrada
Gracias,
PipPueden ser un par de razones, pero las más comunes son:
¡Hola!
¡Gracias por la ayuda!
Entonces, si entiendo bien, si inserto TakeProfit y StopLoss en OrderSend como "reglas" Exsternal, este trabajo EA derecho sólo en los corredores no-ECN?
Lo siento por mi inglés
...
Sí
Con los brokers tipo ECN/STP tienes que abrir una orden con stop loss y/o take profit puesto a 0 y cuando la orden ya está abierta, sólo entonces puedes modificar el stop loss y/o take profit
¡Hola!
¡Gracias por la ayuda!
Entonces, si entiendo bien, si inserto el TakeProfit y el StopLoss en el OrderSend como "reglas" externas, ¿este EA funciona correctamente sólo en los brokers No-ECN?
Perdón por mi inglésSi, con los brokers ECN/STP tienes que abrir una orden con stop loss y/o take profit a 0 y cuando la orden ya está abierta, sólo entonces puedes modificar el stop loss y/o take profit
Gracias de nuevo, así que ... ¿cómo puedo arreglar esto? lo siento
...
Como he dicho, tienes que hacerlo en 2 pasos :
Por lo tanto, el código tiene que ser cambiado para hacer el trabajo en 2 pasos, en lugar de uno
Gracias de nuevo, así que... ¿cómo puedo arreglar esto? lo siento
Nuevo en la codificación
Hola a todos,
Soy nuevo en la codificación y he estado aprendiendo poco a poco el lenguaje y la sintaxis, pero he llegado a una pregunta acerca de cómo MT4 actualiza las variables.
He tratado de codificar un simple EA que muestre el mayor beneficio que una operación actualmente abierta ha tenido y sólo debe actualizarse si se alcanza un nuevo máximo, pero lo que está sucediendo es que la cantidad se está moviendo hacia abajo y hacia arriba como lo hace el beneficio, parece que no puedo ver mi error en la lógica del código.
Compruebo que la operación seleccionada sigue abierta
t_CloseTime=OrderCloseTime(); //devuelve 0 si la orden no está cerrada
if(t_CloseTime==0) //La orden está cerrada si no es cero.
{
if(OrderProfit() > LastProfitHigh) LastProfitHigh=OrderProfit();
if(LastProfitHigh >= MinProfit && MinProfitReached==false) MinProfitReached=true;
}//endif
Entonces, si la lógica es correcta por qué esta variable "LastProfitHigh" sube y baja....
Gracias por su ayuda.