Discusión sobre el artículo "Comprendemos la "memoria" del mercado usando la diferenciación y el análisis entrópico" - página 9

[Eliminado]  
clemmo:

Estoy recibiendo estos errores:

1. Parece EA está tratando de vender, pero la colocación de paradas como si se tratara de una compra?
2019.07.25 04:35:35.174 Operaciones '666': falló mercado vender 0.10 USDCHF sl: 0.98139 tp: 0.99039 [paradas no válidos]

2. El EA se elimina en la formación de una nueva barra o vela.

3. 3. El EA sólo puede colocar operaciones de venta (¿a menos que esto sea por diseño durante la fase de optimización?)

4. ¿El EA utiliza un volumen de operaciones diferente sólo para el NZDUSD?

update0: después de más pruebas puedo decir que el problema de la eliminación automática está relacionado con la configuración personalizada de la captura de pantalla de hiperparámetros. Intentaré aislar cuál es.
update1: Está relacionado con el ajuste de la profundidad del historial a 1500. Intentaré ver si diferentes valores crean resultados diferentes. Estoy probando en M1 y M15 y tienen suficiente historial de precios.
update2: EA se eliminará si History_depth 1027 >= ||<= 956

5. Después de algún tiempo la ventana de entropía se reducirá a un tamaño pequeño como en la captura de pantalla.

update3: Puedo sugerir que el problema con sell-only está relacionado con un marco de tiempo demasiado bajo utilizado en las pruebas (M1). Esto genera valores de entropía muy grandes que están fuera de los límites? Las pruebas en M15>= crean órdenes tanto de compra como de venta.

update4: Puedo sugerir que el problema del tamaño de la ventana de entropía está relacionado con el tamaño inicial de la ventana del gráfico. Si se escala a pantalla completa la ventana aparece OK.

update5: Después de intentar modificar los números mágicos ahora todos los gráficos se eliminan en la siguiente barra. He probado a reiniciar el terminal y a utilizar nuevos gráficos. No estoy seguro de qué más probar, no hay errores en el registro. No puedo hacer más pruebas.

Hola, creo que hay algunos problemas con la normalización de la entropía, es por eso que cambian sus valores con el tiempo. Tal vez un poco más tarde arreglar esto e incluir otro indicador Acerca de otros problemas - Creo que no entiendo completamente. ¿Tal vez tiene algunos errores en el registro de terminal?

 

Hola Maxim,

Intenté compilar el fractional_entropy_trader pero apareció el siguiente mensaje de error:

virtual_optimizer' - function already defined and has different type Auto_optimizer.mqh line 47 col 18

¿Puedes aconsejarme cómo puedo solucionar este problema?

Gracias

Daniel

 

Muy complicado de entender,

¿Qué conocimientos básicos necesitas para tratar este tema?

¿Tiene todo esto algo que ver con el cálculo integral?

 
Alexander:

Muy complicado de entender,

¿Qué conocimientos básicos necesitas para tratar este tema?

¿Tiene todo esto algo que ver con el cálculo integral?

  1. ¡Sólo hay suma y multiplicación!
  2. En lugar de matemáticas, intenta comprender el flujo del programa.
  3. La entropía es simplemente una medida en física para el desorden - aquí: alta entropía = muchas fluctuaciones de precios.
 
kttongsg:

Hola Maxim,

Intenté compilar el fractional_entropy_trader pero apareció el siguiente mensaje de error:

'virtual_optimizer' - function already defined and has different type Auto_optimizer.mqh line 47 col 18

¿Puede aconsejarme cómo puedo solucionar este problema?

Gracias

Daniel

Hola, acabo de leer el articulo y estoy a punto de compilar, pero para ayudarte un poco: Localiza las 2 definiciones de función, renombra la conflictiva, con esto debería bastarte para compilarlo.

 

Buenas tardes,

Me gustaría retomar el tema

Prado Aprendizaje automático: algoritmos para la empresa

Listado 5.4. Encontrar el valor mínimo de d que pasa con éxito la prueba estadística ADF

def plotMinFFD():
from statsmodels.tsa.stattools import adfuller
path,instName='./','ES1_Index_Method12'
out=pd.DataFrame(columns=['adfStat','pVal','lags','nObs','95%
conf','corr'])
df0=pd.read_csv(path+instName+'.csv',index_col=0,parse_dates=True)
for d in np.linspace(0,1,11):
df1=np.log(df0[['Close']]).resample('1 D').last() # понизить до
# суточных наблюдений
df2=fracDiff_FFD(df1,d,thres=.01)
corr=np.corrcoef(df1.loc[df2.index,'Close'],df2['Close'])[0,1]
df2=adfuller(df2['Close'],maxlag=1,regression='c',autolag=None)
out.loc[d]=list(df2[:4])+[df2[4]['5%']]+[corr] # с критическим
# значением
out.to_csv(path+instName+'_testMinFFD.csv')
out[['adfStat','corr']].plot(secondary_y='adfStat')
mpl.axhline(out['95% conf'].mean(),linewidth=1,color=
'r',linestyle='dotted')
mpl.savefig(path+instName+'_testMinFFD.png')
return

Código Python del libro - esta función determina el grado mínimo de diferenciación fraccionaria,quien esté familiarizado con Python, traduce. En mi opinión

es exactamente lo que falta en el artículo para la aplicación práctica del método ( o enviar a una persona perezosa a la dirección correcta - preferiblemente con la función).

[Eliminado]  
Олег:

Buenas tardes,

Me gustaría volver al tema


Listado 5.4. Encontrar el valor mínimo de d que pasa con éxito la prueba estadística ADF

Código Python del libro - esta función determina el grado mínimo de diferenciación fraccionaria,quien esté familiarizado con Python, traduce. En mi opinión

es exactamente lo que falta en el artículo para la aplicación práctica del método ( o enviar una persona perezosa a la dirección correcta - de preferencia con la función).

El test de Dickey-Fuller puede ser útil para algunos estudios estadísticos, pero en el artículo el valor de d se busca en el optimizador, además la versión propuesta del algoritmo se reentrena constantemente, por lo que no sería de mucha utilidad aquí, en mi opinión.

https://www.mql5.com/es/code/13072
Statistical Functions
Statistical Functions
  • www.mql5.com
Набор статистических функций, которые позволяют рассчитывать некоторые значения, описывающие таймсерии, такие как корреляция между двумя таймсериями, линейная регрессия, стандартное отклонение и т.д. Набор также включает в себя более сложные функции, такие как определенный интеграл. Заголовочный файл "Statistics.mqh" содержит следующие функции...
 
Maxim Dmitrievsky:

La prueba de Dickey - Fuller podría ser útil para algunos estudios estadísticos, pero en el documento el valor de d se busca en el optimizador, además la versión propuesta del algoritmo está siendo constantemente reentrenada, por lo que no sería de mucha utilidad aquí, en mi opinión.

Yo quería utilizar la determinación automática de d en la fase de entrenamiento con el posterior procesamiento automático tanto de los datos de la muestra de entrenamiento como de los datos comerciales reales para un montón de algoritmos posteriores (si estamos hablando de métodos de aprendizaje automático - bueno, no lo estamos, quiero decir...).
[Eliminado]  
Олег:
Yo quería utilizar la detección automática de d en la fase de entrenamiento seguido por el procesamiento automático de ambos datos de la muestra de entrenamiento y los datos reales de comercio para un montón de algoritmos posteriores (si estamos hablando de métodos de aprendizaje automático - bueno, no lo somos, quiero decir ...).

He dado un enlace de arriba, parece que funciona

 

Hay una prueba de Dickey-Fuller en MQL, pero es una prueba de una serie para la estacionariedad. Hay un ejemplo de preprocesamiento por el método de Box-Cox en Hubre, para lo cual el código de la determinación automática del parámetro lambda - que tiene un valor similar a la d discutido - se dio en un viejo artículo en el sitio.

El método de Box-Cox en forex no siempre conduce a la estacionariedad de la serie (casi siempre no hasta el final) y se requiere un procesamiento adicional. Es como un intento de sustituir el método BC con diferenciación fraccionaria (con autodeterminación del mejor valor de d) que mi pregunta debe ser visto.

Tengo pleno respeto por usted y el artículo que ha escrito, mi pregunta es realmente innecesario en el marco del artículo, es ya como un plan para el futuro....