Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 890
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
Existe un Asesor Experto que permite determinar cuándo se ha activado una orden pendiente
https://www.mql5.com/ru/code/17610
Lo uso para obtener un ticket para una orden SELL_STOP
He cambiado el código a
Todo va bien hasta un determinado momento. Hasta que aparezca otro tipo de orden en el historial.
Por ejemplo, SELL_LIMIT.
En cuanto aparece SELL_LIMIT en el historial, no puedo obtener una entrada del último SELL_STOP.
El Asesor Experto arroja un error.
La orden 9 no está pendiente
Aunque hay SELL_STOP en el historial
¿Por qué tengo que conseguir el pedido nº 9 si necesito el billete nº 7?
Hola. Me da error siStopLoss_=0
falló modificar #2 vender 3.00 Si-9.18 sl: 0, tp: 62749 -> sl: 0, tp: 62774 [paradas inválidas]
Hola. Me da error siStopLoss_=0
falló modificar #2 vender 3.00 Si-9.18 sl: 0, tp: 62749 -> sl: 0, tp: 62774 [paradas inválidas]
Lógica incorrecta al escribir el programa.
Cuando StopLoss_=0, se dispara la condición superior: un intento de modificar el TakeProfit. El error es que se resta del PRECIO ABIERTO - en este caso el nivel de TakeProfit puede ser mayor que el PRECIO ACTUAL y esto es un error.
En su caso, reste del PRECIO CORRECTO (m_position.PriceCurrent).
Se abrió una posición de venta y se activó el selllimit, necesito mover el tp relativo al precio de la nueva posición, no al precio actual.
¿Qué tipo de comprobación debo hacer para evitar que se intente modificar a un precio no válido?
Se abrió una posición de venta y se activó el selllimit, necesito mover el tp en relación al nuevo precio de la posición, no en relación al precio actual.
¿Qué tipo de comprobación debo hacer para no intentar modificar a un precio no válido?
Compruébalo:
if(m_position.PriceOpen()-ExtTakeProfit<m_position.PriceCurrent() { m_trade.PositionModify(m_position.Ticket(), m_position.StopLoss(), m_symbol.NormalizePrice(m_position.PriceOpen()-ExtTakeProfit) ); ...
Compruébalo:
Gracias, pero el error persiste.
Podría estar inaceptablemente cerca del precio actual. ¿Cómo puedo comprobarlo?
Gracias, pero el error persiste.
Podría estar inaceptablemente cerca del precio actual. ¿Cómo se comprueba esto?
No tengo acceso a una bolsa, así que hazlo tú mismo o trabaja con instrumentos de Forex. Lo siento.
Añadido: introducir otra comprobación - para una posición de venta el nuevo TakeProfit (valor calculado) no debe ser MAYOR o IGUAL que el actual TakeProfit de la posición.
No tengo acceso a una bolsa, así que hazlo tú mismo o trabaja con instrumentos de Forex. Lo siento.
Añadido: introducir otra comprobación - para una posición de venta el nuevo TakeProfit (valor calculado) no debe ser MAYOR o IGUAL que el actual TakeProfit de la posición.
Probablemente el precio de apertura (POSITON_PRICE_OPEN) ?
Probablemente el precio de apertura (POSITON_PRICE_OPEN) ?
Esta opción estaba por encima. Ver los mensajes anteriores. Has contestado en medio de la conversación.
No encaja, modificar por ATR ¿Qué otras comprobaciones se pueden hacer para este error? Todo es posible. En mt4 haySTOPLEVEL, pero aquí ¿qué?