Bibliotecas: Price_Compare - página 3

 
Koldun Zloy:

Esa es la cuestión, las macros no son inmunes al mal uso.

Aparecieron cuando no había clases ni plantillas.

No tiene sentido usarlas ahora.

Afirmación errónea.

[Eliminado]  
fxsaber:

Afirmación errónea.

No puedes fundamentarla.

 
Koldun Zloy:

No podrá justificarlo.

Podría haber muchos ejemplos. Por ejemplo, éste.

Init_Sync
Init_Sync
  • www.mql5.com
Если в MT изменить таймфрейм или имя символа чарта, то все индикаторы на чарте выгрузятся с чарта и загрузятся на него снова. При этом, в отличие от MT4, в MT5 последовательность выгрузиться/загрузиться не определена из-за особенности внутренней архитектуры. Данное обстоятельство иногда вызывает не сразу очевидные проблемы, связанные с тем, что...
[Eliminado]  

Eso no es una justificación.

He visto tus ejemplos.

Todos ellos pueden ser reescritos sin macros.

 
Koldun Zloy:

Ese no es el razonamiento.

He visto tus ejemplos.

Todos ellos pueden ser reescritos sin macros.

Así que trate de lograr tal efecto

Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading.

Bibliotecas: Init_Sync

fxsaber, 2017.04.18 07:52

librería cuando #include está ahí, pero en ninguna parte del código hay nada de ella llamado por el usuario.

[Eliminado]  
¿Cuál?
No quiero entender estas porciones de código.
Ya he tratado bastante con macros en bibliotecas C y no espero ningún milagro de ellas.
Por favor, dame un ejemplo corto que demuestre la necesidad de las macros.
Si recuerdas, cuando te hablé de punteros inteligentes y singleton, puse ejemplos
que no tenían nada innecesario en ellos.

 
Koldun Zloy:
¿Cuál?
No quiero revisar todo este código.

El efecto se te ha formulado en ruso, no hace falta que mires el código.


En cuanto a "reemplazar" macros, la misma afirmación se puede aplicar a las plantillas, OOP y así sucesivamente. Dado que C++ está escrito en Asma.

Por ejemplo, siempre se puede reemplazar el copy-paste de texto escribiéndolo. Es sólo una cuestión de comodidad. Escribir en Asma o en C++ es lo mismo.


He formulado mi actitud hacia las macros. Brevemente - conveniente.

[Eliminado]  
библиотека, когда #include  есть, но нигде в коде ничего из нее не вызывается пользователем.

Ni siquiera se me ha ocurrido que este efecto sea en modo alguno necesario.

En cuanto a "sustituir" las macros, la misma afirmación puede aplicarse a las plantillas, la programación orientada a objetos, etc. Ya que C++ está escrito en Asma.

Por ejemplo, siempre se puede reemplazar el copy-paste de texto escribiéndolo. Es sólo una cuestión de comodidad. Escribir en Asma o en C++ es lo mismo.


He formulado mi actitud hacia las macros. Brevemente - conveniente.

La programación orientada a objetos y las plantillas son más seguras que las macros.

Y es conveniente para ti mientras no tengas que trabajar con las macros de otras personas.

 
Koldun Zloy:

Ni siquiera se me ocurre que este efecto sea remotamente necesario.

Desgraciadamente, es muy solicitado.


La programación orientada a objetos y las plantillas son más seguras que las macros.

Y es conveniente para usted, siempre y cuando usted no tiene que trabajar con macros de otras personas.

¿Qué es peligroso aquí?

#ifdef __MQL5__
  #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)
  
  #define  TICKET_TYPE int
  #define  MAGIC_TYPE  int
#else 
  #define  TICKET_TYPE long
  #define  MAGIC_TYPE  long
#endif

La regla de uso de cualquier macro es siempre la misma: úsala cuando la entiendas.

[Eliminado]  

Supongamos. Y cuál es exactamente el papel de las macros aquí?

Lo que es peligroso aquí?

#ifdef __MQL5__
  #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)
  
  #define  TICKET_TYPE int
  #define  MAGIC_TYPE  int
#else 
  #define  TICKET_TYPE long
  #define  MAGIC_TYPE  long
#endif

Es una necesidad aquí, ya que typedef en MQL funciona solo con punteros a una función.

Voy a enumerar todos los peligros más adelante.