El sistema perfecto de comercio mecánico.

 
Hola programadores y codificadores, filósofos y pragmáticos :) Propongo desarrollar una idea de crear un subjuego.
Para ello compartiremos nuestros pensamientos e intentaremos escribir conjuntamente esta increíble maravilla :)
En general, por orden. Acerca de mí: No soy un programador, pero tengo una gran experiencia en el comercio (más de 5 años) Estoy completamente satisfecho con mi comercio y las ganancias. Pero incluso después de todos estos años, siempre llego a la conclusión de que la experiencia y el conocimiento de los mercados financieros son imposibles de comprender por completo. Siempre hay un proceso de aprendizaje. ¿Qué cambia con el tiempo? El porcentaje de conclusiones intuitivas y analíticamente correctas sobre la dirección del mercado. Eso es probablemente todo. Al igual que todos ustedes, probablemente he estado buscando griales durante mucho tiempo y me he convencido de su ausencia, al igual que ustedes. En realidad el fin de la demogogia - volvamos al tema :).
Y así. Tomemos a priori la regla de que hay una gran cantidad de sistemas de comercio mecánico rentables, y en un determinado período de tiempo y para una determinada moneda, los mts pueden dar buenos resultados. Por eso, sea cual sea el sistema mecánico que utilicemos como base, lo principal que debe haber en él son los parámetros de ajuste de un solo usuario. Todos los parámetros deben calcularse de forma independiente, es decir, será un sistema mecánico de negociación automático (AMTS) que se optimiza en función de la volatilidad del mercado.
En esta rama me propongo compartir mis pensamientos sobre este tema y escribir poco a poco algunas partes del código que implementaría las etapas de optimización.
Repito: no soy programador, así que empezaré por lo más sencillo.
Dividiremos los parámetros autoajustables del AMTS en principales y adicionales.
Básico:
1. Número de lotes.
2. Toma de beneficios
3. Stop Loss
4. Trailing Stop
Más información en
5. Todos esos parámetros en los que se basará el AMTS.

Como base de la MM tomaremos: entrada 5% de los fondos propios, factor de beneficio no inferior a 2, relación de toma de beneficios y stop loss: 60/40.
1. Bien, en primer lugar, se implementa el número de lotes en muchos sistemas: se trata de la función LotOptimizator.
Supongamos que nuestro sistema será intradiario, respectivamente.
2. El Take Profit se calculará como el 70% de la media del movimiento diario del precio del último mes.
3. Stop Loss, respectivamente, como el 40% del Take Profit.
Sugiero calcular los niveles de Stop Loss y Take Profit a la 01:00 a.m., después de pasar al día siguiente.

En general, si el tema es interesante, expresemos nuestras ideas.
 
Puedes volver a entrenar la red neuronal en cada nuevo bar. La tarea se reduce a construir el modelo.
 

Puede volver a entrenar la red neuronal en cada nuevo bar. La tarea se reduce a construir el modelo.

Debe haber trabajado con redes neuronales. Y ya sabes que las redes neuronales multicapa no aprenden rápidamente. Y si los plazos son cortos, la red no tendrá tiempo suficiente para elaborar una solución.
No he trabajado con redes neuronales, sólo estoy leyendo. ¿Cuánto ha avanzado?

Mi idea en este sentido es el algoritmo genético autoadaptativo LGAP. Estoy trabajando en ello. Casi listo dll - plantilla.
 
Mi imho - sería un ajuste. Probé las redes neuronales. No sirvió de mucho, la verdad. ¡Y usé uno bastante bueno!

La idea siempre recae en el comerciante, porque aquí no se puede prescindir de un razonamiento fundamental. Y una red se dedicará a ajustar los datos - tiene demasiados grados de libertad - lo he comprobado en la práctica.
 
kniff писал (а):
Mi imho - sería un ajuste. Probé las redes neuronales. No sirvió de mucho, la verdad. ¡Y usé uno bastante bueno!

La idea siempre recae en el comerciante, porque aquí no se puede prescindir de un razonamiento fundamental. Y una red se dedicará a ajustar los datos - tiene demasiados grados de libertad - lo he comprobado en la práctica.

Así es como debe ser. El mercado es volátil: volatilidad, volúmenes, rangos de precios. Los parámetros tienen que cambiar rápidamente.
 
quality писал (а):
Hola programadores y codificadores, filósofos y pragmáticos :) Propongo desarrollar una idea de crear un subjuego.

Personalmente, ¡me interesa mucho este tema! ¡Preparado para participar en todos los sentidos!

Sobre los parámetros de selftuning: con lo básico todo está claro, pero ¿qué tomar como base para los parámetros adicionales, es decir, qué indicadores, niveles, canales, o qué?

Tuve una idea:
- poner varios indicadores en el gráfico (por ejemplo, RSI, Stoch, CCI, MACD, etc.) recoger "aproximadamente" los valores de estos indicadores;
- Luego, observe el historial para ver si hay retrocesos aproximados en los precios (es decir, donde se ve claramente "aquí hay que comprar, aquí hay que vender");
- luego anote los valores de todos los indicadores en estos puntos, para la compra y la venta, en una matriz o en un archivo;
- Además, en el Asesor Experto - comprobarlo (teniendo en cuenta la desviación de los valores de los indicadores en porcentaje de los valores ideales), es decir, por ejemplo, en la matriz, el valor de RSI para la compra resultó ser 20, entonces, si el porcentaje de activación es de 10, entonces la compra se activará de 18 a 22, así como con todos los demás indicadores;
- Dale, también puedes (o deberías:) añadir a la comprobación indicadores de cruce de diferentes niveles o sus líneas de señal;

Yo mismo no lo he comprobado (aunque empecé a escribir un EA experimental, aún no tengo resultados), así que no puedo decir nada sobre si funciona o no.
 
quality писал (а):

Así es como debe ser el ajuste. El mercado es volátil: volatilidad, volúmenes, rangos de precios. Los parámetros tienen que cambiar rápidamente.

Por cierto, los parámetros de todos los indicadores (en este caso, tendremos que hacer que se auto-ajuste también, pero cómo, no sé todavía). En mi ejemplo (arriba) se puede tratar de cambiar el porcentaje de desviación de los valores del indicador de la ideal, es decir, tratar de seguir los cambios del mercado, puede y probablemente debería añadir nuevas combinaciones de valores del indicador a la matriz (archivo).
 
Yo también he estado pensando en ello durante mucho tiempo. Sólo que no sé desde qué lado enfocarlo. Si hay ideas buenas y bien fundamentadas, estoy dispuesto a ponerlas en práctica. En este momento estoy muy interesado en las ideas de patrones esbozadas en 'Self Learning EXPERT ' en combinación con una red neuronal.
 
kniff, me parece que el cotejo del historial es algo muy, muy útil si es apropiado para el TIEMPO. Esto es, si el sistema se adapta con la suficiente rapidez. Así que no hay que tener miedo. Es mejor pensar en cómo adaptarse a la historia lo suficientemente rápido. Por ejemplo, el sistema posee algún vector de ajustes X. En cada momento de tiempo t, para este vector existe algún valor óptimo X' que no cambia demasiado rápido. Es decir, X'(t0) está cerca de X'(t1), si t0 y t1 están cerca. Si en el tiempo dt=t1-t0, el sistema consigue determinar correctamente el valor de X'(t0), entonces en el tiempo t1 será el valor del ajuste. Es decir, no será óptimo (el valor óptimo será X'(t1)), pero se acercará bastante al óptimo. En este sentido, aquí hay una pregunta para mis colegas que se dedicaron bastante a las pruebas (por desgracia, no puedo presumir de ello). ¿Con qué rapidez empiezan a fallar los sistemas ingenuos (no adaptables, rígidamente ajustables) cuando cambian las condiciones del mercado? ¿Hay algún tipo de punto de transición entre la rentabilidad y la caída en picado? ¿O sucede de forma abrupta y catastrófica?
 
favoritex, ¿podría explicar con más detalle qué es la LGAP? No he podido encontrar nada al respecto en Yandex, salvo una mención de que existe. Y el contexto de la mención me ha parecido interesante.
 
eugenk1:
Me parece que el ajuste de la historia es algo muy, muy útil si es apropiado para el tiempo. Esto es, si el sistema se adapta con la suficiente rapidez. Así que no hay que tener miedo. Es mejor pensar en cómo adaptarse a la historia lo suficientemente rápido. Por ejemplo, así: El sistema posee algún vector de ajustes X. En cada momento del tiempo, este vector tiene algún valor óptimo X', que no cambia demasiado rápido. Es decir, X'(t0) está cerca de X'(t1), si t0 y t1 están cerca. Si en el tiempo dt=t1-t0, el sistema consigue determinar correctamente el valor X'(t0), entonces en el tiempo t1 será el valor de los ajustes. Es decir, no es óptimo (el óptimo será X'(t1)), pero se acerca bastante al óptimo. En este sentido, aquí hay una pregunta para mis colegas que se dedicaron bastante a las pruebas (por desgracia, no puedo presumir de ello). ¿Con qué rapidez empiezan a fallar los sistemas ingenuos (no adaptables, rígidamente ajustables) cuando cambian las condiciones del mercado? ¿Hay algún tipo de punto de transición entre la rentabilidad y la caída en picado? ¿O sucede de forma abrupta y catastrófica?
Esto es exactamente lo que me gustaría, pero no :( Al parecer, todo depende del sistema. Hasta ahora, tengo la impresión de que todo sucede exactamente "de forma abrupta y catastrófica". En general, trate de Phoenix con la configuración estándar - antes del 13 de febrero de este año 100% de pérdida, y después de - abruptamente comienza un alto nivel de rentabilidad con alta - la estabilidad. Imagina la transición inversa.