Servicios. ¿Ya están en marcha? - página 15

 
Igor Makanu:

HH: No sé cómo pasar precio[] a C#sin copiar - ¿alguna opción?

ArraySwap.

 
fxsaber:

ArraySwap.

Por desgracia, no funcionó, el compilador sigue trazando const ( 'price' - constant variable cannot be passed as reference Momentum_DLL.mq5 57 17 )

Aquí hay 2 funciones de cálculo en C# oncalculate, una necesita pasar por referencia ( ref ) un array de precios, la segunda sólo pasa un array como parámetro ( sin ref ), no he conseguido ganar sin copiar - he escrito en el comentario MQL la firma de la función


Archivos adjuntos:
 
Igor Makanu:

Por desgracia, no funcionó, el compilador sigue trazando const ( 'price' - constant variable cannot be passed as reference Momentum_DLL.mq5 57 17 )

Aquí hay 2 funciones de cálculo en C# oncalculate , una pasa por referencia ( ref ) el array de precios, la segunda solo pasa el array como parámetro ( sin ref ), todavía no he conseguido ganar sin copiar - he escrito en el comentario MQL de la firma de la función

ME no muestra ninguna limitación en la firma.


 
fxsaber:

ME muestra que no hay const en la firma.


Sí, es cierto, es una característica de C# que prohíbe escribir const en la firma

http://qaru.site/questions/672666/const-function-parameter-in-c

y la característica de MQL es prohibir el paso de arrays por parámetro, es decir, sólo por referencia

Константный параметр функции в С#
  • 2012.06.11
  • TheLazyChap
  • qaru.site
Имея запрограммированный в С++ в прошлом, я помню, что мы могли бы сделать постоянный параметр reference/pointer в методе. Если моя память правильная, ниже указано, что метод не может изменить ссылку, а сама ссылка является постоянной...
 
Igor Makanu:

Sí, es una característica de C# que prohíbe escribir const en la firma de una función

Probablemente sea una mala comprensión, pero esta función de C# parece salvaje.

 
fxsaber:

Probablemente no lo entienda bien, pero esta característica de C# parece salvaje.

como dice el refrán... lo que te sale gratis, eso es lo que usas ))))

¿No hay forma de "engañar" al compilador con una definición o una plantilla para eliminar esta limitación en MQL?

 
Igor Makanu:

¿No hay forma de "engañar" al compilador con una definición o una plantilla para evitar esta limitación en MQL?

Hizo una pregunta.

 
Реter Konow :

La cuestión es si se puede organizar una comunicación bidireccional entre los servicios y el asesor a través de los recursos.

Si es así, ¡sin duda es algo útil y provechoso!

Tienes toda la razón. Es posible con la versión actual, pero hay que crear algún tipo de solución dedicada. Sería bueno tener una solución integrada para la comunicación entre los EAs/indicadores y los servicios, así como entre los servicios. Renat lo sabe sin duda.

No puedo esperar a ver la solución de Metaquotes para estos problemas de comunicación :-)

 
Alain Verleyen:

Tienes toda la razón. Es posible con la versión actual, pero debería crear algún tipo de solución especial. Estaría bien tener una solución integrada para la comunicación entre expertos/indicadores y servicios, así como entre servicios. Renat lo sabe sin duda.

Estoy deseando ver la solución de Metaquotes para estos problemas de comunicación :-)

Tengo una solución para la comunicación entre EAs e indicadores en MT5. Lo estoy probando ahora. Es sabido que todo codificador entrenado puede transferir datos entre sus EAs e indicadores a través de recursos, pero si estamos hablando del desarrollo de una comunicación compleja y multidimensional de los programas MT5 como parte integral del trading algorítmico moderno, necesitamos un método de comunicación bien pensado y desarrollado, implementado en un programa especial "intermediario" que coordine los flujos de datos. Este es mi tema y lo estoy desarrollando. :)
 

Con el Terminal GlobalVariable, puede transferir hasta 8 bytes de información en una variable.

Para diferenciar el acceso de diferentes programas MQL5, puede utilizar GlobalVariableSetOnCondition

Razón de la queja: