- ONNX Desteği
- Model Dönüştürme
- Otomatik Veri Türü Dönüştürme
- Model Oluşturma
- Model Çalıştırma
- Strateji Sınayıcıda Çalıştırma
- OnnxCreate
- OnnxCreateFromBuffer
- OnnxRelease
- OnnxRun
- OnnxGetInputCount
- OnnxGetOutputCount
- OnnxGetInputName
- OnnxGetOutputName
- OnnxGetInputTypeInfo
- OnnxGetOutputTypeInfo
- OnnxSetInputShape
- OnnxSetOutputShape
- Veri Yapıları
Model Oluşturma
ONNX formatında hazır bir model elde etmek için birçok yöntem mevcuttur. Popüler ONNX Model Zoo kütüphanesi, farklı görev türleri için önceden eğitilmiş birkaç ONNX modeli içerir. Bu koleksiyonun avantajı, her modelin not defterinin eğitim veri kümesine linkler ve model mimarisini açıklayan orijinal belgeye referanslar içermesidir.
Çoğu makine öğrenimi çerçevesi Python'ı kullanır. Python için ONNX çalışma zamanını kurmak adına aşağıdaki komutlardan birini kullanın:
pip install onnxruntime # CPU build
|
Python'da ONNX çalışma zamanını çağırmak için aşağıdaki komutu kullanın:
import onnxruntime
|
Model girdileri ve çıktıları için ilgili modelin dokümantasyonuna bakın. Modeli görüntülemek adına Netron veya WinML Dashboard gibi görselleştirme araçlarını kullanabilirsiniz. ONNX çalışma zamanında, modelin meta verilerini, girdilerini ve çıktılarını sorgulayabilirsiniz:
results = session.run(["output1", "output2"], {
|
ONNX modellerini Python'ı kullanarak doğrudan MetaTrader 5 terminalinde veya MetaEditor'da oluşturabilirsiniz.
MetaTrader 5'te Python
MetaTrader 5, Python komut dosyaları için kullanıma hazır destek sunmaktadır. Bu amaçla, terminal geliştiricileri Python için MetaTrader5 modülü sağlamıştır: https://pypi.org/project/MetaTrader5.
MetaEditor entegre geliştirme ortamı, yalnızca MQL5'te uygulama yazmanıza değil, aynı zamanda Python komut dosyalarını doğrudan düzenleyiciden çalıştırmanıza da olanak tanır. Bunu yapmak için MetaEditor ayarlarından yürütülebilir dosyanın yolunu belirtin:
Python bilgisayarınızda kurulu değilse, kurulum dosyasını indirmek için Kura tıklayın.
MetaEditor'da bir Python komut dosyası oluşturabilir veya onu terminalin veri klasörüne aktarabilir ve F7 (Derle) tuşunu kullanarak hemen çalıştırabilirsiniz. Devamında MetaTrader 5 terminali açılacak ve komut dosyası mevcut grafikte başlatılacaktır. Python konsolundan (stdout, stderr) gelen mesajlar Hatalar bölümü altında görüntülenecektir.
MetaTrader 5'te modellerle çalışma
MQL5 dili, ONNX modellerini doğrudan MetaTrader 5 terminalinde çalıştırmanıza olanak sağlar. Bu üç adımda yapılır:
- Modeli Python gibi üçüncü taraf bir platformda eğitin
- Modeli ONNX'e dönüştürün
- ONNX modelini, ONNX fonksiyonunu kullanarak bir Uzman Danışmana dahil edin ve MetaTrader 5 terminalinde çalıştırın
MQL5 dilinin Python entegrasyonu, Python komut dosyasının çalıştırılmasına ve ONNX modelinin MetaEditor'da kaydedilmesine veya doğrudan MetaTrader 5'te grafik üzerinde çalıştırılmasına olanak tanır. Modeli, önceden yazılmış bir Python komut dosyası kullanarak doğrudan terminalde ihtiyaç duyduğunuz sıklıkta eğitebilirsiniz. Kütüphane, fiyat verilerini elde etmek için ONNX modeline girdi olarak kullanılabilecek hazır fonksiyonlar içerir:
- copy_rates_from - belirtilen tarihten itibaren çubukları alır
- copy_rates_from_pos - belirtilen indeksten itibaren çubukları alır
- copy_rates_range - belirtilen tarih aralığı için çubukları alır
- copy_ticks_from - belirtilen tarihten itibaren tikleri alır
- copy_ticks_range - belirtilen tarih aralığı için tikleri alır
Model örneği #
Herkese açık projelerde hazır bir ONNX modeli örneği bulunmaktadır. İlk olarak, MetaEditor ayarlarından MQL5 giriş kimliğinizi (büyük/küçük harfe duyarlı) belirterek Kılavuzdan MQL5 Depoyu etkinleştirmelisiniz.
Etkinleştirdikten sonra, ONNX.Price.Prediction projesini bulun ve içerik menüsü komutuyla projeye katılın.
Ardından, projeyi MQL5 Depodan güncelleyin.
Proje bir ONNX modeli, iki Python komut dosyası, projenin çalışması için bir MQL5 komut dosyası ve bir MQL5 proje dosyası (ONNX.Price.Prediction.mqproj) içermektedir.
Projede yer alan PricePredictionTraining.py komut dosyasını kullanarak kendiniz bir ONNX modeli oluşturabilirsiniz. Bunun için öncelikle komut satırından gerekli modülleri kurmalısınız.
python.exe -m pip install --upgrade pip
|
Modülleri kurduktan sonra MetaEditor'da PricePredictionTraining.py komut dosyasını açın ve Derle butonu yada F7 tuşu ile çalıştırın.
Python komut dosyasını çalıştırmadan önce, MetaTrader 5 terminalinin EURUSD sembolünün mevcut olduğu bir sunucuya bağlı olduğundan emin olun. Örneğin, MetaQuotes-Demo sunucusuna bağlanın ve terminal ayarlarından "Python ile entegrasyon" seçeneğini işaretleyin.
Ağı eğitirken, MetaEditor, eğitim tamamlanana kadar Python komut dosyasından mesajlar yazdıracaktır.
Sonuç %100 olduğunda, ONNX modeli hazırdır ve <terminal veri klasörü>\MQL5\Shared Projects\ONNX.Price.Prediction\Python yolundaki proje klasörüne kaydedilir.
Ortaya çıkan modeli, F7'ye basıp ikinci PricePrediction.py komut dosyasını çalıştırarak kontrol edebilirsiniz.