Errores, fallos, preguntas - página 1789

 
Vitalie Postolache:
Esta es la ventana en la que se encuentran las pestañas de operaciones, historial, noticias, etc. La palabra inglesa es "Toolbox".
Gracias, no lo sabía, lo he hecho. Ahora, no puedo ver el estado de las últimas posiciones. Es una pena, ¿realmente es imposible hacer que la última línea no baje?
 
Yousufkhodja Sultonov:
Gracias, no lo sabía, lo he puesto en práctica. Ahora, no puedo ver el estado de los últimos artículos. Una pena, ¿no puedo hacer que programáticamente la última línea no baje?

Es posible, exactamente de forma programada. Escriba un indicador que muestre esta línea en todos los gráficos, por ejemplo.

Los desarrolladores podrían hacer que esta información se duplicara en la barra de estado, o en la barra de título de la ventana, pero probablemente no les interese.

 
¿Qué pasa?
AccountInfoString(ACCOUNT_SERVER) = MetaQuotes-Demo

OrderSend(NULL,OP_BUYLIMIT,1,SymbolInfoDouble(Symbol(),SYMBOL_ASK)-100*_Point,100,0,0,My Order)
Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = Si-3.17
Request.volume = 1.0
Request.price = 59647.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00

Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10022
Result.deal = 0
Result.order = 0
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Invalid expiration
Result.request_id = 0
Result.retcode_external = 0
 
fxsaber:
¿Cuál es el error?
No se admiteORDER_TIME_GTC en el símbolo
 
A100:
No se admiteORDER_TIME_GTC en el símbolo
Gracias.
 

Un fallo grave, ya que afecta al propio comercio.

FIBOGroup-MT5 Server, demo, moneda base USD, Netting, build 1525.

En primer lugar, una captura de pantalla de "Pedidos, Ofertas".

Se abrió una posición por 1 lote y se cerró (¡no se invirtió!) por 1,5 lotes.

El hecho de que sea una posición se confirma en la pantalla "Posiciones".

He resaltado en rojo que también había un error con el cálculo del swap (posición vivida 1 segundo) y alguna pérdida enorme.

El registro tiene el siguiente aspecto

2017.02.09 08:39:14.285 Trades  '1013175': exchange buy 1.00 EURUSD at market
2017.02.09 08:39:15.352 Trades  '1013175': deal #1542796 buy 1.00 EURUSD at 1.06763 done (based on order #2246162)
2017.02.09 08:39:15.354 Trades  '1013175': order #2246162 buy 1.00 / 1.00 EURUSD at 1.06763 done in 1069.212 ms
2017.02.09 08:39:15.354 Trades  '1013175': failed modify #2156238 buy 1.50 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.06990, tp: 1.07190 [Invalid stops]
2017.02.09 08:39:15.355 Trades  '1013175': exchange sell 1.50 EURUSD at market, close #2156238 buy 1.50 EURUSD 1.07090333
2017.02.09 08:39:16.421 Trades  '1013175': deal #1542797 sell 1.50 EURUSD at 1.06761 done (based on order #2246163)
2017.02.09 08:39:16.422 Trades  '1013175': order #2246163 sell 1.50 / 1.50 EURUSD at 1.06761 done in 1066.734 ms

PositionGetDouble(POSITION_VOLUME) devuelve 1,5 lotes, en lugar de 1,0. Se ha producido un error de paradas no válidas, aunque SYMBOL_TRADE_STOPS_LEVEL == 0.

Probablemente debería añadir que la posición se cerró con Request.position = PositionTicket. Es decir, este parámetro no era cero.

En definitiva, ¡una BASE que concierne directamente al dinero!

 

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

FORTALEZAS. Preguntas sobre la ejecución

fxsaber, 2017.02.09 08:56

¿Entiendo correctamente que en este caso OrderSend devolvió true casi instantáneamente, pero se observó 65 segundos(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_STARTED?

Por cierto, ¿por qué cuando coloco una orden pendiente a través de OrderSend, devuelve true inmediatamente después de que el estado de la orden se convierta en ORDER_STATE_STARTED, en lugar de esperar a ORDER_STATE_PLACED?

No es asíncrono OrderSendAsync.

 
fxsaber:

Por cierto, ¿por qué devuelve true inmediatamente cuando el estado de la orden se convierte en ORDER_STATE_STARTED en lugar de esperar a ORDER_STATE_PLACED al colocar una orden pendiente mediante OrderSend?

No es asíncrono OrderSendAsync.

¿Probablemente porque es el resultado de la ejecución exitosa de OrderSend y no el resultado de la fijación exitosa de la orden?
 
Artyom Trishkin:
¿Probablemente porque esto es el resultado de un OrderSend exitoso y no el resultado de un ajuste de orden exitoso?
ORDER_STATE_STARTED es el resultado de un OrderCheck exitoso.
 
fxsaber:
ORDER_STATE_STARTED es el resultado de un OrderCheck exitoso.
¿Y cuando un pedido ya está hecho, se devuelve algo?
Razón de la queja: