Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 682

 
Artyom Trishkin:

Yo hablo de Thomas, él habla de Yeroma...

¿Cómo se comunica en esta situación?

Me refiero a la perniciosa costumbre de inicializar irremediablemente las variables globales en OnInit().

Al mismo tiempo, impone su hábito perjudicial a todos los recién llegados de forma incuestionable. ¿Estás criando una generación de E.S.T.? ¿Clones de los que no piensan, sino que siguen ciegamente a su sensei?

"Inicializar sin sentidolas variables globales" son tus palabras y tu ficción. Si lo haces sin pensar, sólo hay un consejo: "El dinero es tuyo, haz lo que quieras".
 
Vladimir Karputov:
"Inicializar sin sentidolas variables globales": esas son sus palabras y su ficción. Si lo haces sin pensar, sólo hay un consejo: "El dinero es tuyo, haz lo que quieras".

No. Esas son tus palabras. Y tu "enseñando" al que pregunta:


Esta no es la manera de hacerlo:

bool TimeFlag,FLG;
int TimeScale=50,TimeInMemory,TimeNow;

o más bien después de tal declaración, debe inicializar explícitamente(asignar valores a) estas variables en OnInit().

El método Sell también debe estar rodeado de comprobaciones, como

trade.ResultRetcode(),
"(",trade.ResultRetcodeDescription(),");

Y puede haber una pega: por la mañana, en la apertura de las operaciones, éstas no son inmediatas, no se producen desde el primer segundo, y es entonces cuando pueden producirse errores.


Y entonces él, siguiendo tus, por decirlo suavemente, irreflexivos consejos, pensará - por qué ha perdido su dinero...

Eres tú quien dice que después de declarar una variable sin inicializarla explícitamente, debes inicializarla explícitamente en OnInit() .

El resultado de esta acción irreflexiva, se pudo ver al ejecutar el EA de prueba adjunto - la pérdida del valor de la variable cuando el marco de tiempo cambia.

ZS. Ten el valor de admitir tus errores y carencias.

ZZZY. Así que mis palabras sobre la descerebrada inicialización obligatoria ciega que sugieres en OnInit() - corresponden a mi afirmación de que sugieres descerebradamente inicializar las variables globales en OnInit()

 

dígame en qué construcción

MARGEN_DE_CUENTA

cambió a

MARGEN_DE_CUENTA_LIBRE

 
Artyom Trishkin:


Por favor, sigan viviendo en su mundo imaginario y busquen lo que no existe.
 
Vladimir Karputov:
Por favor, sigue viviendo en tu mundo imaginario y buscando algo que no existe.

Tienes una prueba de EA frente a ti. La forma en que se enseña a los principiantes a inicializar las variables globales hará que éstas pierdan sus valores cuando se cambie de marco temporal. Hay que ser consciente de ello y no hacerlo de forma desconsiderada. Pero si inicializas las variables globales NO como sugieres, entonces sus valores no se pierden cuando cambias de marco temporal - en consecuencia no hay violación de la lógica en algunos casos donde el valor de una variable global no debería depender de un cambio de marco temporal.

Así que el mundo es imaginario - lo tienes. Eres tú, que vives en un mundo propio, pensando que estás rodeado de comprobaciones e inicializaciones (irreflexivas), y todo está bien.

Pero el asesor de comprobación demuestra que es en su caso que la persona puede perder su dinero. En mi caso, en cambio, puede cambiar fácilmente el marco temporal del gráfico en el que se ejecuta su EA.

La experiencia no viene de la lectura de la referencia. Piensa más a menudo, piensa en diferentes situaciones.

ZS. En lugar de decir "gracias" diciendo "no lo sabía, lo tendré en cuenta, gracias", empiezas a dar un espectáculo de infantilismo y resentimiento...

No me extrañaría que te baneasen: si quieres conocer a una persona, dale un poco de poder.

 
Artyom Trishkin:

Tienes una prueba de EA frente a ti. La forma en que se enseña a los principiantes a inicializar las variables globales hará que éstas pierdan sus valores cuando se cambie de marco temporal. Hay que ser consciente de ello y no hacerlo de forma desconsiderada. Pero si inicializas las variables globales NO como sugieres, entonces sus valores no se pierden cuando cambias de marco temporal - en consecuencia no hay violación de la lógica en algunos casos donde el valor de una variable global no debería depender de un cambio de marco temporal.

