¿Cómo se algoritmiza la detección de los grupos de alimentación MA? - página 15 1...89101112131415161718 Nuevo comentario Mikhail Toptunov 2020.10.23 17:22 #141 ¡Pregunta aclarada, el error estaba en añadir más parámetros de control a la clase al descargar en el EA! Buenos días, por favor, aconséjeme: ¿qué es lo que no he captado? He descargado los datos en .bat, y luego los cargo, pero sólo la primera entrada es correcta, luego los datos no coinciden. El significado del código es el siguiente indicador - Rellene los nuevos datos si están en el archivo. el asesor - Volcar datos a una clase. En indicador se sube como - //+------------------------------------------------------------------+ //| Выгружаю данные с файла если он есть | //+------------------------------------------------------------------+ void TextCsv0(int size) { ArrayFree(cand_buff); ArrayResize(cand_buff,0); long count=FileLoad("test.bin",cand_buff); if(count!=-1) { for(int i=0; i<count; i++) PrintFormat("%s\t%G\t%G\t%G\t%G\t%G\t%G\t%G\t%G\t%G\t%I64u", TimeToString(cand_buff[i].time,TIME_DATE|TIME_SECONDS), cand_buff[i].bar,cand_buff[i].period,cand_buff[i].praceMA); } TextCsv1(size,(int)count); } //+------------------------------------------------------------------+ //| Загружаю новые данные | //+------------------------------------------------------------------+ void TextCsv1(int size,int count) { int _count=0; if(count==-1) count=0; for(int i=0; i<size; i++) if(TextCsv2(count,i)==true) { ArrayResize(cand_buff,count+(int)_count+1); cand_buff[count+_count].period=Alt[i].period; cand_buff[count+_count].bar=Alt[i].bar; cand_buff[count+_count].praceMA=Alt[i].praceMA; cand_buff[count+_count].time=Alt[i].time; cand_buff[count+_count].High=Alt[i].High; cand_buff[count+_count].Low=Alt[i].Low; cand_buff[count+_count].type=Alt[i].type; _count++; } TextCsv(size,_count,count); } //+------------------------------------------------------------------+ //| Проверка на новые данные | //+------------------------------------------------------------------+ bool TextCsv2(long count,int i) { bool fl=true; for(int j=(int)count-1; j>=0; j--) if(cand_buff[j].period==Alt[i].period) if(cand_buff[j].time==Alt[i].time) return(false); return(true); } //+------------------------------------------------------------------+ //| Загрузка | //+------------------------------------------------------------------+ void TextCsv(int size,int _count, int count) { //--- откроем файл для записи массива структуры в файл (если его нет, то создастся автоматически) ResetLastError(); int file_handle=FileOpen("test.bin",FILE_READ|FILE_WRITE|FILE_BIN);//FileOpen("test "+"//"+_symbol(),FILE_READ|FILE_WRITE|FILE_BIN|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { FileSeek(file_handle,0,SEEK_END); //--- подготовим счетчик количества байт uint counter=0; //--- в цикле запишем значения массива for(int i=0; i<_count; i++) counter+=FileWriteStruct(file_handle,cand_buff[count+i]); // PrintFormat("В файл %s записано %d байт информации",_symbol(),counter); PrintFormat("Всего байтов: %d * %d * %d = %d, %s",size,4,7,size*4*7,size*4*7==counter ? "Верно" : "Ошибка"); //--- закрываем файл FileClose(file_handle); // PrintFormat("Данные записаны, файл %s закрыт",_symbol()); } else PrintFormat("Не удалось открыть файл %s, Код ошибки = %d",_symbol(),GetLastError()); } En el Asesor Experto, descárgalo de la siguiente manera - //+------------------------------------------------------------------+ //| Выгрузка | //+------------------------------------------------------------------+ void LoadFail(datetime InpTimeDrawTo) { ArrayFree(buf0); long count=FileLoad("test.bin",buf0); if(count!=-1) { for(int i=0; i<count; i++) { PrintFormat("%s\t%G\t%G\t%G\t%G\t%G\t%G\t%G\t%G\t%I64u\t%d\t%I64u", TimeToString(buf0[i].time,TIME_DATE|TIME_SECONDS), buf0[i].bar,buf0[i].period,buf0[i].praceMA,buf0[i].High,buf0[i].Low,buf0[i].type); } } } Cualquier pregunta de los Cualquier pregunta de novato, Proyecto del asesor Dmitry Fedoseev 2020.10.23 22:12 #142 Al menos deberías tener algo de código para poder ejecutarlo por tu cuenta, retorcerlo, hurgar... Mikhail Toptunov 2020.12.13 16:20 #143 Hola, continuando con la forma de reconocer los arneses MA Toma un array de 400 MAs de una barra con valores de periodo: - sm.d[per-1].m[bar] Lo he trazado en el gráfico XY para ver cómo identificar los paquetes. el rango es de la 4ª a la 400ª MA de una barra Eje X - período 4-400 Diferenciados, obtuvimos este gráfico Entiendo que las curvas formadas son un flagelo. La diferenciación se hace con la ayuda de un programa especial, pero no puedo usar mql. Tal vez, ¿quién sabe cómo hacerlo en mql5? ¡¡¡Aunque tampoco es fácil determinar el rango de este redondeo!!! ¿Alguien tiene alguna sugerencia? ¿Cómo se determina este rango? ¿O éste? Aprendizaje automático en el Método de planimetría tendencial ¿Cómo codificar? Renat Akhtyamov 2020.12.13 23:07 #144 Mikhail Toptunov:Hola, continuando con la forma de reconocer los arneses MA Toma un array de 400 MAs de una barra con valores de periodo: - sm.d[per-1].m[bar] Lo he trazado en el gráfico XY para ver cómo identificar los paquetes. el rango es de la 4ª a la 400ª MA de una barra Eje X - período 4-400 Diferenciados, obtuvimos este gráfico Entiendo que las curvas formadas son un flagelo. La diferenciación se hace con la ayuda de un programa especial, pero no puedo usar mql. Tal vez, ¿quién sabe cómo hacerlo en mql5? ¡¡¡Aunque tampoco es fácil determinar el rango de este redondeo!!! ¿Alguien tiene alguna sugerencia? ¿Cómo se determina este rango? ¿O éste? "Prodiferenciada", ¿puede explicar cómo se hace? Mikhail Toptunov 2020.12.14 07:09 #145 Creo que - ecuación diferencial ordinaria (diferenciación e integración) Derivada:1(X),2(Y) Renat Akhtyamov 2020.12.14 07:37 #146 Mikhail Toptunov: Creo que - ecuación diferencial ordinaria (diferenciación e integración) Derivada:1(X),2(Y) Por ejemplo, hay una cita ¿cómo diferenciar? sin paquetes, por código? Mikhail Toptunov 2020.12.14 07:56 #147 Renat Akhtyamov:por ejemplo hay una cita ¿cómo diferenciar? sin paquetes, por código? Perdona, ¿me estás preguntando a mí? - No tengo conocimiento de ello. Me pregunté, ¿cómo? Renat Akhtyamov 2020.12.14 08:21 #148 Mikhail Toptunov:Lo siento, ¿me estás preguntando a mí? - No lo sé. Me pregunté, ¿cómo? Sí. Interesante. aquí, buscó en Google. Diferenciación de series temporales - pasar de una serie X(t) a una serie de diferencias X(t) - X(t-1) Mikhail Toptunov 2020.12.14 20:15 #149 Renat Akhtyamov:Sí. Interesante. aquí, busqué en Google Diferenciar una serie temporal - pasar de una serie X(t) a una serie de diferencias X(t) - X(t-1) ¡No lo entiendo! Mikhail Toptunov 2020.12.14 20:23 #150 Estimados profesionales, ¿cómo se elige esta gama? 1...89101112131415161718 Nuevo comentario
¡Pregunta aclarada, el error estaba en añadir más parámetros de control a la clase al descargar en el EA!
Buenos días, por favor, aconséjeme: ¿qué es lo que no he captado?
He descargado los datos en .bat, y luego los cargo, pero sólo la primera entrada es correcta, luego los datos no coinciden.
El significado del código es el siguiente
indicador
- Rellene los nuevos datos si están en el archivo.
el asesor
- Volcar datos a una clase.
En indicador se sube como -
En el Asesor Experto, descárgalo de la siguiente manera -
Hola, continuando con la forma de reconocer los arneses MA
Toma un array de 400 MAs de una barra con valores de periodo: - sm.d[per-1].m[bar]
Lo he trazado en el gráfico XY para ver cómo identificar los paquetes. el rango es de la 4ª a la 400ª MA de una barra
Eje X - período 4-400
Diferenciados, obtuvimos este gráfico
Entiendo que las curvas formadas son un flagelo.
La diferenciación se hace con la ayuda de un programa especial, pero no puedo usar mql. Tal vez, ¿quién sabe cómo hacerlo en mql5?
¡¡¡Aunque tampoco es fácil determinar el rango de este redondeo!!! ¿Alguien tiene alguna sugerencia?
¿Cómo se determina este rango?
¿O éste?
Hola, continuando con la forma de reconocer los arneses MA
Toma un array de 400 MAs de una barra con valores de periodo: - sm.d[per-1].m[bar]
Lo he trazado en el gráfico XY para ver cómo identificar los paquetes. el rango es de la 4ª a la 400ª MA de una barra
Eje X - período 4-400
Diferenciados, obtuvimos este gráfico
Entiendo que las curvas formadas son un flagelo.
La diferenciación se hace con la ayuda de un programa especial, pero no puedo usar mql. Tal vez, ¿quién sabe cómo hacerlo en mql5?
¡¡¡Aunque tampoco es fácil determinar el rango de este redondeo!!! ¿Alguien tiene alguna sugerencia?
¿Cómo se determina este rango?
¿O éste?
Creo que - ecuación diferencial ordinaria (diferenciación e integración)
Derivada:1(X),2(Y)
Creo que - ecuación diferencial ordinaria (diferenciación e integración)
Derivada:1(X),2(Y)
Por ejemplo, hay una cita
¿cómo diferenciar?
sin paquetes, por código?
por ejemplo hay una cita
¿cómo diferenciar?
sin paquetes, por código?
Perdona, ¿me estás preguntando a mí?
- No tengo conocimiento de ello. Me pregunté, ¿cómo?
Lo siento, ¿me estás preguntando a mí?
- No lo sé. Me pregunté, ¿cómo?
Sí. Interesante.
aquí, buscó en Google.
Diferenciación de series temporales - pasar de una serie X(t) a una serie de diferencias X(t) - X(t-1)
Sí. Interesante.
aquí, busqué en Google
Diferenciar una serie temporal - pasar de una serie X(t) a una serie de diferencias X(t) - X(t-1)
¡No lo entiendo!
Estimados profesionales, ¿cómo se elige esta gama?