Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 3240

 
mytarmailS #:
Modelos em madeira também são possíveis
SanSanych Fomenko #:

Vi em algum lugar que você pode colocar no ONNX tudo o que está disponível na bíblia do Scikit, e há todos os tipos de modelos e uma grande quantidade deles.

Bem, não vou discutir, não sou muito forte em ONNX .

 
Pergunta para os desenvolvedores: os modelos ONNX no MT são executados no processador ou na placa de vídeo?
 

Outra questão importante é se o modelo obterá informações sobre o ambiente de negociação - quais posições estão abertas, o que há no histórico....

 
Rorschach #:
Pergunta aos desenvolvedores: os modelos ONNX no MT são executados no processador ou na placa de vídeo?
Na CPU, usando instruções AVX/AVX2/AVX512 em qualquer terminal ou compilação de testador. Esse é um sistema executivo que funciona de forma pequena e rápida.

E o ONNX também funciona sem problemas no Linux e em Macs. Não são necessários sistemas de suporte adicionais.

As GPUs são essenciais apenas no estágio de treinamento.
 
Aleksey Vyazmikin #:

Outra questão importante é se o modelo receberá informações sobre o ambiente de negociação - quais posições estão abertas, o que há no histórico.....

O sistema de teste consistirá em três componentes:
1) nosso modelo de robô único
2) seu wrapper model.mq5 no código-fonte para fornecer entrada/saída de dados para o modelo ONNX, interpretação dos resultados e geração de negociações
3) model.onnx - seu modelo neural
 
Há uma grande quantidade de informações sobre o ONNX em nosso site.

Use o mecanismo de busca.
 

Renat Fatkhullin #:

As GPUs são essenciais justamente no estágio de aprendizado.

O ONNX poderia ser uma alternativa para o OpenCL. Mas isso é apenas uma ideia por enquanto.

 
Renat Fatkhullin #:
1) nosso modelo de robô único

O modelo de robô para o Tester está em discussão.

// Торговый сигнал.
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);
    }
  }
}

O código é conciso, por isso é imediatamente legível. Ele tem três estados: comprar, vender, não fazer nada.

Não vejo sentido em complicá-lo, adicionando MM, etc. Então, com o MO, você tem que se esforçar mais.


O elemento de aleatoriedade é eliminado se você exigir que a frequência das transações (uma por dia, por exemplo) corresponda aos valores anteriores. Em geral, podemos discutir algo no nível do código.

 
Renat Fatkhullin #:
Há uma grande quantidade de informações sobre a ONNX em nosso site.

Use o mecanismo de busca.

O suporte a zipmap será adicionado? Nem todos os modelos têm esse recurso desativado durante a conversão.

conveniência para

ONNX: parâmetro de saída tem tipo não suportado 'ONNX_TYPE_SEQUENCE'

Agora, se eles forem até lá, quase todo mundo vai conseguir, mas não terá o desejo e a capacidade de editar arquivos ONNX.
 
Renat Fatkhullin #:
O sistema de teste consistirá em três componentes:
1) nosso modelo de robô único
2) seu wrapper model.mq5 no código-fonte para fornecer entrada/saída de dados para o modelo ONNX, interpretação dos resultados e geração de negociações
3) model.onnx - seu modelo neural

Obrigado, isso já está melhor!

A classe de negociação será padrão ou posso usar a minha própria, com um wrapper mais conveniente?