Así que el mundo es imaginario - lo tienes. Vives en un mundo propio, pensando que estás rodeado de comprobaciones e inicializaciones (irreflexivas), y todo está bien.

Pero el asesor de comprobación demuestra que es en su caso que la persona puede perder su dinero. En mi caso, en cambio, puede cambiar fácilmente el marco temporal del gráfico en el que se ejecuta su EA.

La experiencia no viene de la lectura de la referencia. Piensa más a menudo, piensa en diferentes situaciones.

ZS. En lugar de decir "gracias" diciendo "no lo sabía, lo tendré en cuenta, gracias", empiezas a montar un espectáculo de infantilismo e insultos...

No me extrañaría que te baneasen: si quieres conocer a una persona, dale un poco de poder.

Escúpelo, no te enfades. Cuantas más de estas tonterías escriba, menos se quedarán en este foro los novatos y más se irán los experimentados, y por tanto la administración se planteará por qué está pasando.

¿Y dónde está escrito que siempre habrá un problema si la variable se deja sin inicializar? En todos los sitios dice sólo posible error, SÓLO posible... Esto es una consecuencia de la ege, desde la primera generación.

 
Alexey Viktorov:

No te alteres, no te alteres. Cuantas más tonterías escriba, menos novatos se quedarán en este foro y los más experimentados se irán, y la administración se preguntará por qué ocurre esto.

¿Y dónde está escrito que siempre habrá un problema si la variable se deja sin inicializar? En todos los sitios sólo se habla de un posible error, SÓLO posible... Esto es una consecuencia de la ege, desde la primera generación.

No estoy disgustado: he denunciado declaraciones incorrectas. Ese hombre, engañado, entendió que fue engañado, y que no necesita dedicarse estúpidamente a copiar y pegar las conclusiones de otra persona, y pensó, y entendió que sucederá en tal o cual caso. El caso ha demostrado incluso con una simple prueba EA. Así que, por el contrario, estoy tranquilo: quien está prevenido, está preparado.

Pero aún así deberías inicializar las variables, IMHO, no confiando demasiado en los valores de inicialización implícitos por defecto, sino pensando y entendiendo dónde, cómo y con qué valor, en lugar de la forma que "dice el MODERADOR del foro es la verdad absoluta"... Un moderador no es un desarrollador.

 
Artyom Trishkin:

No estoy disgustado: he denunciado declaraciones incorrectas. Para que la persona engañada entienda que está engañada y que no tiene que copiar-pegar estúpidamente las conclusiones de otra persona, sino pensar por sí misma y entender lo que pasará en tal o cual caso. El caso ha demostrado incluso con una simple prueba EA. Así que, por el contrario, estoy tranquilo: quien está prevenido, está preparado.

Pero para inicializar las variables, IMHO, todo lo mismo, es necesario, no especialmente confiar en los valores por defecto de la inicialización implícita, pero el pensamiento y la comprensión de dónde, cómo y por qué valor, pero no como "dijo en un foro MODERADOR - significa la verdad en la última instancia" ... Un moderador no es un desarrollador.

Por cierto, la pregunta que has planteado, sería útil hacer un hilo aparte en general - si Renat crea el foro de la FAC, y Karputov va colgando/dejando/compartiendo hilos según algún criterio propio.

No todo el mundo sabe realmente cómo se inicializan las variables globales - incluso la "pista principal" Karputov es "flotante".

Y la última vez en la 4, recuerdo que el tema se planteó ya en 2011.

p.s. Si pudieras crear este hilo, Artem - piensa en un título, diciendo - tienes un programa de prueba allí - deja que el motor de búsqueda encuentre la pregunta.

 
Andrey F. Zelinsky:

Por cierto, la cuestión que planteas es útil para hacer un hilo aparte en general -- si Renat crea el foro FAC, y Karputov está colgando/destruyendo/compartiendo hilos según algún criterio propio.

No todo el mundo sabe realmente cómo se inicializan las variables globales - incluso la "pista principal" Karputov es "flotante".

Y la última vez en la 4, recuerdo que el tema se planteó ya en 2011.

p.s. Deberías crear tú mismo este hilo, Artem -- piensa en un nombre que diga -- tienes un programa de prueba allí -- deja que el motor de búsqueda encuentre el tema.

No hay problema. Lo hice. Espero que sea posible compartir allí otros conocimientos y métodos.
 
Los comentarios que no son relevantes para este tema se han movido a "Pista, empieza a haber lag)".