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

 
glader:
Estoy operando en vivo. ¿Usted opera en vivo? Gracias por la ayuda de antemano...

Era la cuenta demo de Alpari.

¿Quiere decir que intentó utilizarla con una cuenta real?

Debería funcionar también.

 
newdigital:
Era una cuenta demo de Alpari.

¿Quieres decir que has intentado usarlo con una cuenta real?

Debería funcionar también.

Sí, he tratado de utilizarlo con la cuenta real en vivo, pero había un error msg ...

Bastante confuso, pero gracias por su ayuda de todos modos ...

 
glader:
Lo he intentado, pero ERROR : 4109

Herramientas->Opciones->Asesores Expertos->V Habilitar Asesores Expertos(...y Scripts)

 
ma6:
Herramientas->Opciones->Asesores Expertos->V Habilitar Asesores Expertos(...y Scripts)

Muchas gracias... ¡¡¡ya funciona!!!

 

CloseOnTime EA de Kimiv.

Archivos adjuntos:
 
ma6:
Herramientas->Opciones->Asesores Expertos-> V Activar Asesores Expertos(...y Scripts)

Sigo recibiendo el mismo error. ¿Qué quieres decir con"V"?

gracias

 

Tengo el mismo problema.

El pedido ...... no se ha podido cerrar. Error:4109

 

Cerrar todas las órdenes abiertas

Tengo una pregunta sobre cómo cerrar todas las operaciones abiertas. Eso incluye las operaciones que se abrieron manualmente.

Aquí está el código:

if(BalanceEquityProtectionLevel > 0 && AccountEquity() <= AccountBalance ()* BalanceEquityProtectionLevel)

{

AllowTrading = false;

Print("Se ha alcanzado el nivel de capital mínimo. Equity Level Reached - Trading Halted For ",Symbol());

// Alerta("Nivel de capital mínimo alcanzado. Equity Level Reached - Trading Halted For ",Symbol());

for(cnt=Total de órdenes();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=Tipo de pedido();

si (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); }

// }

}

}

El problema es que, si he abierto algunos pares no siempre es cierto que todas las operaciones se cerrarán también. Más aún, sucede que la EA continúa abriendo otra operación a pesar del parámetro allowtrading == false.

Estaba depurando esto y me di cuenta de que por alguna razón este bloque de código no se ejecutaba para todos los pares. Por qué, no lo sé. ¿Alguien sabe la respuesta?

Este bloque debería cerrar todas las órdenes abiertas y evitar que se siga negociando, tal vez podría resolver este problema escribiendo el parámetro false en un archivo o algo así. El problema en esta situación es también con los pares que no tienen órdenes abiertas.

Gracias...

Dejan

 

Aquí está mi código que escribí hace tiempo, cerrará todas las posiciones en ejecución.

#include

#include

int inicio()

{

double sA;

int cnt, totalOrders;

totalOrders = OrdersTotal();

si (totalPedidos>0)

{

for (cnt=0;cnt<totalPedidos;cnt++)

{

OrderSelect(0, SELECT_BY_POS);

if (OrderType() == OP_BUY) sA = MarketInfo(OrderSymbol(),MODE_BID);

si no sA = MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),sA,3,CLR_NONE);

}

}

return(0);

}

 

Su código es muy similar al mío. Los resultados son los mismos. Adjunto una imagen, para hacer algunas cosas más claras.

El EA cierra todas las operaciones para el par GBPUSD (imagen). Como puede ver, después de esto se abre otra operación. (1 significa que allowtrade es verdadero, 0 allowtrade es falso).

Archivos adjuntos:
image3.jpg  359 kb
Razón de la queja: