Errores, fallos, preguntas - página 1493

 
zaskok3:
En MQL4++ no puedo prescindir de extern cuando necesito cambiar los parámetros de entrada programáticamente. Por ejemplo, al convertir un indicador estándar en uno interactivo tengo que sustituir input por extern. El compilador trata las variables de entrada como const y se queja al intentar cambiarlas. Con extern no existen estos problemas.
Para mí sí. También he leído en el manual, hace tiempo, que el extern puede cambiarse mediante programación. Fallo tras fallo, ahora cambia y luego no, parece que se resetean al entrar. Me rendí e hice copias de extern a global. Leo y copio sólo una vez al inicio del programa y uso global sólo dentro del programa. Inmediatamente todo funcionó como un reloj.
 
zaskok3:
Es una lástima que la arquitectura sea tan rígida que no exista la posibilidad de una simple flexibilidad. Por lo tanto, la interactividad en MQL5 requerirá una muleta. La pregunta es dónde está la ventaja entonces, si el idioma limita las posibilidades...

No lo entiendes. Hemos ahorrado mucha memoria con nuestra arquitectura.

Pregunte a los que le rodean qué es más importante: ¿la dificultad de copiar y pegar 5 líneas de código o la ganancia de memoria? Nosotros, por ejemplo, no hemos pensado lo más mínimo en

 
Slawa:

...

¿Cuál es su consejo para los propietarios de varios monitores? ¿Cómo se puede organizar un funcionamiento eficaz de la terminal?
 
Slawa:

No lo entiendes. Hemos ahorrado mucha memoria con nuestro diseño arquitectónico.

Así es, no lo entiendo. Hay muy poca información suya sobre la arquitectura interna. Sinceramente, no puedo entender cómo añadir el modificador const a las variables de entrada permite crear una arquitectura mucho mejor con un enorme ahorro de memoria. Al mismo tiempo, parece que una muleta en forma de excesos en la asignación de memoria sigue creando este ahorro. Se puede crear el doblaje de forma automática y tratar la entrada como si fuera una constante. Es muy difícil imaginar qué tipo de arquitectura es la que permite "ahorrar mucha memoria" en un caso tan simple. Parece que estás haciendo una comparación con la arquitectura de MT4, que en muchos aspectos era redundante y estaba lejos de ser eficiente en cuanto a recursos (como con el recálculo de los plazos). Pero estamos hablando de la razonabilidad de la arquitectura en general, no en comparación con un producto de hace N décimas de siglo.


Y en cuanto a la arquitectura. No entiendo por qué no hay OnMarketwatch, como en casi todas las demás plataformas de trading. Por alguna razón hay soluciones de muleta utilizando el temporizador o incluso el más perverso OnChartEvent. Esta tarea es demandada y parece obvia para todos los operadores que crean ATS. ¿Y se hace a propósito para que la arquitectura interna sea muy eficaz?


No se trata de una crítica por el hecho de criticar. Quiero entender, y no ser un aficionado "yo no sé, ellos saben más".

 
zaskok3:

Honestamente, no puedo entender cómo añadir un modificador const a las variables de entrada crea una arquitectura mucho mejor con un gran ahorro de memoria.


Bien dicho claramente dos posts más arriba

Almacenamiento global de los indicadores en la base histórica de MT5. Para ellos, los parámetros de entrada son clave. Cuando cambie los parámetros de entrada, el indicador con los parámetros antiguos se destruirá y se creará de nuevo el mismo indicador con los parámetros modificados.

¿Qué no está claro? Los parámetros de entrada son parámetros clave para el almacenamiento de las instancias del indicador. Si cambias el valor de la clave desde dentro, hay una contradicción con el índice: el índice dice una cosa, pero en realidad dice otra. Bueno, no se pueden cambiar los parámetros externos internamente

No te acuso de incomprensión, es un deseo perfectamente natural: "hazlo bien para mí, no me importan los demás".

 

Slawa:

es un deseo perfectamente natural: "hazme sentir bien. soy yo quien no se preocupa por los demás".

Por desgracia, en la sociedad actual este deseo es natural. Sin embargo, no hay que poner a todos en el mismo marco de referencia.

Gracias por la repetida aclaración:

Los parámetros de entrada son la clave para almacenar las instancias del indicador. Si cambias el valor de la clave internamente, hay una contradicción con el índice: el índice dice una cosa, pero en realidad dice otra.

Ahora está claro qué arquitectura se elige y por qué requiere la inmutabilidad de las variables de entrada. Yo tampoco cambiaría una arquitectura ya implementada por un pedo insatisfecho del foro. El pedo se las arreglará de alguna manera para arreglarse... Quiero saber cómo se organiza la cocina interna de los indicadores en MT4.


Por cierto, las entradas son const en EAs y scripts precisamente por la característica arquitectónica de almacenar indicadores?


También agradecería que se aclarara la ausencia de OnMarketwatch, que es demandado por algo más de gente que el punto anterior.

 
zaskok3:

También se agradecería una explicación sobre la falta de OnMarketwatch, que es demandada por algo más de gente que el punto anterior.

¿Qué es OnMarketWatch?
 
Slawa:
¿Qué es OnMarketWatch?
El evento de un nuevo tick que llega a Marketwatch. Similar a OnTick, pero sólo reacciona a los nuevos ticks no de un solo símbolo, sino de todos los firmados en la Observación del Mercado.
 
Slawa:

...

¿Cuál es su consejo para los propietarios de varios monitores? ¿Cómo se puede organizar un funcionamiento eficaz de la terminal?

 
zaskok3:
El evento de un nuevo tick que llega a Marketwatch. Es similar a OnTick, pero no reacciona a los nuevos ticks de un símbolo, sino a todos los ticks que están firmados en la "Market Watch".
En mi opinión, puedes usar OnTimer() para llamar a este evento cada X milisegundos.