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

 
Alexey Viktorov:

El problema está en la organización del código. He intentado mirarlo, pero está escrito de tal manera que mi cerebro no lo percibe. Y no sé cómo explicar cuáles son los errores.

Sólo puedo aconsejarte que empieces por el principio y en orden.

  1. Empieza por señalar todas las velas N.
  2. A continuación, establezca una condición para elegir la vela que desea resaltar.
Y por último, aprende a utilizar el depurador.

Para no tener que explicarlo todo aquí, he dado los comentarios completos en mi hilo. Echa un vistazo, si no te importa...

 
Сергей Таболин:

Para no ser demasiado prescriptivo, he dado los comentarios completos en mi hilo. Echa un vistazo, si no te importa...

Sergey, no tengo ningún deseo de entrar en el código. Es como en el proverbio: "Si se clava una garra, se pierde todo el pájaro". Sólo el principio.

   if(rates_total - prev_calculated > 1)
   {
      if(prev_calculated == 0)
      {

Cuando prev_calculado == 0, ¿puede haber rates_total - prev_calculado < 1?

 
Alexey Viktorov:

Sergei, no tengo ningún deseo de entrar en el código. Al fin y al cabo, es como el proverbio: "Si una garra se atasca, todo el pájaro se pierde". Sólo el principio.

Cuando prev_calculado == 0, ¿puede rates_total - prev_calculado < 1?

Sí, puede. En cada garrapata. Si no existe el hecho de abrir un nuevo bar y no hay cambio de historia, y si no es la primera carrera. Siempre es cero en estos casos.

 
Artyom Trishkin:

Puede. En cada garrapata. A falta de la apertura de un nuevo bar y sin cambio de historia, y si no la primera carrera. En estos casos siempre es cero.

Artyom echa un vistazo más de cerca. Si no hay barras calculadas Entonces nos encontramos con que no hay ninguna barra en el gráfico. Entonces, ¿qué hay que contar? Probablemente podría haber sido en MT3 y tal sobre-seguro se está extendiendo desde allí.

 
Alexey Viktorov:

Sergei, no tengo ningún deseo de entrar en el código. Al fin y al cabo, es como el proverbio: "Si una garra se atasca, todo el pájaro se pierde". Sólo el principio.

Cuando prev_calculado == 0, ¿puede rates_total - prev_calculado < 1?

Bueno, seamos sinceros)))

Sin embargo, me sorprendió... No soy experto en indicadores, pero por la documentación sé exactamente, que al inicio prev_calculado = 0 y más allá tanto como se cuenta. Datos totales 100, contados 100-100=0...

¡Pero eso no es lo importante! ¡Mi condición no es < sino > ! La diferencia es evidente. Y así es como determino el momento de inicio del indicador. Quizá no sea correcto según todos los cánones, pero funciona. La pregunta es ¿por qué cuando se llenan los buffers del indicador (¡correcto!) no se dibujan las velas?

¡Dame una pista!

 
Alexey Viktorov:

Artyom echa un vistazo más de cerca. ¡¡¡Si no hay barras calculadas!!! Entonces, ¡¡¡no hay barras en el gráfico en absoluto!!! ¿Qué hay que contar entonces? Probablemente podría estar en MT3 y ese reaseguro viene de ahí.

Has hecho una pregunta clara:

¿Puede rates_total - prev_calculated < 1?

y obtuve la misma respuesta clara: en el 99,99% de los casos :)

Tú mismo te has inventado la cifra del porcentaje :)

 
Artyom Trishkin:

Has hecho una pregunta clara:

y tienes una respuesta igualmente clara: el 99,99% de las veces :)

La cifra del porcentaje la has sacado tú mismo :)

¿Y la primera parte de la línea y la pregunta en su conjunto?

 

Сергей Таболин:

Datos totales 100, contados 100 100-100=0...

