Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 3240

 

Otra cuestión importante es si el modelo obtendrá información sobre el entorno de negociación: qué posiciones están abiertas, qué hay en el historial....

 
Rorschach #:
Pregunta a los desarrolladores, ¿los modelos ONNX en MT se ejecutan en el procesador o en la tarjeta de video?
En la CPU usando instrucciones AVX/AVX2/AVX512 en cualquier terminal o tester build. Este es un sistema ejecutivo que se ejecuta pequeño y rápido.

Además, ONNX funciona sin problemas también en Linux y Mac. No se necesitan sistemas de soporte adicionales.

Las GPU son fundamentales justo en la fase de entrenamiento.
 
Aleksey Vyazmikin #:

Otra cuestión importante es si el modelo recibirá información sobre el entorno de negociación: qué posiciones están abiertas, qué hay en el historial.....

El sistema de pruebas constará de tres componentes
1) nuestro modelo de robot único
2) su envoltorio model.mq5 en código fuente para proporcionar entrada/salida de datos al modelo ONNX, interpretación de resultados y generación de operaciones
3) model.onnx - su modelo neuronal
 
Hay una gran cantidad de información sobre ONNX en nuestro sitio web.

Utilice el buscador.
 

Renat Fatkhullin #:

Las GPU son fundamentales precisamente en la fase de aprendizaje.

ONNX podría ser una alternativa para OpenCL. Pero esto es solo una idea por ahora.

 
Renat Fatkhullin #:
1) nuestra plantilla de robot único

El tema de debate es la plantilla de robot para Tester.

// Торговый сигнал.
double SignalONNX( const MqlTick &Tick ) { return(0); }

#define  MT4ORDERS_AUTO_VALIDATION // Торговые приказы отправляются только в случае успешной проверки на корректность
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

void OnTick()
{
  MqlTick Tick;
  
  if (SymbolInfoTick(_Symbol, Tick))
  {
    const double Signal = SignalONNX(Tick);        
    const int Type = (MathAbs(Signal) < 1) ? -1 : (Signal < 0);
    
    if (Type != -1)
    {
      int Count = 0;

      for (uint i = OrdersTotal(); (bool)i--;)
        if (OrderSelect(i, SELECT_BY_POS))
        {
          if (OrderType() == Type)
            Count++;
          else
            OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 0);
        }
        
      if (!Count)
        OrderSend(_Symbol, Type, 1, Type ? Tick.bid : Tick.ask, 0, 0, 0);
    }
  }
}

El código es conciso, por lo que es inmediatamente legible. Tiene tres estados: comprar, vender, no hacer nada.

No veo el punto de complicarlo, añadiendo MM, etc. Entonces con MO tienes que esforzarte más.


El elemento de aleatoriedad se elimina si exiges que la frecuencia de las transacciones (una al día, por ejemplo) se corresponda con los valores anteriores. En general, podemos discutir algo a nivel de código.

 
Renat Fatkhullin #:
Hay una gran cantidad de información sobre ONNX en nuestro sitio web.

Utilice el buscador.

¿Se añadirá compatibilidad con zipmaps? No todos los modelos la tienen desactivada al convertir.

comodidad para

ONNX: parámetro de salida tiene unsuppotred tipo 'ONNX_TYPE_SEQUENCE'

Ahora bien, si van por ahí, casi todo el mundo acertará, pero no tendrán ganas ni capacidad de editar archivos ONNX.
 
Renat Fatkhullin #:
El sistema de pruebas constará de tres componentes
1) nuestro modelo de robot único
2) su envoltorio model.mq5 en código fuente para proporcionar entrada/salida de datos al modelo ONNX, interpretación de resultados y generación de operaciones
3) model.onnx - su modelo neuronal

Gracias, ¡esto ya es mejor!

¿La clase de negociación será estándar o puedo utilizar la mía propia, con una envoltura más conveniente?

 
mytarmailS #:

Eso si te refieres solo al modelo de red neuronal , no a cualquier modelo como Forest.

Aunque hgboost probablemente también esté bien.

---------------------------------

Y dice que no se puede convertir cualquier modelo, el propio modelo debe soportar este formato.

--------------------------------

Así que la conclusión es que ONNH es python, no hay salida.

Hay una lista de preparaciones de modelos recomendados para su uso. Los 3 boosts soportan tanto guardar en c++ o json como en onnx. Cualquier otro es poco práctico de usar. Con las redes neuronales es probablemente más complicado, tal vez sólo en python.

Cualquier preprocesamiento, a nivel de ejecución de un modelo ya entrenado, suele ser bastante sencillo y puede reescribirse a otro lenguaje.
 

imho, no habra concurso y no viceversa..confirmacion: en el hilo mas popular del sitio sobre MoD - todo sigue igual :-)

una pregunta a im. drimer: ¿dónde está el dinero, zin?

Todavía no hay resultados tangibles significativos (excepto la experiencia personal y el autodesarrollo). Y existe un riesgo importante de que no aparezca ninguno durante el concurso, lo que sería un fiasco. Los organizadores tienen la difícil tarea de crear las condiciones para que los caballos designados lleguen al menos a la meta.

Razón de la queja: