Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 3243

 
fxsaber #:

Standart bir MA'daki modeli yalnızca keneler üzerinde kontrol etmek.

...

Çalışan bir şablon.

ve hala belirsiz: onnx-sinyali bu çalışma şablonuna nasıl girecek?

 
blef #:

ve hala belirsiz: onnx-sinyali bu çalışma şablonuna nasıl girecek?

Bu işlevin gövdesinin varyantı aracılığıyla.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerini test etme üzerine forum

Ticarette makine öğrenimi: teori, modeller, uygulama ve algo-ticaret

fxsaber, 2023.09.13 19:28

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

Her kene girişe gelir - çıktı, ticaret sinyali hakkında ONNX kararıdır.

Böyle bir fonksiyonun gövdesinin bir varyantı yukarıda gösterilmiştir. ONNX durumunda kendi modeli.onnx bağlanır.


EA şablonu değişmeden kalır.

 
fxsaber #:

Bu işlevin vücut varyantı aracılığıyla.


Her kene girişe gelir - çıktı, ticaret sinyali hakkında ONNX kararıdır.

Böyle bir fonksiyonun gövdesinin varyantı yukarıda gösterilmiştir. ONNX durumunda, kendi model.onnx'i bağlanır.


ÇD şablonu değişmeden kalır.

yani bu fonksiyonun gövdesi bu sayfadaki MQL5 Yardımında belirtilen fonksiyonları uygulamalıdır - https://www.mql5.com/ru/docs/onnx?

Документация по MQL5: ONNX модели
Документация по MQL5: ONNX модели
  • www.mql5.com
ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
blef #:

yani bu fonksiyonun gövdesi bu sayfadaki MQL5 Yardımında belirtilen fonksiyonları uygulamalıdır - https://www.mql5.com/ru/docs/onnx?

ONNX oturumunun oluşturulması ve silinmesinden sorumlu olan ilk üçü hariç.
 
Anlıyorum, açıklama için teşekkürler - Savunma Bakanlığı konusunda bir şeyler yapmaya çalışacağım.
 
blef #:

yani bu fonksiyonun gövdesi bu sayfadaki MQL5 Yardımında belirtilen fonksiyonları uygulamalıdır - https://www.mql5.com/ru/docs/onnx?

Şöyle bir şey.

// Торговый сигнал.
double SignalONNX( const MqlTick &Tick )
{
  struct ONNX
  {
  public:
    const long Handle;
    
    ONNX( const string FileName ) : Handle(::OnnxCreate(FileName, ONNX_DATA_TYPE_DOUBLE)) {}
    ~ONNX() { ::OnnxRelease(this.Handle); }
  } static const Model("model.onnx"); // Подключили модель с автоматическим отключением.
  
  OnnxRun(Model.Handle, ONNX_DATA_TYPE_DOUBLE, ...); // Прогоняем данные через модель, получаем результат.
  
  // .... Обрабатываем результат вычислений.
  
  return(0); // Возвращаем торговый сигнал.
}
 
fxsaber #:

Bu doğru.


Her şey yolunda.
Ancak fonksiyon tarafından döndürülen değer neden çift?
 

Nedense sürekli sinir ağlarından bahsediyor.

Ama burada listelenen bir dönüştürücü var

Microsoft 'un ONNXMLTools'umodelleri ONNX formatına dönüştürmenize olanak tanır.

Aşağıdaki modelleri dönüştürme kapasitesine sahiptir

ONNX formatına dönüştürme (ONNXMLTools)

ONNXMLTools, çeşitli makine öğrenimi araç setlerindeki modelleriONNX formatına dönüştürmenize olanak tanır.

Kurulum ve kullanım talimatlarıGitHub'daki ONNXMLToolsdeposunda mevcuttur.

Destek

Şu anda aşağıdaki araç setleri desteklenmektedir:

Bu listede sinir ağlarından çok daha fazla sinir ağı DEĞİL vardır

Документация по MQL5: ONNX модели
Документация по MQL5: ONNX модели
  • www.mql5.com
ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Andrey Dik #:

Sonuç olarak, iyi.
ancak fonksiyon tarafından döndürülen değer neden çifttir?

Çünkü son şablonun kendisi, alınan alım satım sinyallerini işlemek için orijinalinden daha zor olabilir.

Şablonu tartışmamız gerekiyordu. Hadi geçelim.

 

ONNX'te girdi verileri vektörler ve matrislerdir.

Hazır bir modelden tahmin yapmak için bu özelliklerle idare etmek mümkün olabilir (bir matrisin tek bir veri türü vardır, bu da tahminci seçeneklerini sınırlar), ancak bir µl modelini eğitmek imkansızdır: herhangi bir ilkel model bile çok daha fazla sayıda çeşitli girdi parametresine sahiptir.

Örneğin, RF'yi bir matrise sürmek imkansızdır:

randomForest( x, y=NULL, xtest=NULL, ytest=NULL,

ntree=500,

mtry=if (! is.null( y) && ! is.factor( y)) max(floor( ncol( x)/3), 1) else floor( sqrt( ncol( x))),

ağırlıklar=NULL,

replace=TRUE,

classwt=NULL,

kesme,

tabakalar,

sampsize = if ( replace) nrow( x) else ceiling(.632*nrow( x)),

nodesize = if (! is.null( y) && ! is.factor( y)) 5 başka 1,

maxnodes = NULL,

önem=YANLIŞ,

localImp=FALSE,

nPerm=1,

yakınlık,

oob.prox=yakınlık,

norm.votes=TRUE,

do.trace=FALSE,

keep.forest=! is.null( y) && is.null( xtest), c

orr.bias=FALSE, keep.inbag=FALSE, ...)

Bu nedenle, yalnızca python'da eğitim, test ve diğer eğlenceler ve ardından µl'ye yükleme ve test cihazı tarafından EA'da kontrol için dönüştürme. µl'de test için tahmin edicilerin nasıl ve nerede hazırlanacağı, µl'de kod mu yazılacağı yoksa python'a mı dönüleceği ve ondan tahmin için tahmin ediciler mi alınacağı.... ve hatta modelin eğitildiği tahmin edicilerle aynı olup olmadıkları açık değildir.