Errores, fallos, preguntas - página 1797
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
¿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?
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 -.
Metaquotes-Demo
SYMBOL_SESSION_PRICE_LIMIT_MIN == 1199,2. Pero incluso con el precio más alto no puedo establecer BuyLimit.
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
if (true) \
{ \
Print(""); \
}
En este caso, el comentario se sustituye por una línea vacía
if (true) \
{ \
Print(""); \
}
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.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
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
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.
Aún más genial: ¡la demostración fue de 1,5 segundos de marcha!
'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.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
Lo encuentro ilógico. Ni siquiera debería haber una cadena vacía.
// 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.