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
Imprime tus variables antes y dentro de las sentencias if y averigua por qué.
Ok gracias, lo haré e investigaré más sobre esto. También encontré este trozo de código que me intriga porque el SL y el TP están separados del OrderSend. Miraré esto también
Hola a todos
He solucionado la mayoría de mis problemas y el EA funciona bien en el tester, pero sigo teniendo problemas con OrdersTotal. En el modo Demo a veces abre las dos órdenes pendientes de Stop, pero la mayoría de las veces sólo la de compra o la de venta. Quiero que las dos órdenes pendientes se abran al mismo tiempo (en unos pocos segundos), pero sólo si no hay otras órdenes u órdenes pendientes abiertas. Creo que lo que ocurre es que a veces abre las dos órdenes pendientes antes de tener la oportunidad de calcular el número de órdenes, y otras veces se da cuenta de que una orden pendiente fue enviada, y no abre la otra. Pensaba que si ponía las órdenes pendientes entre corchetes ejecutaría ambas cuando se cumpliera la condición if... Ahora también sé que seguirá abriendo las órdenes pendientes cuando las elimine mientras se forme la última vela, es decir, mientras la variable Time coincida con la vela Time[0], los ticks son irrelevantes.
Aquí está ese trozo de código:
¿Hay alguna forma mejor o más fácil de hacer esto? Gracias
Hola a todos
He solucionado la mayoría de mis problemas y el EA funciona bien en el tester, pero sigo teniendo problemas con OrdersTotal. En el modo Demo a veces abre las dos órdenes pendientes de Stop, pero la mayoría de las veces sólo la de compra o la de venta. Quiero que las dos órdenes pendientes se abran al mismo tiempo (en unos pocos segundos), pero sólo si no hay otras órdenes u órdenes pendientes abiertas. Creo que lo que ocurre es que a veces abre las dos órdenes pendientes antes de tener la oportunidad de calcular el número de órdenes, y otras veces se da cuenta de que una orden pendiente fue enviada, y no abre la otra. Pensaba que si ponía las órdenes pendientes entre corchetes ejecutaría ambas cuando se cumpliera la condición if... Ahora también sé que seguirá abriendo las órdenes pendientes cuando las elimine mientras se forme la última vela, es decir, mientras la variable Time coincida con la vela Time[0], los ticks son irrelevantes.
Aquí está ese trozo de código:
¿Hay alguna forma mejor o más fácil de hacer esto? Gracias
¿Estás comprobando el valor de buystop_ticket y sellstop_ticket? Si sólo hay 1 abierto, el segundo nunca estará abierto (a menos que elimine el primero manualmente).
Gracias por la respuesta. En realidad, tanto las órdenes de buystop como de sellstop se abren aproximadamente el 50% de las veces. El otro 50% de las veces se envía la orden de compra o la de venta. Pero he descubierto algo. Pregunté por el último error y en los casos en los que ambos se envían, no hay errores, pero cuando sólo uno se abre, me da el error 130 en el que no se abrió. Así que parece que mis paradas no son válidas, pero no sé por qué. Aquí está el código para SL:
También añadí la función de impresión. ¿Es eso lo que querías decir con "Está comprobando el valor de buystop_ticket y sellstop_ticket? "? Devuelve dos valores a saber:
2016.03.24 17:11:22.532 News_v10 GBPUSD,M1: Buystop ticket =-1
2016.03.24 17:11:23.227 News_v10 GBPUSD,M1: Buystop ticket =49644335
Cuando los brokers ECN empezaron, el OrderSend fallaba con el SL/TP establecido. La mayoría ha solucionado esto desde la build 600. Gracias por tu respuesta.
Gracias por la respuesta. En realidad, tanto las órdenes de buystop como de sellstop se abren aproximadamente el 50% de las veces. El otro 50% de las veces se envía la orden de compra o la de venta. Pero he descubierto algo. Pregunté por el último error y en los casos en los que ambos se envían, no hay errores, pero cuando sólo uno se abre, me da el error 130 en el que no se abrió. Así que parece que mis paradas no son válidas, pero no sé por qué. Aquí está el código para SL:
También añadí la función de impresión. ¿Es eso lo que querías decir con "Está comprobando el valor de buystop_ticket y sellstop_ticket? "? Devuelve dos valores a saber:
2016.03.24 17:11:22.532 News_v10 GBPUSD,M1: Buystop ticket =-1
2016.03.24 17:11:23.227 News_v10 GBPUSD,M1: Buystop ticket =49644335
Tienes que añadir RefreshRates() entre tus 2 OrderSend().