Prueba de los sistemas de previsión en tiempo real - página 74

 
neoclassic писал(а) >>
Puede ver el archivo forecast.csv

Ya no :o( ¡Pero tendré más este fin de semana! :o)

 
Necesito entender la estructura de los datos. Recuerdo haber resuelto un problema similar, necesitaba visualizar las trayectorias en un gráfico. Pero para ello he utilizado un indicador. Por lo tanto, era necesario obtener la longitud de las trayectorias para determinar SetIndexShift. El archivo con las trayectorias tenía el siguiente formato: líneas con valores de la 1ª trayectoria, vacío, 2ª, vacío, etc. Para determinar la longitud, se comprobaba si cada lectura tenía una línea vacía y, cuando se encontraba, se rellenaba el siguiente búfer y se determinaba con un desplazamiento. Espero que haya servido de algo.
 
grasn >> :

Escribí un script para generar una matriz de realizaciones probables (es muy simple):

Así es como funciona el script:

Cómo determinar automáticamente la longitud de la muestra de probabilidad de un archivo de texto es un misterio para mí, hasta ahora se establece manualmente. Si tiene alguna idea, por favor, aconséjeme.

Tengo una función en ShowSeries para determinar el tamaño de la serie - se hace en un global por una lectura extra del archivo, así:

int GetFileCount()
{
  int count = 0;
  int columns = 0;
  int handle = FileOpen( FileName, FILE_CSV| FILE_READ, Delimiter);
  if( handle > 0)
  {
    while(!FileIsEnding( handle))
    {
      string x = FileReadString( handle);
      if(StringLen(StringTrimLeft(StringTrimRight( x))) == 0) break;
      if( count == 0)
      {
        columns++;
      }
      if(FileIsLineEnding( handle))
      {
        count++;
      }
    }
    FileClose( handle);
  }
  Comment("Column ", ColumnNo, "(", columns, "),", " Lines:", count);
  return( count);
}

Si se guarda en un archivo de formato binario, se puede calcular rápidamente mediante la fórmula obvia (longitud-encabezado del archivo-si es) / tamaño-un-registro.

Sin embargo, no entiendo el beneficio de usar un montón de objetos en lugar de indicadores. Yo, por el contrario, si por casualidad necesito utilizar algún código en el que se apliquen objetos, lo convierto en buffers. Los únicos objetos que son necesarios son los pies de foto, imho ;-), y sólo porque methacquotes no se molestó en hacer indicadores de texto.

Y otro punto importante. No podremos construir el TS por objetos. Un indicador debe ser de señal - dar señales disponibles a través de iCustom.

Yo descartaría esta dirección con objetos como compra-diseño inadecuada ;-). Pero, por supuesto, tú lo sabes mejor que nadie.

 
neoclassic >> :
Necesito entender la estructura de los datos. Recuerdo haber resuelto un problema similar, necesitaba visualizar las trayectorias en un gráfico. Pero he utilizado el indicador para este propósito. Por lo tanto, era necesario obtener la longitud de las trayectorias para determinar SetIndexShift. El archivo con las trayectorias tenía el siguiente formato: líneas con valores de la 1ª trayectoria, vacío, 2ª, vacío, etc. Para determinar la longitud, se comprobaba si cada lectura tenía una línea vacía y, cuando se encontraba, se rellenaba el siguiente búfer y se determinaba con un desplazamiento. Espero que haya servido de algo.

Hay una matriz. Sólo necesito determinar el tamaño de esa matriz.

 
marketeer >> :

Tengo una función en ShowSeries para determinar el tamaño de la serie - hecha oblicuamente por una lectura extra del archivo, así:

Si se guarda en un archivo binario, se puede calcular rápidamente mediante la fórmula obvia (longitud-archivo-cabecera-si es) / tamaño-un-registro.

Sin embargo, no entiendo el beneficio de usar un montón de objetos en lugar de indicadores. Yo, por el contrario, si hay necesidad de utilizar algún código en el que se apliquen objetos, lo convierto en buffers. Los únicos objetos que son necesarios son los pies de foto, imho ;-), y sólo porque methacquotes no se molestó en hacer indicadores de texto.


He visto la función e incluso he entendido conceptualmente lo que hace. Lo que queda por entender es cómo funciona. OK. Me tomaré un tiempo durante el fin de semana y lo pensaré, y si no lo entiendo, pediré una explicación.


Y otro punto importante. No podremos construir el TS por objetos. El indicador debe ser señal - dar señales disponibles a través de iCustom.

Cerraría así con objetos como diseño de compra errónea). Pero, por supuesto, tú lo sabes mejor.


Esto lo sé, pero por ahora sólo lo necesito para visualizar las previsiones. Por supuesto que habrá un nivel para negociar, y yo introduciré los datos en las matrices :o)

 
grasn >> :

hay una matriz. Sólo necesito determinar el tamaño de esa matriz.

Si cada fila de la matriz es una trayectoria, entonces haría
   while(FileIsEnding( Handle)==false)
   {
      if(FileIsLineEnding(Handle)) //если строка закончилась, начинаем новую траекторию с 0
      {
         i=0;
      }

      COUNT=FileReadString( Handle);
      realisation=NormalizeDouble(StrToDouble( COUNT), 5);

      ObjectCreate(DoubleToStr( idCount, 10), OBJ_ARROW, 0,Time[0]- timeShift*15*60)+( i)*Period()*60+1, realisation);
      ObjectSet(DoubleToStr( idCount, 10), OBJPROP_ARROWCODE, 250);
      
      i= i+1;
      idCount= idCount+1;

   }
 
neoclassic >> :
Si cada fila de la matriz es una trayectoria, entonces haría

Hasta ahora grasn ha generado archivos en los que las filas son recuentos de tiempo y las trayectorias se escriben por columnas. Mantener esta disposición sería más conveniente, al menos en mi opinión;-) -Lo uso en todas partes. Por cierto, también lo hace Deductor.

 

He mirado el código del indicador que puso grasn en la página anterior, lee las trayectorias por filas. El problema, por lo que entiendo, es que necesito saber la longitud de las trayectorias para empezar a dibujar desde la barra 0 en el tiempo.

El método sugerido por mí detecta automáticamente el final de línea y mueve el carro :-).

Sobre lo que es más conveniente - estoy de acuerdo.

 
Colegas, muchas gracias por los consejos. Lo intentaré.
 

EURUSD, M15.

Previsión de 300 recuentos (algo más de 3 días).

Principales trayectorias:


Dos grupos de trayectorias más probables, aproximadamente "iguales":


Transferido a MT:



PD1: Por si acaso, el sistema está en fase de pruebas, es demasiado pronto para utilizarlo en el comercio.

PD2: Sospecho fuertemente que el gráfico se "desplazará" hacia la historia en la primera cita.

Archivos adjuntos:
files.rar  44 kb
Razón de la queja: