MQL'de asenkron ve çok iş parçacıklı programlama - sayfa 6

 
Andrey Pogoreltsev :

MQL5, OrderSendAsync gibi bir eşzamansızlığa sahiptir.

Ağ veya dosya sistemi ile etkileşime gelince - WinAPI kullanın, çözümü yukarıda yazdım. Bana göre her şey bunun için var. Bu yöntemlerin nasıl kullanılacağını Microsoft web sitesinde okuyabilirsiniz. Keşfedilmemiş başka neler var?)

Evet, OrderSendAsync hakkında bilgim var, ancak bu yalnızca sipariş göndermek içindir.
Yaklaşık olarak bu yöne baktı WinAPI, ancak akışların mql'de bulunmadığı konusundaki bilgisizlik nedeniyle, içerme kutusundaki prototipler yanıltıcıydı.

 
Andrey Pogoreltsev :

MQL5'te asenkron var, örneğin OrderSendAsync.

MQL4/5, MQL kod yürütmesinde her zaman uyumsuzluğa ve çoklu iş parçacığına sahiptir https://www.mql5.com/en/docs/runtime/running

onlar. her şey hazır, tek sorun MQL programları arasında veri alışverişi, geliştiricilerin hazır bir çözümü yok veya daha doğrusu, terminalin yalnızca küresel değişkenleri var - veri alışverişini bu şekilde tasarladılar - çok uygunsuz ve verimsiz, ancak KB'de veri alışverişi için hazır çözümler var

Yukarıda NN eğitiminden bahsedilmişti - orada çoklu okuma gerekiyor, peki, evet, ancak MT ile sadece Alglib sağlanıyor ve ne kadar süre kullandım, NN eğitiminin 1-2 saniyeden fazla gerekli olduğunu görmedim, yani. neden hız var - üçüncü taraf NS paketleri kullanıyorsanız - seçenek yok, MT'den çıkmanız gerekiyor - dll kullanın, o zaman yine veri alışverişi ve çoklu iş parçacığı düzenlemedeki sorun nedir? - dll'deki her şeyi uygularsın

Python'lardan bahsediliyordu ... hız konusunda hiçbir sorun yok, NS'nin gelişimi için çok, çok özel bir ortam, her şey orada görünüyor, ancak onu kullanmak mümkün değil - bekle ve bekle .. en heyecan verici şey Python'da NS ile çalışmaktır! )))

Not: Bu kavramın normal anlamında Python'da çoklu kullanım yoktur , ancak burada yanılıyor olabilirim, Python'u gerçekten sevmiyorum - çok fazla gürültü ve ana akım, her şey kutunun dışında çalışıyor, ama .... ancak böyle bir fren sistemi ile çalışmak mümkün değil, tek artı - Python için birçok hazır kod ve büyük bir çevrimiçi topluluk

 

Çıplak işaretçiler neden bu kadar güvensiz?

Bence geliştiriciler kurnaz ve asıl sebep onların dll'den çekmelerine izin vermemek. Büyük olasılıkla, bazı zor çağrı kuralları konuldu.

 
Vict :

Çıplak işaretçiler neden bu kadar güvensiz?

Bence geliştiriciler kurnaz ve asıl sebep onların dll'den çekmelerine izin vermemek. Büyük olasılıkla, bazı zor çağrı kuralları konuldu.

Moderatörün yazdığı gibi, güvenlik nedeniyle fiziksel bellek adreslerine erişim kapatılmıştır.
Tecrübeli vicdansız kodlayıcılar, derlenmiş programın herhangi bir öğesine erişim sağlayabilir.

 
Roman :

Moderatörün yazdığı gibi, güvenlik nedeniyle fiziksel bellek adreslerine erişim kapatılmıştır.
Tecrübeli vicdansız kodlayıcılar, derlenmiş programın herhangi bir öğesine erişim sağlayabilir.

İnanması zor. Yetişkin dilleriyle rekabete gerek yok. Ve tüm bu çipler, aynı amaçlar için yeniden derleme sırasında boyutu değiştirmek gibi.

 
Vict :

İnanması zor. Yetişkin dilleriyle rekabete gerek yok. Ve tüm bu çipler, aynı amaçlar için yeniden derleme sırasında boyutu değiştirmek gibi.

Hayır, hayır, mql4'teki genel geri derlemeyi hatırlayın, birikmiş hatalar dikkate alındı ve koruma uygulandı.
Genel olarak, bu, doğrudan WinAPI çağrılarının aleyhine, etkili bir güvenlik seçimidir, ancak dll'ye erişim açık olduğundan, işlevsellik değişmez, etkileşim şekli değişir.
Bu nedenle, şimdi herhangi bir yerde programınızın bir geri derlemesini ve olası bir bilgisayar korsanlığını bulamayacaksınız. Ve bu iyi ve geliştiricilere saygı.

 
Vict :

