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
Igor, ¿puedes darme una pista? ¡Algo del indicador(iMA) en el EA los valores vienen con 4 decimales, mientras que yo necesito 5 para trabajar! He probado NormalizeDouble(iMA,Digits) - sigue siendo 4 decimales. ¿Es necesario reescribir todo el indicador en un subprograma-función del Asesor Experto para obtener 5 dígitos?
Ayuda: Alert(), Comment(), Print()
Los datos de tipo doble se emiten con 4 dígitos decimales después del punto.
Utilice DoubleToStr() para obtener números con mayor precisión.
Buenas noches,
No puedo hacer frente al cierre correcto de las posiciones. Hay dos condiciones para el cierre: 1. si una posición está abierta; 2. si dos (o más posiciones) están abiertas. En ambos casos, el volumen del lote = 0,03. En el primer caso, el lote se cierra por separado en 0,01 (calculado en los posts anteriores). En el segundo caso, dos lotes deben cerrarse ambos por 0,03. En consecuencia, si:
entonces la primera variante de cierre y si:
entonces la otra (en mi variante (preliminar) si la suma de los beneficios de ambas posiciones > 0, entonces ambas posiciones deben cerrarse). Se ve así:
De hecho, resulta que cuando aparecen las condiciones de cierre de ambos lotes, el primer lote se cierra completamente, mientras que el segundo lote "toma" las condiciones de cierre BuyTotalOp==1 y se cierra según sus propias condiciones.
Por favor, indíqueme qué es lo que falla en las condiciones de cierre y cómo hacer que los dos lotes se cierren a la vez. Gracias de antemano.
Separar las moscas de las chuletas... escribir algunas funciones útiles...
Por ejemplo, contar el número de órdenes abiertas por tipo de orden, cerrar órdenes por tipo de orden, etc.
entonces todo será más fácil...
...porque falta un } en alguna parte, y no queda claro qué es lo que se está haciendo exactamente... puede ser que esté tratando de contar temporalmente el número de órdenes y borrarlas inmediatamente, o qué ? las órdenes pendientes podrían ser mejor omitidas y no interrumpidas cuando existen ?
Una buena opción sería una función que, según unas condiciones dadas, formara un array con los parámetros de las órdenes abiertas que puede recorrer y cerrarlas... en general, trabajar sobre la estructura...
Gracias keekkenen, últimamente he estado pensando en crear una matriz. Es que nunca he trabajado con él y esperaba que hubiera una solución más sencilla, que ya tengo el ojo "cerrado", y alguien con ojos frescos lo mirará y dirá "caramba, dónde está tu cuenta fulana...". Bueno, todas las órdenes de compra en el bucle se han calculado:
y OrderClose no los cuenta...
bueno, sí, es obvio que es "exagerado" .......y francamente, no entiendo esto.
y este, especialmente la división del lote por 3€ la orden se cierra con el mismo lote que se abrió...
¿por qué no en ambos casos?
¿por qué no en ambos casos?
CloseTicketCl = OrderTicket () en general se puede hacer esto...
y esto, sobre todo dividiendo el lote por 3... la orden se cierra con el mismo lote que se abre...
no es lo mismo
.Un tercio del lote está cerrado (según una de las condiciones - digamos que el precio ha alcanzado +150 pips). El segundo tercio se cerrará, digamos, cuando haya +300 pips desde la apertura, etc.
y francamente no entiendo este
aquí Lots y OrderLots() sí, la misma cosa.No, eso no funcionará. una orden - un lote, si has abierto una orden con 3 lotes, no puedes dividir el lote como quieras - primero 1, luego 1 y luego 1 más - la orden cierra todo el lote, es decir, la orden se cierra con el mismo lote con el que se abrió, no puedes cerrar órdenes por partes...