Errores, fallos, preguntas - página 1797

 
fxsaber:
¿Por qué la doble barra obvia actúa sobre la barra invertida? ¿Y por qué la macro lleva un comentario de doble barra cuando se activa?
El comentario no forma parte de la macro. La macro debe ser continua. Una barra invertida \N continúa la macro desde la siguiente línea. // al principio de la línea interrumpe la macro porque tal línea no puede ser terminada con una barra invertida \
 
A100:
Un comentario no forma parte de una macro. Una macro debe ser continua. La inversa continúa la macro desde la siguiente línea. // al principio de la línea interrumpe la macro porque una línea así no puede terminar con una barra invertida \N -.
Eso es lo que pregunto, ¿por qué una macro tiene que considerar una línea con doble barra? Debería.
 

Metaquotes-Demo

SYMBOL_SESSION_PRICE_LIMIT_MIN == 1199,2. Pero incluso con el precio más alto no puedo establecer BuyLimit.

 
fxsaber:
Entonces pregunté, ¿por qué la macro considera una línea con doble barra? Debería.

En este caso, el comentario se sustituye por una cadena vacía(el texto del comentario se ignora, mientras que la propia cadena permanece), y la cadena vacía interrumpe la macro

#define MACRO  \
  if (true)    \
  {            \
    Print(""); \

  }
 
A100:

En este caso, el comentario se sustituye por una línea vacía

#define MACRO  \
  if (true)    \
  {            \
    Print(""); \

  }
Lo encuentro ilógico. Ni siquiera debería haber una línea en blanco.
 
fxsaber:
Los frenos no parecen ser difíciles de arreglar si se escribe un guión competente. Esto es lo que aparece bastante rápido con un ping de 50ms
2017.02.10 21:32:42.726 Trades  '5122740': exchange buy 1.00 Si-3.17 at market
2017.02.10 21:32:42.796 Trades  '5122740': accepted exchange buy 1.00 Si-3.17 at market
2017.02.10 21:32:42.806 Trades  '5122740': deal #117193624 buy 1.00 Si-3.17 at 58810 done (based on order #133580668)
2017.02.10 21:32:42.808 Trades  '5122740': order #133580668 buy 1.00 / 1.00 Si-3.17 at 58810 done in 81.663 ms
2017.02.10 21:32:42.810 Trades  '5122740': modify #133580668 buy 1.00 Si-3.17 sl: 0, tp: 0 -> sl: 58710, tp: 58910
2017.02.10 21:32:42.886 Trades  '5122740': accepted modify #133580668 buy 1.00 Si-3.17 sl: 0, tp: 0 -> sl: 58710, tp: 58910
2017.02.10 21:32:42.888 Trades  '5122740': modify #133580668 buy 1.00 Si-3.17 -> sl: 58710, tp: 58910 done in 78.188 ms
2017.02.10 21:32:42.888 Trades  '5122740': exchange sell 1.00 Si-3.17 at market, close #133580668 buy 1.00 Si-3.17 58810
2017.02.10 21:32:43.079 Trades  '5122740': accepted exchange sell 1.00 Si-3.17 at market, close #133580668 buy 1.00 Si-3.17 58810
2017.02.10 21:32:43.079 Trades  '5122740': deal #117193626 sell 1.00 Si-3.17 at 58810 done (based on order #133580670)
2017.02.10 21:32:43.080 Trades  '5122740': order #133580670 sell 1.00 / 1.00 Si-3.17 at 58810 done in 192.146 ms
2017.02.10 21:32:43.081 Trades  '5122740': buy limit 1.00 Si-3.17 at 58713
2017.02.10 21:32:43.221 Trades  '5122740': accepted buy limit 1.00 Si-3.17 at 58713
2017.02.10 21:32:43.222 Trades  '5122740': order #133580671 buy limit 1.00 / 1.00 Si-3.17 at market done in 141.851 ms
2017.02.10 21:32:43.222 Trades  '5122740': cancel order #133580671 buy limit 1.00 Si-3.17 at 58713
2017.02.10 21:32:43.652 Trades  '5122740': accepted cancel order #133580671 buy limit 1.00 Si-3.17 at 58713
2017.02.10 21:32:43.653 Trades  '5122740': cancel #133580671 buy limit 1.00 Si-3.17 at market done in 430.484 ms
Sólo un recordatorio, esto es Metaquotes-Demo. No puede manejar la carga de MT5 por alguna razón.
Asimismo,
2017.02.13 12:44:48.104 Trades  '5122740': buy limit 1.00 RTS-12.17 at 114430
2017.02.13 12:44:48.737 Trades  '5122740': accepted buy limit 1.00 RTS-12.17 at 114430
2017.02.13 12:44:48.739 Trades  '5122740': order #133670570 buy limit 1.00 / 1.00 RTS-12.17 at market done in 634.624 ms
Esta es una respuesta a una solicitud como esta.
Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = RTS-12.17
Request.volume = 1.0
Request.price = 114430.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_DAY (1)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 133670570
Result.volume = 1.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 634.708 + 0.002 ms
Result.request_id = 5827
Result.retcode_external = 0
MT5 se está ralentizando, por desgracia.
 
fxsaber:
MT5 se está ralentizando, por desgracia.

Aún más genial: ¡la demostración fue de 1,5 segundos de marcha!

'5122740': accepted exchange sell 1.00 DINRM at market, close #133675792 buy 1.00 DINRM 149.07
'5122740': deal #117297621 sell 1.00 DINRM at 149.07 done (based on order #133675793)
'5122740': order #133675793 sell 1.00 / 1.00 DINRM at 149.07 done in 1596.317 ms

Consulta

Request.action = TRADE_ACTION_DEAL (1)
Request.magic = 0
Request.order = 0
Request.symbol = DINRM
Request.volume = 1.0
Request.price = 149.04
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_SELL (1)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment =
Request.position = 133675792
Request.position_by = 0
Result.retcode = 10009
Result.deal = 117297621
Result.order = 133675793
Result.volume = 1.0
Result.price = 149.07
Result.bid = 149.04
Result.ask = 149.06
Result.comment = Request executed 1596.364 + 0.209 ms
Result.request_id = 13486
Result.retcode_external = 0
 
No se puede averiguar el parámetro de deslizamiento de una orden de mercado colgada, que se establece en Request.deviation.
 
fxsaber:
Lo encuentro ilógico. Ni siquiera debería haber una cadena vacía.
// significa que el comentario está después, no que toda la cadena es un comentario. Elimine // y obtendrá una cadena vacía. Para comparar, añada espacios delante de //
 
A100:
// significa que el comentario está después, no toda la cadena es un comentario. Si se elimina //, se obtiene una cadena vacía

De acuerdo. Pero en el caso de las macros, esto es un inconveniente.

Imagina que tomas un trozo de código y quieres convertirlo en una macro. Por ejemplo, sustituir una función por una macro.

Al parecer, pones una barra invertida al final de cada línea y ya está. ¡Pero no! Debe sustituir las barras dobles por /* */. Y si /* */ no está en una línea, es una pena.

Razón de la queja: