Herramientas 'Cerrar todo'/'Abrir' - página 43

 

Jimmynz:

Puedes añadir el siguiente fragmento de código para comprobar el día y la hora para que tu EA pueda cerrar todas las operaciones.

extern bool FridayClose = true; // habilitar el cierre del viernes de todas las operaciones

extern int closeDay = 5; // Viernes = día de cierre de mercado de la semana

extern int closeTime = 19; // 7 PM = hora de cierre del mercado

int timeFlag = 0; // permitir la realización de operaciones

if (FridayClose && TimeHour(TimeCurrent())>=closeTime && TimeDayOfWeek(TimeCurrent())>=closeDay)

{

timeFlag=1; // establece la bandera para detener la negociación

closeAll(); // la función cierra todas las operaciones abiertas por este EA

}

Espero que esto te ayude.

¡Saludos cordiales!

coderMike

~servicios de programación de EA de calidad~

 

no es un script, sino un código para EA

newdigital:
'Cerrar todos' scripts para MT4.

Hola newdigital,

Muchas gracias por tu post.

En realidad lo que buscaba no es un script, sino un código que pueda instalar en mi EA. Por ejemplo, las órdenes se abren al principio del día, y terminan al final de cada día, pero todas las órdenes (pendientes o de mercado) no se cierran del todo.

Por ejemplo, me dieron algunas sugerencias como usar la función de nueva barra o usar la función de tiempo para que todas las órdenes se cierren al final de cada día. El problema es que no sé cómo hacer que dicha función funcione ya que soy un programador intermedio. Realmente agradecería que me ayudaran en esto. Quiero ser un programador y codificador muy profesional.

Por favor, hágamelo saber tan pronto como sea posible.

Gracias de nuevo por los scripts.

Mis mejores deseos,

 
coderMike:
Jimmynz:

Puede añadir el siguiente fragmento de código para comprobar el día y la hora para que su EA pueda cerrar todas las operaciones.

extern bool FridayClose = true; // habilitar el cierre del viernes de todas las operaciones

extern int closeDay = 5; // Viernes = día de cierre de mercado de la semana

extern int closeTime = 19; // 7 PM = hora de cierre del mercado

int timeFlag = 0; // permitir la realización de operaciones

if (FridayClose && TimeHour(TimeCurrent())>=closeTime && TimeDayOfWeek(TimeCurrent())>=closeDay)

{

timeFlag=1; // establece la bandera para detener la negociación

closeAll(); // la función cierra todas las operaciones abiertas por este EA

}

Espero que esto te ayude.

¡Saludos cordiales!

coderMike

~servicios de programación de EA de calidad~

Hola Jimmynz

Muchas gracias por tu gran ayuda.

Sólo tengo una pregunta rápida por favor. ¿Este código ayudaría también en el cierre en la barra diaria. Estoy usando órdenes pendientes para operar en mi código, pero quiero que el EA cierre todas las órdenes pendientes y abiertas al final de la vela diaria.

He pensado que tengo que usar esto

if (Close[1] == Open[0])

devolver (1);

donde 1 se utiliza en la función del código de la señal. Como si (señal ==1) blah blah blah

Todavía no soy un programador profesional, pero quiero serlo, por eso haré todo lo posible para hacer realidad este sueño.

Gracias de nuevo y espero tener noticias tuyas pronto.

Mis mejores deseos,

 

He utilizado este código, pero no ha funcionado

Hola,

Sólo quiero mencionar que he utilizado este código para cerrar todas las órdenes, pero no funcionó en absoluto.

if (AccountProfit() > 0)

{

DeleteOrders();

CloseOrders();

}

void CerrarPedidos()

{

int cnt = OrdersTotal();

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

{

if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;

int tipo = OrderType();

if (type == OP_BUY)

{

RefreshRates();

OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 3);

}

if (type == OP_SELL)

{

RefreshRates();

OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 3);

}

}

}

void DeleteOrders()

{

int cnt = OrdersTotal();

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

{

if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;

int tipo = OrderType();

if (type == OP_BUYSTOP || type == OP_SELLSTOP | type == OP_BUYLIMIT || type == OP_SELLLIMIT)

{

OrderDelete(OrderTicket());

}

}

}

Es extraño que algunos códigos son correctos, pero no funcionan.

Por favor, hazme saber si tienes una opinión al respecto.

Saludos cordiales,

 

¡¡¡¡Escritura de compra/venta de todo el CHF pls!!!!

Hola,

Necesito ayuda si alguien puede guiarme donde encontrar un script que pueda COMPRAR @ VENDER todos los pares de CHF o hacerme uno si no es demasiado pesado

gracias de antemano

ps: lo siento si publicar esto en la sección equivocada

 

¿Alguien tiene un EA de divisas específico para cerrar cuando el precio medio de sólo ese par específico alcanza un objetivo de beneficios introducido por el usuario?

 

script de orden pendiente en MA

Hola a todos

podríais ayudarme, por favor

necesito un script que se ejecute en el gráfico

orden pendiente = MA

he encontrado algo pero no puedo conseguir que funcione

por favor ayuda

 

IcebergOrders [Script]...

Aquí hay una herramienta de órdenes abiertas/órdenes de icebergs que podría ser útil para algunas personas...;)

 

Guión: Cerrar todas las posiciones y hacer la inversión.

Hola

¿Es posible hacer un script que cierre todas las posiciones y haga reversión con el mismo tamaño?

Ejemplo:

Estoy largo GBPUSD 1.0 lotes

También largo GBPJPY 1.0 lotes

SCRIPT activado

Ahora estoy corto GBPUSD 1.0 lotes

También corto GBPJPY 1.0 lotes.

¡Gracias!

Gracias de antemano.

 
monotomiatsd:
Hola

¿Es posible hacer un script que cierre todas las posiciones y tome la inversión con el mismo tamaño?

Ejemplo:

Estoy largo GBPUSD 1.0 lotes

También largo GBPJPY 1.0 lotes

SCRIPT activado

Ahora estoy corto GBPUSD 1.0 lotes

También corto GBPJPY 1.0 lotes.

Gracias.

Gracias de antemano.

El pseudocódigo aproximado en start() sería

for (int i=0;i<OrdersTotal();i++) {

if (OrderSymbol() == Symbol() && (OrderType() == OP_BUY || OrderType() == OP_SELL)) {

if (OrderType() == OP_BUY) {

OrderSend(OP_SELL,OrderLots(),...)

} else if (OrderType() == OP_SELL) {

OrderSend(OP_BUY,OrderLots(),...)

}

OrderClose(OrderTicket(),...);

}

}