LSTM Library
- Kütüphaneler
- Thalles Nascimento De Carvalho
- Sürüm: 4.12
- Etkinleştirmeler: 5
Algoritmik Trading için Profesyonel Sinir Ağı Kütüphanesi
LSTM Library, tekrarlayan sinir ağlarının gücünü MQL5 trading stratejilerinize getirir. Bu profesyonel düzeydeki uygulama, genellikle yalnızca özel makine öğrenimi çerçevelerinde bulunan gelişmiş özelliklere sahip LSTM, BiLSTM ve GRU ağlarını içerir.
Ana Özellikler
- LSTM, BiLSTM ve GRU'nun tam implementasyonu
- Daha iyi genelleme için tekrarlayan dropout
- Çoklu optimizasyon algoritmaları (Adam, AdamW, RAdam)
- Gelişmiş normalizasyon teknikleri
- Kapsamlı metrik değerlendirme sistemi
- Eğitim ilerleme görselleştirmesi
- Sınıf ağırlıkları ile dengesiz veri desteği
Teknik Özellikler
- Saf MQL5 implementasyonu - harici bağımlılık yok
- Trading uygulamaları için optimize edilmiş
- Kapsamlı hata işleme ve doğrulama
- Eğitilmiş modelleri kaydetme/yükleme için tam destek
- Kapsamlı dokümantasyon
Entegrasyon Talimatları
LSTM Library'yi Expert Advisor'ınıza entegre etmek için şu adımları izleyin:
1. Kütüphanenin Tam İçe Aktarımı
#import "LSTM_Library.ex5" // Kütüphane Bilgileri void GetLibraryVersion(string &version); void GetLibraryInfo(string &info); // Model Yönetimi int CreateModel(string name); int DeleteModel(int handle); // Katman Oluşturma int AddLSTMLayer(int handle, int units, int input_size, int seq_len, bool return_seq); int AddLSTMLayerEx(int handle, int units, int input_size, int seq_len, bool return_seq, double recurrent_dropout); int AddGRULayer(int handle, int units, int input_size, int seq_len, bool return_seq); int AddBiLSTMLayer(int handle, int units, int input_size, int seq_len, bool return_seq); int AddBiLSTMLayerEx(int handle, int units, int input_size, int seq_len, bool return_seq, double recurrent_dropout); int AddDenseLayer(int handle, int input_size, int units, int activation); int AddDropoutLayer(int handle, double rate); int AddBatchNormLayer(int handle, int size); int AddLayerNormLayer(int handle, int size); // Derleme ve Eğitim int CompileModel(int handle, int optimizer, double lr, int loss); int SetClassWeights(int handle, double &weights[], int n_classes); int EnableConfusionMatrixTracking(int handle, int n_classes); int GetConfusionMatrix(int handle, int &confusion_matrix[]); int FitModel(int handle, double &X_train[], double &y_train[], int n_train, int input_dim, double &X_val[], double &y_val[], int n_val, int epochs, int batch); // Tahmin ve Değerlendirme int PredictSingle(int handle, double &input_data[], int input_size, double &output_data[]); int PredictBatch(int handle, double &X[], int n_samples, int input_dim, double &predictions[]); double EvaluateModel(int handle, double &X[], double &y[], int n_samples, int input_dim); double CalculateClassificationMetrics(double &y_true[], double &y_pred[], int n_samples, int n_classes, double &precision[], double &recall[], double &f1[]); // Veri Ön İşleme int CreateScaler(); int DeleteScaler(int handle); int FitScaler(int handle, double &data[], int samples, int features); int TransformData(int handle, double &data[], double &transformed[], int samples, int features); int InverseTransform(int handle, double &transformed[], double &original[], int samples, int features); int FitTransformData(int scaler, double &data[], double &transformed[], int samples, int features); // Geri Çağrılar ve Planlayıcılar int AddEarlyStopping(int handle, int patience, double min_delta); int AddProgressBar(int handle, int epochs); int AddCosineScheduler(int handle, double base_lr, int T_0, int T_mult); int AddOneCycleLR(int handle, double max_lr, int total_steps); // Yardımcı Programlar int PrintModelSummary(int handle); int SetModelTrainingMode(int handle, int training); int GetModelTrainingMode(int handle); int SaveModel(int handle, string filename); int LoadModel(int handle, string filename); int SaveHistory(int handle, string filename); void CleanupAll(); int GetActiveModelsCount(); int GetActiveScalersCount(); #import
2. OnInit()'de Başlatma
int model_handle = 0; int OnInit() { // LSTM modeli oluştur model_handle = CreateModel("TradingModel"); if(model_handle <= 0) return INIT_FAILED; // Katmanları ekle if(AddLSTMLayer(model_handle, 32, 5, 10, false) <= 0) return INIT_FAILED; if(AddDropoutLayer(model_handle, 0.2) <= 0) return INIT_FAILED; if(AddDenseLayer(model_handle, 32, 1, 1) <= 0) return INIT_FAILED; // Modeli derle (Adam optimizer, MSE kaybı) if(CompileModel(model_handle, 1, 0.001, 0) <= 0) return INIT_FAILED; // Mevcut modeli varsa yükle if(FileIsExist("model.bin")) LoadModel(model_handle, "model.bin"); return INIT_SUCCEEDED; }
3. OnDeinit()'de Temizleme
void OnDeinit(const int reason) { if(model_handle > 0) { SaveModel(model_handle, "model.bin"); DeleteModel(model_handle); } CleanupAll(); }
4. OnTick()'de Kullanım
void OnTick() { // Özellikleri hazırla double features[50]; // Örneğin, 5 özellik * 10 dizi uzunluğu // Piyasa verileriyle özellik dizisini doldur // ... // Tahmin yap double prediction[]; if(PredictSingle(model_handle, features, ArraySize(features), prediction) > 0) { if(prediction[0] > 0.5) { // Yükseliş sinyali - alım emri ver } else { // Düşüş sinyali - satım emri ver } } }
TRADİNG'DE MAKİNE ÖĞRENİMİNİN GÜCÜNDEN YARARLANIN
LSTM Library, EA'larınıza ve göstergelerinize kolayca entegre edilecek şekilde tasarlanmış olup, MetaTrader 5'te doğrudan gelişmiş makine öğrenimi yetenekleri sağlar.
Trading sistemlerinizde sinir ağı tabanlı tahminler uygulamaya başlamak için yukarıdaki kod örneğini izleyin. Basit örnek, özel ihtiyaçlarınıza kolayca uyarlanabilir.
Trading stratejilerinizde bu kütüphanenin tüm potansiyelini kullanmak için aşağıda detaylandırılan gelişmiş özellikleri keşfedin.
Mevcut Gelişmiş Özellikler
Tekrarlayan Katman Varyantları
- AddLSTMLayerEx() - Daha iyi genelleme için tekrarlayan dropout ile LSTM
- AddBiLSTMLayerEx() - Tekrarlayan dropout ile çift yönlü BiLSTM
Normalizasyon ve Düzenlileştirme
- AddBatchNormLayer() - Sabit eğitim için toplu normalizasyon
- AddLayerNormLayer() - Katman normalizasyonu
Dengesiz Veri İşleme
- SetClassWeights() - Azınlık sınıfları için ağırlık ayarlama
- EnableConfusionMatrixTracking() - Sınıf bazında detaylı performans izleme
Gelişmiş Optimizasyon
- AddCosineScheduler() - Sıcak yeniden başlatmalarla döngüsel öğrenme oranları
- AddOneCycleLR() - Tek Döngü Öğrenme Oranı uygulaması
Kapsamlı Değerlendirme
- PredictBatch() - Daha yüksek verimlilik için toplu tahminler
- EvaluateModel() - Test verileri üzerinde tam değerlendirme
- CalculateClassificationMetrics() - Detaylı metrikler (hassasiyet, geri çağırma, F1)
Veri Ön İşleme
- CreateScaler/FitScaler - Giriş verilerinin normalizasyonu
- TransformData/InverseTransform - Ölçekler arası dönüşüm
Gereksinimler
- MetaTrader 5
- Makine öğrenimi kavramlarının temel anlayışı
- Orta seviye MQL5 programlama becerileri
TRADING SİSTEMLERİNİZİ GÜÇLENDİRİN
Mevcut stratejilerinizi ve göstergelerinizi doğrudan MQL5'te makine öğreniminin gücüyle dönüştürün. Bu doğrudan entegrasyon, harici bağlantılar, Python bağımlılıkları ve API karmaşıklıkları olmadan – trading platformunuz içinde sadece saf tahmin gücü anlamına gelir.
İster fiyat tahmin sistemleri, ister volatilite tahmini veya gelişmiş desen tanıma geliştiriyor olun, LSTM Library, değişen piyasa koşullarına uyum sağlayan gerçekten akıllı trading kararları için temel sağlar.
Anahtar kelimeler: LSTM Hisse Senedi Tahmini, LSTM Fiyat Tahmini, Sinir Ağı Trading, MQL5 Derin Öğrenme, Zaman Serisi Tahmini, Forex Makine Öğrenimi, Kripto Para AI Trading, Piyasa Desen Tanıma, BiLSTM Trading Sistemi, GRU Piyasa Analizi, AI Algoritmik Trading, MQL5 Derin Öğrenme, Fiyat Yönü Tahmini, HFT için Makine Öğrenimi
