¿Cómo codificar? - página 80

 
 

Ocultación de Stoploss

¿Alguien podría decir cómo ocultar los stoploss y los trailing stops en un EA? (No me gusta la idea de que los brokers vean mis stoplosses o trailing stops, es como un objetivo para ellos). Gracias.

 
jturns23:
¿Alguien podría decir cómo ocultar stoplosses y trailing stops en un EA? (No me gusta la idea de que los brokers vean mis stoplosses o trailing stops, es como un objetivo para ellos). Gracias.

Simplemente, en su código, defina un valor de parada y un valor objetivo.

Luego, después de colocar una operación, obtenga el precio al que ingresó la operación, y luego, con cada nuevo tick, verifique si se ha alcanzado el stop o el objetivo.

Si se ha alcanzado, entonces haga que el EA ejecute la función OrderClose.

Personalmente, todavía tengo una parada que el corredor puede ver, aunque se establece un largo camino de la acción del precio 50-100 pips. De esta manera, si el terminal baja por alguna razón, al menos estás protegido contra cualquier movimiento repentino.

Saludos,

Hiachiever

 
jturns23:
¿Alguien podría decir cómo ocultar stoplosses y trailing stops en un EA? (No me gusta la idea de que los brokers vean mis stoplosses o trailing stops, es como un objetivo para ellos). Gracias.

Lo que usted está tratando de implementar se llama más a menudo 'soft-stops', donde se realiza un seguimiento dinámico de P & L, el cierre de la orden (s) cuando el objetivo requerido (s) se alcanzan - en contraposición a la colocación de 'hards-stops', que el corredor puede ver y pico ...

Un hard-stop de algún grado es esencial imo (para el escenario 'just-in-case'..) pero incluso esto no le salvará si usted tiene un corredor completamente sin escrúpulos - como Fxopen: -

https://www.forex-tsd.com/forum/commercial-talks/9512-complaints-and-brokers-scam#comment_273270

 

una pregunta difícil

Estimados todos

Soy nuevo para la programación en MT4. Terminé un código de EA, pero cuando lo probé, hubo algunos errores Uno es, mi código quiere abrir 4 órdenes casi al mismo tiempo y al mismo precio, pero mi EA sólo a veces puede abrir en conjunto, pero las otras situaciones son, las órdenes se acaba de abrir uno por uno y en diferentes precios.

¿Crees que puedo resolver este problema mediante el uso de

if(IsTradeAllowed()==false) Sleep(10000);

¿podrían ayudarme a solucionar este problema?

¡Gracias de antemano!

 

Esta es mi función para cerrar todas las posiciones. Creo que es muy simple, pero el EA siempre pasa mucho tiempo para cerrar todas las posiciones, lo que significa que el precio de cierre puede variar.

¿podría ayudarme a resolver el problema?

¡gracias de antemano!

void cerrar_todas_las_posiciones_ahora(int orden_total)

{

int ticket=0;

double volumen=0, precio=0;

for(int i=0;i<total_order;i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)

romper;

// OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber()==magic_number && OrderType()==0)

{

ticket=OrderTicket();

volumen=Lotes de pedido();

precio=Bid;

OrderClose(ticket,volume,price,slippage,CLR_NONE);

}

else if (OrderMagicNumber()==magic_number && OrderType()==1)

{

ticket=OrderTicket();

volumen=Lotes de pedido();

precio=Ask;

OrderClose(ticket,volume,price, slippage,CLR_NONE);

}

else if(OrderMagicNumber()==magic_number && OrderType()>=2)

{

ticket=OrderTicket();

OrderDelete(ticket);

}

}

}

 
ys16:
... pero el EA siempre pasa mucho tiempo para cerrar todas las posiciones lo que significa que el precio de cierre puede variar. ...}

Las formas de cerrar muchas posiciones a un mismo precio son sólo dos:

1) Tienen el mismo TP (o SL).

2) Abrir una posición opuesta con un tamaño de los lotes totales que se quieren cerrar. Después puedes hacer algún CloseBy().

Abrir varias posiciones al mismo precio es el mismo problema: o usas pendings, o abres una sola posición del total de lotes, y manejas eventualmente cierres parciales.

 
Michel:
Las formas de cerrar muchas posiciones al mismo precio son sólo dos:

1) Tienen el mismo TP (o SL).

2) Abra una posición opuesta con un tamaño de los lotes totales que desea cerrar. Después puedes hacer algún CloseBy().

Abrir varias posiciones al mismo precio es el mismo problema : o usas pendings, o abres solo una posición del total de lotes, y manejas eventualmente cierres parciales.

Estimado Michel,

Muchas gracias. ¿Qué pasa con el costo? ¿tengo que pagar por el spread de las posiciones opuestas?

¿Cuál es la razón por la que el EA no puede cerrar todas las posiciones en un tiempo muy corto?

a veces, las 3 posiciones pueden ser cerradas después de un cambio de precio, pero a veces sólo 1 posición puede ser cerrada.

¿Tiene algunos recursos relacionados con la programación de MQL4? No sabía la escala de tiempo para ejecutar el EA.

Realmente conozco la programación en C porque soy ingeniero, pero mi EA no puede ejecutar completamente lo que he programado.

Que tal

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==magic_number && OrderType()==OP_BUY)

¿Crees que este tipo de función toma mucho tiempo para ejecutar que es más largo que el cada ciclo de EA.

 
ys16:
Estimado Michel,

Muchas gracias. ¿que tal el costo? ¿tengo que pagar por el spread de las posiciones opuestas?

¿Cuál es la razón por la que el EA no puede cerrar todas las posiciones en un tiempo muy corto?

a veces, las 3 posiciones pueden ser cerradas después de un cambio de precio, pero a veces sólo 1 posición puede ser cerrada.

¿Tiene algunos recursos relacionados con la programación de MQL4? No sabía la escala de tiempo para ejecutar el EA.

Realmente conozco la programación en C porque soy ingeniero, pero mi EA no puede ejecutar completamente lo que he programado.

Que tal

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==magic_number && OrderType()==OP_BUY)

¿Cree que este tipo de función tarda mucho tiempo en ejecutarse, más que cada ciclo del EA?

Muchos corredores permiten una "cobertura total", lo que significa que el margen utilizado se calcula sobre la diferencia entre las posiciones largas y las cortas. Por lo tanto no hay margen utilizado para una posición totalmente cubierta, y usted puede cerrar ambas (una por la otra) sin spread adicional. Por lo tanto, sólo se gasta un spread si se cierra una posición normalmente o abriendo una opuesta.

Sobre el tiempo, el tiempo de ejecución del código es muy rápido y no tiene nada que ver con el tiempo de la mesa de operaciones del broker.

 

Experto en gráficos fuera de línea

Hola,

Estoy tratando de usar un EA en un gráfico fuera de línea (por ejemplo, como el creado por period_converter). No reciben ticks lo que necesita usar el bucle while() dentro. Sin embargo, después de unos minutos los gráficos offline muestran "Waiting for update" y ya no se actualizan. Sospecho que es una especie de bloqueo, porque cuando abro otro gráfico offline se actualiza correctamente, y cuando lo cierro el gráfico original está bien durante un tiempo hasta el siguiente bloqueo "Waiting for update".

¿Estoy haciendo algo mal o es un problema de MT4?

Razón de la queja: