¿Cómo codificar? - página 343

 
techmac:
El stop loss y el take profit ocultos son arriesgados. Si el EA no funciona, nada puede cerrar su EA - y los EAs pueden ser detenidos desde el lado del broker

Estimado techmac,

puede explicar más, por qué EA no funciona, si EAs no se comprueba y probado docenas de veces antes de aplicar en vivo en general o en VPS...........(nada puede cerrar su EA) no entendía lo que quería decir??? ....(y los EAs pueden ser detenidos desde el lado del broker)....¿Por qué otras razones el broker puede detenerlo cuando el EA se aplica con el permiso/acuerdo de los brokers. si usted quiere decir debido a algunas de las razones de los parámetros ocultos?

saludos

 
mladen:
Sí. Cuando el campo de stop loss de la orden se establece en algún valor (entonces se muestra esa línea) y cuando es responsabilidad del broker ejecutar el stop loss al precio deseado (a diferencia del stop loss "suave" "oculto", cuando es tu EA el que tiene que cerrar la orden)

Querido MLADEN,

gracias, tan amable de usted, entender exactamente, cómo que el trabajo en la realidad.

¿hay alguna manera y posibilidad de que nuestro EA tratando de ejecutar TP / SL en caso de sl / tp oculto en algún punto / nivel y algunas actividades ocultas (codificado en el software de los corredores que maneja las actividades comerciales de los clientes, permitir o denoy el procesamiento más) desde el lado del corredor de detenerlo haciendo así?

lol, por lo que en este caso, que es más fiable, eficaz y responsable EA o corredor ... ....as para la reputación de los corredores de hoy en día ... soft wares y los sentimientos no humanos equipo es más sincero y leal. .

saludos

 
mntiwana:
Estimado MLADEN,

Gracias, así que tipo de, entender exactamente, cómo funciona en real.

lol, por lo que en este caso, que es más fiable, eficaz y responsable EA o corredor ... ....as para la reputación de los corredores ahora un days..soft wares y los sentimientos no humanos equipo es más sincero y leal. .

saludos

La cosa es la siguiente :

En el caso de SNB, si la gente utilizaba stop loss"ocultos" "blandos", no tenían ningún motivo para que les devolvieran nada (al no rellenar el campo de stop loss, el broker no tenía ninguna obligación de hacer algo con esas órdenes). Mientras que los que sí rellenaron ese campo, también tenían motivos para reclamar, no es que les devolvieran todo, pero al menos podían hacer algo

 
mladen:
La cuestión es la siguiente: en el caso de SNB, si la gente utilizaba stop loss "ocultos" "blandos", no tenían ningún motivo para que se les devolviera nada (al no rellenar el campo de stop loss, el broker no tenía ninguna obligación de hacer algo con esas órdenes). Mientras que los que sí rellenaron ese campo, también tenían motivos para reclamar - no es que les devolvieran todo, pero al menos podían hacer algo

Estimado MLADEN,

de nuevo gracias por su ojo experto en las cosas ....así que todo en todo ....la pérdida de los comerciantes se confirma, debido a cualquier y sólo un poco de razón cuando la ganancia es dudosa en cualquier y todos los casos ....las cosas van como esta manera, ahora un days.it es habitual.

Una pregunta jefe, cuando el precio del mercado cae o sube tan rápido como la velocidad de la luz .... ¿hay alguna posibilidad de que todos nuestros interruptores de pérdida (BE, SL y trailing stop) podría ser ignorado / rechazado / pasar a través de .... o ....que trabajan con eficacia por todos los medios en cualquier circunstancia.

saludos

 
mntiwana:
Estimado MLADEN,

de nuevo gracias por su ojo experto en las cosas ....así que todo en todo ....la pérdida de los comerciantes se confirma, debido a cualquier y sólo un poco de razón cuando la ganancia es dudosa en cualquier y todos los casos ....las cosas van como esta manera, ahora un days.it es habitual.

Una pregunta jefe, cuando el precio del mercado cae o se eleva tan rápido como la velocidad de la luz .... ¿hay alguna posibilidad y la posibilidad de que todos nuestros interruptores de pérdida (BE, SL y trailing stop) podría ser ignorado / rechazado / pasar a través de .... o ....que trabajan con eficacia por todos los medios en cualquier circunstancia.

saludos

mntiwana

No debería pasar, pero por todos los medios, lee el contrato que tienes con el broker. En el contrato deben constar cosas específicas como esa

 

¿Cuál es la forma más sencilla de comprobar el cruce de dos valores?

 
apprentice coder:
¿Cuál es la forma más sencilla de comprobar el cruce de dos valores?

Depende de los valores que se comparen. ¿Puede dar un ejemplo concreto?

 
mladen:
Depende de los valores que se comparen. ¿Puede dar un ejemplo concreto?

Por ejemplo: cruce de dos medias

 

Hola, estoy teniendo algunos problemas con mi EA y parece que he llegado a un callejón sin salida. Agradecería si alguien pudiera ayudarme con este asunto. Estoy tratando de conseguir mi EA para desencadenar sólo 1 comercio al día. Básicamente se trata de un EA de ruptura que abrirá una operación una vez que la vela rompa por una cantidad de pips determinada. Sin embargo, parece que no puedo conseguir la EA para desencadenar sólo 1 comercio al día.

Actualmente mi EA desencadenará otra operación en la misma vela de nuevo si las condiciones se cumplen de nuevo después de mi comercio ya ha TP o SL.

Aprecio si alguien puede ayudarme con este asunto. Gracias.

Abajo está mi programación.

Saludos

//---- parámetros de entrada

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Hora_de_entrada_1ª = 21;

//+------------------------------------------------------------------+

//| función de inicialización de los expertos ||.

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| función de desinicialización experta ||

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| función de inicio experto ||

//+------------------------------------------------------------------+

int inicio()

{

//+------------------------------------------------------------------+

//-- Activar el comercio

//+------------------------------------------------------------------+

int ticket, total

double Valor_TP, Valor_SL;

total = OrdersTotal(); // comprueba el número total de operaciones actualmente abiertas

if(total < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

si ((Cierre[1] - Apertura[1]) > 0,00100)

{

TP_Value = (Close[1] - Open[1]); // valor del cuerpo largo

SL_Value = (Low[1] - 0.0010); // siempre el mismo para el largo

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // valor del cuerpo corto

SL_Value = (Low[1] - 0.0010); // siempre igual para los largos

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // valor de toda la vela incluyendo cabeza y cola

SL_Value = (Low[1] - 0.0010); // siempre igual para los largos

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

//-------------------------------------------------------//

//-------- si el cuerpo de la vela larga H7 es superior a 10pips --------//

//-------------------------------------------------------//

si ((Cierre[1] - Apertura[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // valor del cuerpo largo

SL_Value = (High[1] + 0.0010); // siempre igual para los cortos

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // valor del cuerpo corto

SL_Value = (High[1] + 0.0010); // siempre el mismo para el corto

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // valor de toda la vela incluyendo cabeza y cola

SL_Value = (High[1] + 0.0010); // siempre igual para los cortos

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

}

}

return(0);

}

}

//+------------------------------------------------------------------+

 
tkuan77:
Hola, estoy teniendo algunos problemas con mi EA y parece que he llegado a un callejón sin salida. Agradecería si alguien pudiera ayudarme con este asunto. Estoy tratando de conseguir mi EA para desencadenar sólo 1 comercio al día. Básicamente se trata de un EA de ruptura que abrirá una operación una vez que la vela rompa por una cantidad de pips determinada. Sin embargo, parece que no puedo conseguir la EA para activar sólo 1 comercio al día.

Actualmente mi EA desencadenará otra operación en la misma vela de nuevo si las condiciones se cumplen de nuevo después de que mi operación tenga ya TP o SL.

Agradezco si alguien puede ayudarme con este asunto. Gracias.

Abajo está mi programación.

Saludos

//---- parámetros de entrada

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Hora_de_entrada_1ª = 21;

//+------------------------------------------------------------------+

//| función de inicialización de los expertos ||.

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| función de desinicialización experta ||

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| función de inicio experto ||

//+------------------------------------------------------------------+

int inicio()

{

//+------------------------------------------------------------------+

//-- Activar el comercio

//+------------------------------------------------------------------+

int ticket, total

double Valor_TP, Valor_SL;

total = OrdersTotal(); // comprueba el número total de operaciones actualmente abiertas

if(total < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

si ((Cierre[1] - Apertura[1]) > 0,00100)

{

TP_Value = (Close[1] - Open[1]); // valor del cuerpo largo

SL_Value = (Low[1] - 0.0010); // siempre el mismo para el largo

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // valor del cuerpo corto

SL_Value = (Low[1] - 0.0010); // siempre igual para los largos

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // valor de toda la vela incluyendo cabeza y cola

SL_Value = (Low[1] - 0.0010); // siempre igual para los largos

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

//-------------------------------------------------------//

//-------- si el cuerpo de la vela larga H7 es superior a 10pips --------//

//-------------------------------------------------------//

si ((Cierre[1] - Apertura[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // valor del cuerpo largo

SL_Value = (High[1] + 0.0010); // siempre igual para los cortos

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // valor del cuerpo corto

SL_Value = (High[1] + 0.0010); // siempre el mismo para el corto

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // valor de toda la vela incluyendo cabeza y cola

SL_Value = (High[1] + 0.0010); // siempre igual para los cortos

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

}

}

return(0);

}

}

//+------------------------------------------------------------------+

tkuan77

Tienes que encontrar la última barra cerrada y ver si el día de la última barra cerrada es el mismo que el día actual.

Puedes usar algo como esta función para obtener la hora de la última orden cerrada :

datetime GetLastClosedOrderTime()

{

datetime CloseTime = 0;

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime()>CloseTime)

CloseTime = OrderCloseTime();

}

return(CloseTime);

}

Y luego puedes comprobar si la fecha es la misma

Razón de la queja: