De la teoría a la práctica - página 532

 
Igor Makanu:

Es decir, es más fácil comprobar las ideas en Matlab (o hacerlas desde cero en MQL), pero si quieres portar una idea a MQL, tendrás que estudiar ALGLIB.

¿Para qué? Además de Alglib hay un montón de librerías y paquetes bien documentados. Tanto en R como en Python. Y es mucho más amplio que Alglib. Casi todo está en C++. Puerto y uso.

En general, sin una modelización previa en el lado cualquier estrategia más o menos compleja en MQL es poco probable. Y entonces ni siquiera querrás traducirlo a MQL)).

SZZ En los últimos 10 años, por diversas razones, he cambiado varios terminales y llegué a la conclusión de que el ATS no debería depender del terminal. Y ahora estoy trabajando con 2 terminales diferentes. El terminal sólo debe ser el proveedor de datos y el "ejecutor" de las solicitudes.

 
Yuriy Asaulenko:

¿Por qué? Hay muchas librerías y paquetes bien documentados además de Alglib. Ya sea en R o en Python. Y mucho más amplio que Alglib. Casi todo está en C++. Puerto y uso.

En general, sin una modelización previa en el lado cualquier estrategia más o menos compleja en MQL es poco probable. Y entonces ni siquiera querrás traducirlo a MQL)).

SZZ En los últimos 10 años por diversas razones he cambiado varios terminales y llegué a la conclusión de que el ATS no debe depender del terminal. Y ahora estoy trabajando con 2 terminales diferentes. El terminal sólo debe ser un proveedor de datos y "ejecutor" de solicitudes.

Bueno, he portado AlgLib como práctica de programación para MT5 - también lo estoy estudiando para entender el concepto, por así decirlo, de cómo se construye AlgLib - estuve una semana, el resultado es positivo

Bueno, la verificación de las ideas - es real para portar rápidamente algo a MT5, pero a la interfaz de usuario, la tarea se vuelve más complicada.

Bueno, la ventaja no menos importante de Matlab es que tiene un montón de cosas ya hechas en la web, por desgracia uno no tendría ganas de entender R y Python, le llevará otros 3-4 meses de lectura y pruebas )))).

SZS: Alguien escribió en el foro que las empresas de TI ahora no valoran la calidad de la escritura de código, sino la velocidad de las pruebas de las ideas. Entiendo que todo el nuevo software requiere recursos, pero para nuestros propósitos el concepto es correcto.

 
Igor Makanu:

Bueno, la verificación de las ideas - algo puede ser rápidamente portado a MT5, pero hasta que la interfaz de usuario, la tarea se vuelve más complicada. Con Matlab es más fácil - aquí es una fórmula, sólo tiene que escribir, comprobar y visualizar.

Bueno, la ventaja no menos importante de Matlab es que tiene un montón de cosas ya hechas en la web, por desgracia uno no tendría ganas de entender R y Python, le llevará otros 3-4 meses de lectura y pruebas )))).

SZS: Alguien escribió en el foro que las empresas de TI ahora no valoran la calidad de la escritura de código, sino sólo la velocidad de las pruebas de las ideas. Entiendo que todo el nuevo software requiere recursos, pero para nuestros propósitos el concepto es correcto.

Pues bien, las ventajas de MathLab para la modelización son indiscutibles: es rápido, cómodo y eficaz. R, Python, etc. no son inferiores en este sentido, salvo que son gratuitos.

Python (que ahora intenta hacer algo real en el fondo, muy lentamente) gusta por el hecho de que es bueno tanto como entorno de modelado como de desarrollo. Es decir, tras el modelado tienes un sistema listo de inmediato. Sólo queda conectarlo al terminal. https://www.mql5.com/ru/forum/269426

Делаем торговую систему на Python для МТ.
Делаем торговую систему на Python для МТ.
  • 2018.07.30
  • www.mql5.com
Возникла мысль написать торговую систему на Python, и коли уж возникла, почему-бы не сделать эту систему общедоступной...
 
Yuriy Asaulenko:

Bueno, no hay desacuerdo sobre las ventajas de MathLab para la modelización: rápido, cómodo, rápido. R, Python, etc. no son inferiores en este sentido, salvo que son gratuitos.

Python (que ahora intenta hacer algo real en el fondo, muy lentamente) gusta por el hecho de que es bueno tanto como entorno de modelado como de desarrollo. Es decir, tras el modelado tienes un sistema listo de inmediato. Sólo queda conectarlo al terminal. https://www.mql5.com/ru/forum/269426

Si tienes un buen conocimiento de Python, puedes utilizarlo como entorno de modelado o puedes utilizar una dll de estilo antiguo.

o intentar hacerlo al 100% desde cero en una MT4 pura ))))

ZS: no hay problema en comprobar tus ideas, todas las plataformas están bastante desarrolladas - juzgo por la comunidad, cualquier pregunta confusa se resuelve durante un día - un montón de foros en ruso y participantes activos, pero el problema es diferente.... ¡en las áreas correctas de investigación!

 
Igor Makanu:

pero el problema es otro.... ¡en la dirección correcta de la investigación!

Bueno, para eso está el modelado, no para escribir un ATC directamente.

Modelé la anterior centralita durante unos seis meses. Al final resultó ser un sistema muy sencillo y bonito. Pero en el proceso hubo más que suficientes complicaciones).

Aquí casi no hay visualización. Todos los registros se escriben en la base de datos Access.

 
RRR5:

¿Cómo?


¿cómo se linealiza la función y=ax2+bx+c?

tomar una regresión múltiple regular, introducir 2 precios - regular y al cuadrado

y la salida es sólo el precio

simplemente no lo necesitas en su forma desnuda

 
Maxim Dmitrievsky:

no compila, ¿puedo tener un ejemplo de cómo usarlo?

Está mal escrito. Este es un archivo de soporte de depuración. Si lo coges también, tirará de muchas cosas.

Desinstale el inlude de este archivo y elimine todos los ASSERTs y TRACEs.

 
Georgiy Merts:

Este es un archivo de soporte de depuración.

Elimínelo y borre todos los ASSERTs y TRACEs.

Sí ok, ya me lo imaginé, gracias... No sé para qué lo necesito, sólo para ver cómo codifica la gente inteligente)

 

En el indicador de regresión polinómica que publiqué, la regresión se implementa a través de una función:

double regression_QRMA(int period,int shift,int price) 
  {
   double lwma= iMA(NULL,0,period,0,MODE_LWMA,price,shift);
   double sma = iMA(NULL,0,period,0,MODE_SMA,price,shift);
   double qwma= ma_qwma(period,shift,price);
   double value=3.0*sma+qwma *(10-15/(period+2))-lwma *(12-15/(period+2));
   return(value);
  }

donde

double ma_qwma(int period,int shift,int price) 
  {
   double sum=0;
   int j,i;
   for(j=shift,i=1;j<shift+period; j++,i++) 
     {
      sum+=switch_getPrice(price,j)*MathPow(period-i+1,2);
     }
   double value=6.0/(period *(period+1) *(2*period+1));
   return(value*sum);
  }


double switch_getPrice(int price,int shift) 
  {
   switch(price) 
     {
      case 0:
         return(Close[shift]);
      case 1:
         return(Open[shift]);
      case 2:
         return(High[shift]);
      case 3:
         return(Low[shift]);
      case 4:
         return((High[shift]+Low[shift])/2);
      case 5:
         return((High[shift]+Low[shift]+Close[shift])/3);
      case 6:
         return((High[shift]+Low[shift]+Close[shift]+Close[shift])/4);
      default:
         return(Close[shift]);
     }
  }


¿es correcto?)
¿es posible implementar el ISC a través de los asistentes?)

 
RRR5:
En ese indicador de regresión polinómica que publiqué, la regresión se implementa a través de una función:
¿es esto correcto?)
¿Es posible aplicar un CNA a través de un maniquí?)

Pues bien, la corrección, véala usted mismo. La fórmula para calcular el valor me parece bastante extraña. Está claro que no es MNC, pero puede ser algo intermedio.

Sobre el "MOC a través de magos" - muy dudoso. El método de los mínimos cuadrados consiste en buscar los coeficientes de la curva de aproximación de forma que la suma de los cuadrados de las diferencias de los valores de la fuente y de los puntos aproximados sea mínima.

Tomamos los puntos iniciales, para cada abscisa contamos las ordenadas aproximadas, restamos las ordenadas reales, elevamos al cuadrado y sumamos todos los cuadrados. Diferenciamos esta suma por cada incógnita (las incógnitas son los coeficientes de la curva de aproximación), y obtenemos un sistema de ecuaciones. Si lo aproximamos por un polinomio obtenemos un sistema de ecuaciones algebraicas lineales. Me parece que no importa cómo lo retuerzas, no conseguirás lo mismo.