Ho visto da qualche parte che è possibile inserire in ONNX tutto ciò che è disponibile nella bibbia di Scikit, e ci sono tutti i tipi di modelli e molti di essi.
Beh, non voglio discutere, non sono troppo esperto di ONNX .
Rorschach #: Domanda agli sviluppatori: i modelli ONNX in MT vengono eseguiti sul processore o sulla scheda video?
Sulla CPU utilizzando le istruzioni AVX/AVX2/AVX512 in qualsiasi terminale o build tester. Si tratta di un sistema esecutivo che viene eseguito in modo piccolo e veloce.
ONNX funziona senza problemi anche su Linux e Mac. Non sono necessari sistemi di supporto aggiuntivi.
Le GPU sono fondamentali solo nella fase di formazione.
Un'altra questione importante è se il modello riceverà informazioni sull'ambiente di trading - quali posizioni sono aperte, cosa c'è nella storia.....
Il sistema di test sarà composto da tre componenti:
1) il nostro modello di robot singolo
2) il vostro wrapper model.mq5 nel codice sorgente per fornire l'input/output dei dati al modello ONNX, l'interpretazione dei risultati e la generazione delle operazioni.
// Торговый сигнал.double SignalONNX( constMqlTick &Tick ) { return(0); }
#define MT4ORDERS_AUTO_VALIDATION // Торговые приказы отправляются только в случае успешной проверки на корректность#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006voidOnTick()
{
MqlTick Tick;
if (SymbolInfoTick(_Symbol, Tick))
{
constdouble Signal = SignalONNX(Tick);
constint 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);
}
}
}
Il codice è conciso, quindi immediatamente leggibile. Ha tre stati: comprare, vendere, non fare nulla.
Non vedo il motivo di complicarlo, aggiungendo MM, ecc. Poi con il MO bisogna sforzarsi di più.
L'elemento di casualità viene eliminato se si richiede che la frequenza delle transazioni (una al giorno, per esempio) corrisponda ai valori precedenti. In generale, possiamo discutere qualcosa a livello di codice.
Renat Fatkhullin #: Il sistema di test sarà costituito da tre componenti:
1) il nostro modello di robot singolo
2) il vostro wrapper model.mq5 in codice sorgente per fornire dati in ingresso/uscita al modello ONNX, l'interpretazione dei risultati e la generazione di operazioni.
3) model.onnx - il vostro modello neurale
Grazie, questo è già meglio!
La classe di trading sarà standard o posso usare la mia, con un wrapper più conveniente?
Sono possibili anche modelli in legno
Ho visto da qualche parte che è possibile inserire in ONNX tutto ciò che è disponibile nella bibbia di Scikit, e ci sono tutti i tipi di modelli e molti di essi.
Beh, non voglio discutere, non sono troppo esperto di ONNX .
Un'altra questione importante è se il modello otterrà informazioni sull'ambiente di trading - quali posizioni sono aperte, cosa c'è nello storico....
Domanda agli sviluppatori: i modelli ONNX in MT vengono eseguiti sul processore o sulla scheda video?
Un'altra questione importante è se il modello riceverà informazioni sull'ambiente di trading - quali posizioni sono aperte, cosa c'è nella storia.....
Renat Fatkhullin #:
Le GPU sono fondamentali proprio nella fase di apprendimento.
ONNX potrebbe essere un'alternativa a OpenCL. Ma questa è solo un'idea per ora.
In discussione è il modello di robot per Tester.
Il codice è conciso, quindi immediatamente leggibile. Ha tre stati: comprare, vendere, non fare nulla.
Non vedo il motivo di complicarlo, aggiungendo MM, ecc. Poi con il MO bisogna sforzarsi di più.
L'elemento di casualità viene eliminato se si richiede che la frequenza delle transazioni (una al giorno, per esempio) corrisponda ai valori precedenti. In generale, possiamo discutere qualcosa a livello di codice.
Sul nostro sito web è disponibile un'enorme quantità di informazioni su ONNX.
Verrà aggiunto il supporto per le zipmap? Non tutti i modelli le hanno disabilitate durante la conversione.
convenienza per
ONNX: il parametro di uscita ha un tipo non supportato 'ONNX_TYPE_SEQUENCE'.
Ora, se si va lì, quasi tutti ci riusciranno, ma non avranno la voglia e la capacità di modificare i file ONNX.Il sistema di test sarà costituito da tre componenti:
Grazie, questo è già meglio!
La classe di trading sarà standard o posso usare la mia, con un wrapper più conveniente?