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
Qué pasa con el código. ¿Por qué siguen apareciendo los errores"falló la orden de cancelación #0 compra 0.00 en el mercado [Solicitud inválida]"?
¿Dónde está la selección de posiciones?
¿Qué tienen que ver las órdenes con las operaciones?
¿Qué está tratando de hacer? ¿Cerrar una posición?
y el nombre order_remove_mql_trade_request es un mal sueño.
¿dónde está la selección de posiciones?
¿qué tienen que ver las órdenes con las operaciones?
¿Qué es lo que intenta hacer? ¿Cerrar una posición?
y el nombre order_remove_mql_trade_request es un mal sueño.
sí, tengo que aclararlo.
El propósito del código - si hay una posición abierta, entonces cancela todas las órdenes limitadas de la misma dirección que la posición.
por ejemplo, si una posición está abierta BAY. entonces cancela todas las órdenes como límite de compra
Me olvidé de seleccionar la posición =). Pues el error no es de eso (comprobado).
Qué pasa con el código. ¿Por qué siguen apareciendo los errores"falló la orden de cancelación #0 compra 0.00 en el mercado [Solicitud inválida]"?
MqlTradeRequest order_remove_mql_trade_request = {0};
order_remove_mql_trade_request.action = TRADE_ACTION_REMOVE;
i = OrdersTotal();
if(i > 0){
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY){
for(i2 = 0;i2 <= i;i2++){
ul = OrderGetTicket(i2);
OrderSelect(ul);
if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_BUY_LIMIT){
order_remove_mql_trade_request.order = ul;
OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL){
for(i2 = 0;i2 <= i;i2++){
ul = OrderGetTicket(i2);
OrderSelect(ul);
if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_SELL_LIMIT){
order_remove_mql_trade_request.order = ul;
OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}}
quitar esos signos de igualdad.
Ya lo hice, no funciona.
No es bueno engañar a los mayores.
No es bueno hacer trampa. Yo no lo hago.
Acabo de comprobar todo con este código:
i = OrdersTotal();
if(i > 0){
PositionSelect(_Symbol);
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY){
for(i2 = 0;i2 < i;i2++){
ul = OrderGetTicket(i2);
OrderSelect(ul);
if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_BUY_LIMIT){
order_remove_mql_trade_request.order = ul;
OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL){
for(i2 = 0;i2 < i;i2++){
ul = OrderGetTicket(i2);
OrderSelect(ul);
if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_SELL_LIMIT){
order_remove_mql_trade_request.order = ul;
OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}}
El resultado es el mismo. el error mencionado anteriormente se produce a menudo
el resultado es el mismo. el error se produce a menudo
"a menudo" es una frase vacía.
¿Crees que 2+2 suele ser igual a 4?
no sea perezoso - haga un análisis de envío y un análisis del error devuelto.
compruebe lo que está tratando de eliminar?
¿hay pedidos disponibles en el momento del cierre?
tal vez usted está tratando de eliminar un pedido que ya ha sido eliminado.
En tercer lugar, ¿quién te ha enseñado a cerrar órdenes para que creas que puedes cerrar todas las órdenes? Crees que después de cada uno de tus cierres, el OrdersTotal disminuirá en 1. Y sigues batiendo tu i2++ hasta ganar, hasta la i primaria.
Ni siquiera se molesta en comprobar si OrderGetTicket o OrderSelect devuelven un error
malo, muy malo.
Es a causa de estas plumas que nuestros satélites salen de órbita.
"a menudo" es una frase vacía.
¿Crees que 2+2 suele ser igual a 4?
no sea perezoso - haga un análisis de envío y un análisis de error de retorno.
¿comprobar qué es lo que está tratando de borrar?
¿hay pedidos disponibles en el momento del cierre?
tal vez usted está tratando de eliminar un pedido que ya ha sido eliminado.
En tercer lugar, ¿quién te ha enseñado a cerrar las órdenes de esa manera? Crees que pasas todas las órdenes, pero no es así. Después de cada uno de tus cierres, OrdersTotal disminuye en 1. Y sigues superando tu i2++ hasta que ganas, hasta la i primaria.
Ni siquiera se molesta en comprobar si OrderGetTicket o OrderSelect devuelven un error
Esto es malo, muy malo.
Es debido a estas plumas que nuestros satélites se salen de órbita.
Estaba seguro de que no era eso, de lo contrario habría habido errores en la prueba no sólo con los bylimits, sino también con los selllimits. Gracias por intentar ayudarme y orientarme.
Saludos señores.
Este es un prototipo de una función de Windows que emula la pulsación de una tecla:
El caso es que esta función se llama en MT4 con int's en lugar de bytes. Se ve así:
¿Cuál es el problema? ¿Transfiere al menos 4 bytes? ¿Depende del hardware?Saludos señores.
Este es un prototipo de una función de Windows que emula la pulsación de una tecla:
El caso es que esta función se llama en MT4 con int's en lugar de bytes. Se ve así:
¿Cuál es el problema? ¿Transfiere al menos 4 bytes? ¿Depende del hardware?Cuando se pasan parámetros a una función, el quantum mínimo es un entero de 32 bits. Es decir, bVk y bScan en su caso serán convertidos al tipo int antes de ser pasados a la función
Por eso, los prototipos de funciones indicados anteriormente no se contradicen entre sí