[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 502
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
editar | borrar Ayuda para encontrar una función para colocar órdenes que tenga en cuenta el deslizamiento y sin errores 130-134.
Muéstrame tu variante.
Print(GetLastError());
Con cualquier valor de SL y TP da 134, a menudo no coloca ninguna orden.
abre con la condición if(NumberOfOrders(NULL)==0)
En el probador, en lugar de una orden siempre coloca un montón, es decir, no puedo entender por qué debe colocar una orden si no hay otras órdenes abiertas en este par
NumderOrder=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-SL*Point,Ask+TP*Point, "BUY",0,0,Red);
Print(GetLastError());
Con cualquier valor de SL y TP da 134, a menudo no coloca ninguna orden.
abre con la condición if(NumberOfOrders(NULL)==0)
En el probador, en lugar de una orden siempre coloca un montón, es decir, no puedo entender por qué debe colocar una orden si no hay otras órdenes abiertas en este par
ERR_NOT_ENOUGH_MONEY 134 No hay suficiente dinero para completar la transacción
Buen día. Estoy haciendo un EA, abre 2 órdenes en una determinada condición (en sentido figurado: cuando el precio sube y baja). Cuando el precio sube, abre 2, cuando el precio baja, cierra esos 2 y abre un nuevo 2. Una orden va sin take profit, la segunda orden con take profit. Hay un problema con el segundo. En el momento en que su tiempo de la muerte viene, no se selecciona, aquí es el código para eliminar las órdenes:
Lo mismo para OP_BUY. Estoy comparando los comentarios para saber con seguridad que es una orden abierta por mi EA y no manualmente o por otro EA. Este es el problema con OrderSelect, simplemente no quiere seleccionar una orden con un take profit. Cuando llega a su número, OrderSelect devuelve false. No hay ningún error en el registro del probador, GetLastError también dice que todo está bien (devuelve 0). ¿Por qué no se selecciona? ¿Por qué no hay error si no se puede seleccionar? Gracias a todos.
la condición
se comprueba en cada iteración.
Piensa a qué equivale a y a qué equivale OrdersTotal() -1 después de la primera iteración
OrderClose(OrderTicket(), NormalizeDouble(OrderLots(), Digits), NormalizeDouble(Ask, Digits), 0);
Solree:
NormalizarDoble(LotesdeOrden(), Dígitos)
Hay que tener en cuenta el paso permitido de cambio de lote.
Por ejemplo, si el paso es 0,01, entonces normalice por 2
y si el paso es 0,1, entonces la normalización debe ser 1