Errores, fallos, preguntas - página 907

 
x100intraday:

Lo cierto es lo contrario. Bajo el control visual personal se descarga todo el historial en el primer inicio, al final de la descarga se comprueba con la tecla Home con ir al principio de 1994 en M1. A continuación, paso por alto manualmente los plazos que utilizo con frecuencia, así como los relevantes para el indicador multitemporal, espero a que se formen y vuelvo a cargar el terminal. Eso es todo.

Por lo que tengo entendido, todas las TF se construyen sobre la marcha desde la M1. Es decir, al reiniciar el terminal, se "olvidan" todos los dibujos anteriores y al reiniciar el terminal de nuevo se necesita tiempo para su cálculo.

Intente antes de todos los cálculos insertar en su indicador la descarga de toda la historia necesaria (para todos los símbolos y TFs usados), como se hace en este script:

   for(int s=0; s<SymbolsCount; s++)
     {
      for(int p=0; p<PeriodsCount; p++)
        {
          if(!CheckLoadHistory(SymbolsName[s],StringToPeriod(PeriodsName[p]),BarsCount)) return;
         }
     }
sHistoryExport - удобный скрипт для экспорта исторических данных в формате МetaТrader 4
sHistoryExport - удобный скрипт для экспорта исторических данных в формате МetaТrader 4
  • votos: 14
  • 2012.11.12
  • Andrey Khatimlianskii
  • www.mql5.com
Экспорт всех необходимых инструментов и тайм-фреймов одним кликом с загрузкой и проверкой истории.
 
komposter:

Por lo que tengo entendido, todas las TF se construyen sobre la marcha desde la M1. Es decir, al reiniciar el terminal se "olvidan" todos los dibujos anteriores y en un nuevo inicio el terminal necesita tiempo para calcularlos de nuevo.

Intente antes de todos los cálculos cargar todo el historial necesario en su indicador (para todos los símbolos y los TFs utilizados), como se hace en este script:

Yo, en todo caso, me refiero a este directorio:

C:\NArchivos de Programa\NMetaTrader 5\NBases de Datos\NMetaQuotes-Demo\Nhistoria\NNZDUSD\Ncache,

Si por "construcciones" entendemos la creación de marcos temporales no M1. Pero todavía no los veremos en el lanzamiento inicial del terminal y pasaremos por alto los plazos no M1 para su formación y la posibilidad de seguir trabajando con ellos, aunque el terminal estará completamente listo para funcionar y no sólo manualmente. Sin embargo, después de descargar el terminal y también durante las ejecuciones posteriores, los plazos generados anteriormente pueden verse fácilmente en el mismo directorio. Pero como no se evaporan con la descarga, sino que permanecen y parece que se añaden durante los siguientes recorridos, es poco probable que la terminal necesite tiempo para recalcular completamente el plazo solicitado.

Pero cuando se trata del indicador - todo se recalcula sobre la marcha en todas las profundidades requeridas, he decidido no molestarse en guardar los cálculos anteriores, aunque tenía esa idea.

Tu código, tal y como yo lo veo, no es más que la pre-sincronización del historial local con el del servidor? Si es así, llevo mucho tiempo planeándolo, pero todavía no he conseguido añadir un bloque tan sencillo a mi código.

 
komposter, aunque mencioné deliberadamente que el terminal está listo para funcionar plenamente en el primer inicio (después de que se haya descargado el historial necesario y se hayan ajustado las opciones), personalmente tomo precauciones y empiezo a informar del comportamiento estabilizado del terminal sólo a partir del segundo inicio (debido a esta incertidumbre, que los tiempos no configurados en M1 se guarden de forma fiable en el disco y no se queden colgados en algún lugar de la RAM y puedan empezar a intercambiar de forma incómoda y pesada a expensas del SO cuando haya falta de memoria, y pueda dañarse). Así que, en teoría, el indicador no debería fallar desde el segundo inicio de MT5. Pero por alguna razón sólo se detuvo en la décima ejecución, aunque las otras nueve ejecuciones de MT5 no cambiaron nada, todo fue monótono.
 
x100intraday:

Tu código, según entiendo, no es otra cosa que la pre-sincronización del historial local con el del servidor? Si es así, lo he estado planeando durante mucho tiempo, pero todavía no tengo tiempo para añadir un bloque tan simple a mi código.

No sólo la sincronización con el servidor, sino también la construcción de todos los TFs.

Descargue la biblioteca, inserte 3 líneas de código en su indicador y vea el resultado.

 

No entiendo por qué la función ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0) devuelve cero al probar el indicador, mientras que las barras visibles son al menos 30

(verificado por ChartGetInteger(0,CHART_VISIBLE_BARS,0)

En los gráficos normales - todo está bien, uno difiere del otro en 1, pero cuando se hace la prueba, hay esta tontería...

¿Cómo puedo deshacerme de él?

 
Поясните, почему в данном простом индикаторе с двумя массивами - второй  имеет нулевой размер??

{Код удалил после ответа на вопрос чтобы не занимал место}



 
dimonsky: Explica por qué en este sencillo indicador con dos matrices, la segunda tiene un tamaño cero.
#property indicator_plots 2
 
avoitenko:
¡¡¡Gracias!!!
 
¿Puedo utilizar una segunda cuenta aquí? Ciertamente no para acumular créditos
 
Zeleniy:

¿Puedo utilizar una segunda cuenta aquí? No con el fin de acumular créditos, por supuesto.
Pregunta natural. ¿Por qué? ))
Razón de la queja: