Fan sayfamıza katılın
- Görüntülemeler:
- 65
- Derecelendirme:
- Yayınlandı:
- Güncellendi:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
MQTTFive — MQL5 için MQTT 5.0 istemcisi
MetaTrader 5 danışmanlarını ve komut dosyalarını MQTT brokerlerine (Mosquitto, EMQX, HiveMQ) bağlamak için kullanılan kütüphane (#include). Bu kütüphane, fiyatları ve sinyalleri yayınlamaya, harici sistemlerden komutlar almaya ve danışmanların durumunu izlemeye olanak tanır.
DLL içermez — saf MQL5, özel soket API'si. MQTT v5.0 protokolü.
Özellikler
- QoS 0, 1, 2 ile gönderilemeyen mesajların otomatik olarak tekrarlanması
- CONNECT/CONNACK özellikleri: oturum süresi, kabul edilen maksimum paket sayısı, maksimum tema takma adı sayısı.
- Yayın gecikmeli mesajlar
- Konu takma adları – yinelenen konularda trafik azaltma.
- Akış yönetimi — alınabilecek maksimum veri hacmi kotasının hesaplanması.
- Abonelik seçenekleri: no_local, retain_as_published, retain_handling
- TLS/SSL, ikili yük, UTF-8
Kurulum
- Arşivdeki 5 dosyayı MQL5/Include/MQTTFive/ klasörüne kopyalayın
- Kodda: #include <MQTTFive/MQTTClient.mqh>
Örnek - fiyat yayınlama
#include <MQTTFive/MQTTClient.mqh> void OnStart () { MQTTClient client; MQTTConnectParams params; params.Init(); params.client_id = "price_pub" ; if (client.Connect( "127.0.0.1" , 1883 , params)) { double bid = SymbolInfoDouble ( _Symbol , SYMBOL_BID ); client.Publish( "mt5/price/" + _Symbol , DoubleToString (bid, _Digits ), 0 ); client.Disconnect(); } }
Örnek - Sinyallere abone olma
MQTTClient *mqtt; void OnSignal( string &topic, uchar &payload[], uint payload_len) { string msg = CharArrayToString (payload, 0 , ( int )payload_len, CP_UTF8 ); Print ( "Signal: " , topic, " = " , msg); } void OnStart () { mqtt = new MQTTClient(); mqtt.SetCallback(OnSignal); MQTTConnectParams params; params.Init(); params.client_id = "signal_sub" ; mqtt.Connect( "127.0.0.1" , 1883 , params); mqtt.Subscribe( "trade/signal/#" , 1 ); while (! IsStopped ()) { mqtt.Loop(); Sleep ( 100 ); } mqtt.Disconnect(); delete mqtt; }
Temel yöntemler
| Connect(host, port, params, useTLS) | Broker'a bağlanma |
| Disconnect() | İşlemi düzgün bir şekilde sonlandırma |
| ForceDisconnect() | TCP bağlantısını kesme (Will'i başlatır) |
| Publish(konu, yük, qos, saklama süresi) | Mesajın yayınlanması |
| Subscribe(topic, qos) | Bu konuya abone olun |
| Unsubscribe(topic) | Aboneliği iptal et |
| Loop() | Paket işleme, bağlantı sürdürme, yeniden denemeler |
| SetCallback(func) | Gelen mesajlar için geri arama işlevi |
Gereksinimler
- MetaTrader 5 (3390+ sürümü)
- MQTT 5.0 brokerı (Mosquitto >= 5.0, EMQX, HiveMQ)
Belgeler: github.com/chekh/MQTTFive
Lisans: MIT
MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/73373
Institutional Markov Chain Transition Matrix
Markov Zinciri geçiş matrislerini kullanarak, bir sonraki algoritmik yürütme döngüsünde yükseliş veya düşüş eğiliminin devam etme olasılığını matematiksel olarak tahmin eden nicel bir stokastik olasılık motoru.
Institutional Market Reversal - The SMC way
IMR, körü körüne işlem yapmayı reddeden, kendi kararlarına göre hareket eden fiyat hareketi odaklı yatırımcılar için tasarlanmış, çok katmanlı bir nicel ters dönüş tespit aracıdır. Yatırımcıların mevcut piyasa rejiminin ne olduğunu anlamalarına yardımcı olur; ister birikim, ister dağıtım, ister devam eğilimi olsun.
Long-Only Trend Breakout with Dynamic Risk Management
Breakout, yapısal boğa piyasalarında algoritmik kırılma momentumunu yakalamak üzere tasarlanmış, sade ve otomatik bir MetaTrader 5 uzman danışmanıdır.
Quantum XAUUSD Silver Trader
Altın (XAUUSD) ve Gümüş (XAGUSD) için çok göstergeli EA: RSI, ADX ve MA sinyalleri, uyarlanabilir ATR takip durdurma ve yerleşik sermaye koruması.