Çıplak işaretçiler neden bu kadar güvensiz?

admin Renat, Metaquotes'un her zaman güvenlik sağlaması garantili bir çözüm seçtiği soruları her zaman yanıtladı, peki, bir seçenek olarak, kodunuzu derlenmiş ex4 /'e ekleyebilecek bir bellek işaretçisi aldıktan sonra kendi virüsünüzü enjekte edebileceksiniz. ex5


Roma :

doğrudan WinAPI çağrılarının zararına

yine yirmi beş! ne zararı? bir çalışma zamanı var, program orada dönüyor, bu çalışma zamanı olmadan bağımsız olarak çalışamaz - anlaşıldı mı?

- WinAPI kullanarak bir Python işlev gövdesini ayrı bir işlemde çalıştırabilir misiniz?

-..... WinAPI kullanarak Java'dan fonksiyon gövdesi ?

-..... WinAPI kullanarak WordBASIC'ten işlev gövdesi?


bir seçenek olarak, burada Metaquotes kesin bir cevap verdi - bu tür işlevsellik sağlanmadı, komuta zincirinde daha ileri gidin: Python Yazılımında, Oracle, Microsoft'ta yazıyoruz - onlara başka bir beyin verin

)))

 
Roman :

Hayır, hayır, mql4'teki genel geri derlemeyi hatırlayın, birikmiş hatalar dikkate alındı ve koruma uygulandı.
Genel olarak, bu, doğrudan WinAPI çağrılarının zararına, etkili bir güvenlik seçimidir, ancak dll'ye erişim açık olduğundan, işlevsellik değişmez, etkileşim şekli değişir.
Bu nedenle, şimdi herhangi bir yerde programınızın bir geri derlemesini ve olası bir bilgisayar korsanlığını bulamayacaksınız. Ve bu iyi ve geliştiricilere saygı.

Piyasadan alınan alt detaylar dikkate alınarak native olarak derlenmeye başlandı.

Renat

Koruma sistemi tamamen değiştirildiğinden, yapı 500'den zaten zayıf bir şekilde ayrıştırılmıştır.

MQL5 motoruna ve Market'e geçtikten sonra, geri derlemeli konu tamamen ölecek. Kim bilmiyor - pazardaki ürünler satın alma sırasında 32/64 yerel olarak derlenir (saf montajcı, hiçbir şekilde geri derleme yapmaz) ve alıcının donanımı altında şifrelenir.

Ve diğer bazı sitelerden meta alıntılarla derlemek bile faydalıdır - herkesi kendinize çekmek, onları korkunç ve kötü kod çözücülerle korkutmak. Genel olarak - kişisel değil, sadece iş.
 
fxsaber :

Yalnızca MQL çerçevesinde, her iki görev de EA sayacının otomatik olarak başlatılmasıyla çözülür.

İşte böyle yaptım. Doğru, Web-Talebi kullanmıyorum, ancak otomatik optimizasyon - TS Ligi ile zaten bir şeyim var - sonuna kadar çalışıyor. Ayrıca seçim birkaç geçişte gerçekleşir, önce "temiz" sistem optimize edilir, parametreleri sabitlenir, ardından başabaş optimizasyonu başlatılır, parametreleri sabitlenir ve ardından (gerekirse) koruyucu hatların optimizasyonu başlatılır. Dahası, her yerde çerçevelerle çalışma ve onlardan veri işleme var.

Gerekli tüm çoklu kullanım, varsayılan olarak zaten mevcuttur.

 
Igor Makanu :

admin Renat, Metaquotes'un her zaman güvenlik sağlaması garantili bir çözüm seçtiği soruları her zaman yanıtladı, peki, bir seçenek olarak, kodunuzu derlenmiş ex4 /'e ekleyebilecek bir bellek işaretçisi aldıktan sonra kendi virüsünüzü enjekte edebileceksiniz. ex5

Bir hata ayıklayıcı altında bir uzmanla bir terminal başlatamayacağımı ve yürütmenin hangi göreli adresten başladığını bulamayacağımı gerçekten düşünüyor musunuz? Herhangi bir fonksiyon veya değişkenin adresi? Başka bir şey de bu adreslerin değişebilmesidir (hileler nedeniyle), ancak teoride normal işaretçilerin bana vereceği her şeyi bulabilirim.

Başka bir şey onları korkutuyor - çalışma zamanında işaretçiler aracılığıyla işlevlerin adreslerini bulun ve bunları dll'lere çekin.