Lee mis respuestas a Artyom. Sólo hay dos.

 
Сергей Таболин: La pregunta es por qué no se dibujan las velas cuando se llenan los búferes del indicador (¡correctamente!).

Señala el camino.

¿Está seguro de que el relleno es correcto?

Te sugerí que empezaras seleccionando barras después de un número N, o al menos un último cierre. ¿Lo has probado? ¿Se puede renderizar? ¿No te interesa tener éxito con tu propio cerebro? Estás pidiendo que te metan la nariz en......... te ofreces a demostrarle a alguien lo inteligente que es......... yo desde luego no lo haré.

 
Alexey Viktorov:

¿Está seguro de que el relleno es correcto?

Te sugerí que empezaras seleccionando barras después de un número N, o al menos un último cierre. ¿Lo has probado? ¿Se puede renderizar? ¿No te interesa tener éxito con tu propio cerebro? Estás pidiendo que se meta la nariz en ......... sugiriendo que alguien demuestre cuánto más inteligente es......... Definitivamente no voy a hacer eso.

Alexey, estoy interesado )))) ¡Pero no veo el error! Y no hay que avergonzarse de aprender. Y si alguien es más inteligente o tiene más experiencia, tampoco veo nada malo en ello.

Acabo de iniciar un indicador con un gran parámetro de entrada para el tamaño de una vela. Quiero tener candelabros más pequeños.

2020.08.08 10:38:51.184 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора.
2020.08.08 10:38:51.343 newCandles (USDJPY,H1)  2019.01.02 06:00:00 >>> Свеча 00000 >> open = 109.419 hihg = 109.462 low = 105.388 close = 105.388 > Сформирована за 122162 тика.
2020.08.08 10:38:51.785 newCandles (USDJPY,H1)  2019.01.03 00:41:15 >>> Свеча 00001 >> open = 105.388 hihg = 109.388 low = 105.268 close = 109.388 > Сформирована за 1336258 тиков.
2020.08.08 10:38:55.673 newCandles (USDJPY,H1)  2019.01.17 21:50:34 >>> Свеча 00002 >> open = 109.388 hihg = 112.398 low = 105.388 close = 105.388 > Сформирована за 11546466 тиков.
2020.08.08 10:38:57.434 newCandles (USDJPY,H1)  2019.08.09 18:57:55 >>> Свеча 00003 >> open = 105.388 hihg = 109.388 low = 104.453 close = 109.388 > Сформирована за 5400916 тиков.
2020.08.08 10:38:59.257 newCandles (USDJPY,H1)  2019.11.07 17:57:24 >>> Свеча 00004 >> open = 109.388 hihg = 112.225 low = 105.384 close = 105.384 > Сформирована за 5555641 тик.
2020.08.08 10:38:59.391 newCandles (USDJPY,H1)  2020.03.06 11:47:26 >>> Свеча 00005 >> open = 105.384 hihg = 105.732 low = 101.377 close = 101.377 > Сформирована за 272724 тика.
2020.08.08 10:38:59.488 newCandles (USDJPY,H1)  2020.03.09 15:37:48 >>> Свеча 00006 >> open = 101.377 hihg = 105.378 low = 101.187 close = 105.378 > Сформирована за 314847 тиков.
2020.08.08 10:39:00.400 newCandles (USDJPY,H1)  2020.03.10 21:05:27 >>> Свеча 00007 >> open = 105.378 hihg = 109.385 low = 103.094 close = 109.385 > Сформирована за 2045775 тиков.
2020.08.08 10:39:03.802 newCandles (USDJPY,H1)  2020.03.19 04:13:11 >>> Свеча 00008 >> open = 109.385 hihg = 111.711 low = 105.385 close = 105.385 > Сформирована за 10250092 тика.
2020.08.08 10:39:03.974 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора закончен.

Todos los precios de las velas se calculan y se rubrican a partir de los buffers de los indicadores. Todo es correcto. Pero no había ninguna representación. Y no entiendo por qué...