İki MT4 terminali arasında veri alışverişi? - sayfa 4

 

WinAPI aracılığıyla terminaller arasında böyle bir iletişim kurardım. Çalışan tüm MT4 terminalleri, açık pencereler listesinde arandı. Teklif almak için 2 seçenek vardı:


1. Bulunan terminallerin "Piyasa İzleme"sinden (ListView tipi kontrol) alıntıları okuyun. Bu yalnızca harici bir DLL'den yapılabilir.

2. Harici DLL kullanmadan. Her terminalde, başlatılan Expert Advisor, tırnaklarını (sembol için) penceresinin metin açıklamasına yazar. Ve başka bir terminalin uzmanı bu pencereyi (cihazın adıyla) bulur ve alıntıyı okur.


Bir dezavantaj vardı: Terminallerden birinde ticaret sunucusuyla bağlantı kesilirse, diğer terminaldeki Expert Advisor bunu bilmeyecek. Böyle bir durumla karşılaşmamak için terminallerin her birinin uzmanları, eğer bağlantı varsa, o anki saati bir pencerenin metin tanımlayıcısına yazın (ikinci seçenekte kendi pencerenizi kullanabilirsiniz). Bu, belirli küçük zaman aralıklarında yapılır (örneğin, 0,5 s). Peki, başka bir terminalin uzmanı bu sefer okur ve kendi terminaliyle karşılaştırır.

 
Meat :

WinAPI aracılığıyla terminaller arasında böyle bir iletişim kurardım. Çalışan tüm MT4 terminalleri, açık pencereler listesinde arandı. Teklif almak için 2 seçenek vardı:


1. Bulunan terminallerin "Piyasa İzleme"sinden (ListView tipi kontrol) alıntıları okuyun. Bu yalnızca harici bir DLL'den yapılabilir.

Ve biraz daha detay, son derece ilginç. çok minnettar olacağım
 
Sergey_Murzinov писал (а): Biraz daha detay mümkün, son derece ilginç. çok minnettar olacağım
Ne yazık ki, DLL'nin kaynağı (ve DLL'nin kendisi) şu anda elinizin altında değil. Ama genel algoritmayı burada anlattım: https://www.mql5.com/ru/forum/107435/page3

Daha fazla ayrıntıya ihtiyacınız varsa, bir arama motorunu kullanarak İnternet'te hazır bir tasarım bulabilirsiniz ("ListView'den metin al" gibi bir şey).

 

Dosyalar arasında böyle bir demet yaptım (5 terminale kadar), frenleri gözlemlemedim.

Bir ticaret işlemini tamamlamak için gereken süre, bilgi alışverişi süresinden birkaç kat daha uzundur.

 
komposter :

Dosyalar arasında böyle bir demet yaptım (5 terminale kadar), frenleri gözlemlemedim.

Bir ticaret işlemini tamamlamak için gereken süre, bilgi alışverişi süresinden birkaç emir daha uzundur.

Biliyorum bir aydan fazla oldu ama...

Burada dosyalar aracılığıyla terminalleri bağlama konusuna değindiniz, benim de kendim için uygulamak istediğim şey bu. Forumlarda zaten iki gün geçirdim, ama hala hangi yöne gideceğimi bulamadım. Tek ihtiyacım olan kayıtlı dosyayı bir terminalden diğer terminallere (uzmanlar/dosyalar) kopyalamak. Ben programcı değilim, nasıl yapacağımı bilmiyorum. Göstergeden harici bir uygulama başlatabilen ShellExecuteA işlevini kazdım, ancak bu mümkünse, üçüncü taraf işlevlerin (MQL olanlar değil) danışmandan kopyalanmaması için bir yol var. ek yarasa dosyası. Yardım, lütfen, belki hazır komut dosyalarına bir bağlantı vardır. Muhtemelen kendim anlamam zor olacak, DLL ve WinAMI benim için henüz çalışılmadı. Şimdiden teşekkürler.

 
Merak ediyorum, neden 2 DC, pozitif olarak ilişkili iki çift alıyor, aynı sonucu alıyor.
 
iskatel писал (а):П Bir aydan fazla bir süre geçtiğini anlıyorum, ama belki ... Burada dosyalar aracılığıyla terminalleri bağlama konusuna değindiniz, kendim için uygulamak istediğim şey bu. Forumlarda zaten iki gün geçirdim, ama hala hangi yöne gideceğimi bulamadım. Tek ihtiyacım olan kayıtlı dosyayı bir terminalden diğer terminallere (uzmanlar/dosyalar) kopyalamak. Ben programcı değilim, nasıl yapacağımı bilmiyorum. Göstergeden harici bir uygulama başlatabilen ShellExecuteA işlevini kazdım, ancak bu mümkünse, üçüncü taraf işlevlerin (MQL olanlar değil) danışmandan kopyalanmaması için bir yol var. ek yarasa dosyası. Yardım, lütfen, belki hazır komut dosyalarına bir bağlantı vardır. Muhtemelen kendim anlamam zor olacak, DLL ve WinAMI benim için henüz çalışılmadı. Şimdiden teşekkürler.

Burada nasıl uygulandığını görün: 'Gerçek ticaret sırasında ticaret robotunun otomatik optimizasyonu'

ShellExecuteA ile kopyalama.

 
xrust :
Merak ediyorum, neden 2 DC, pozitif olarak ilişkili iki çift alıyor, aynı sonucu alıyor.

2 DC, bu yaşam deneyiminden " tüm yumurtalarınızı bir sepete koymayın ", asla bilemezsiniz: para çekme ile ilgili sorunlar, sunucu donuyor. Benzer durumları benden daha çok bildiğine eminim. Çalışmamı otomatikleştirmek için komut dosyaları arıyorum. Aslında DC 2, daha fazla olmayacak. Elle ticaret yapmayı seviyorum ve aynı işlemleri tekrarlarsanız en azından bir yerde hata yaparsınız. Ve birkaç terminaldeki bir bilgisayar benden çok daha hızlı işlem yapacak. Ama zaten aradığını bulmuş gibi görünüyor. Forumunuz için teşekkürler, iyi bir iş çıkarıyorsunuz.

Bu arada, "pozitif olarak ilişkili çiftlerin" ne olduğunu itiraf etmeliyim, bilmiyorum. Tüm cümleden sadece "sonuç" kelimesini biliyorum.

Cevaplar için teşekkürler.

 
Sistem uzun süredir uygulanmaktadır.
detayları almak istiyorum..stu_dent [@]mailcan.com'u tıklayın
 
DentStu :
Sistem uzun süredir uygulanmaktadır.
detayları almak istiyorum..stu_dent [@]mailcan.com'u tıklayın

Evet, zaten yaptım. Yinede teşekkürler.