Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
ACCOUNT_TRADE_ALLOWED tarafından döndürülen değerlerin sunucu tarafında oluşturulduğunu doğru anladım?
Tüccarın (terminalde) hiçbir eyleminin bu değeri değiştiremeyeceğini söylemeliyim...
not
Ama ACCOUNT_TRADE_EXPERT'in değişme konusundaki isteksizliği benim için gerçekten garip...
O halde terminal menüsündeki "Otomatik alım satım" düğmesi ve "Otomatik alım satıma izin ver" onay kutusu neyi etkiler?
PPS
Eski sürümlerde her şey doğru görünüyordu ve her şey çalıştı, ancak 299'da neler olduğunu anlamıyorum ...
ACCOUNT_TRADE_ALLOWED ve ACCOUNT_TRADE_EXPERT'e kim girdi ve en önemlisi, neden?
Geliştiriciler - Ya şimdiden delirmeye başladım ya da terminalde "barabashki" ortaya çıktı ... :)
Ve en son sürümde değil, en azından 294'te (oraya gitmelerine kim izin verdi?) ... :(
küçük deney
294 serbest bırakma terimini alıyoruz ve iade edilen AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) değerindeki değişikliği kontrol eden bir Uzman Danışmanın grafiğine atıyoruz.
Aynı zamanda, EA'nın parametrelerinde ve terminalde ("otomatik ticaret" düğmesi) otomatik ticareti devre dışı bırakıyoruz.
Sonuç olarak, uzmanın günlüğünde aşağıdakileri görüyoruz
Burada Expert Advisor'ın eylem günlüğünü (başlatma sırasında) görüyoruz ve zamanlayıcıda ACCOUNT_TRADE_ALLOWED değerini kontrol ediyoruz.
Renkli olarak vurgulanan her şeyle ilgileniyoruz (bundan önce, özel bir sınıfa sembol listeleri yüklendi).
1. Zamanlayıcı tarafından döndürülen ilk sonuç mavi renkle vurgulanır (beklendiği gibi yanlıştır);
2. Zamanlayıcının döndürdüğü bir sonraki sonuç kırmızıyla vurgulanır, aniden doğru çıktı ( hangi LAMB'nin ticarete izin verdiğiyle çok ilgileniyorum );
3. Yeşil, sınıfımın (event OnEventTimer ) meydana gelen değişikliklere tepkisidir.
Burada sınıf, otomatik ticarete izin verildiğini "anlıyor" ve bu konuda memnuniyetle bilgilendiriyor (onun iyimserliğini paylaşmıyorum);
Ayrıca, mesaj iki kez görüntülenir (bu daha önce gözlemlenmemiş olsa da). OnEventTimer olayında özel bir kontrol olduğundan, bir mesajın görünümü iki kez fikir tarafından dışlanır.
4. Ayrıca, terminale ne olursa olsun, zamanlayıcı sürekli olarak true değerini döndürür.
not
AccountInfoInteger(ACCOUNT_TRADE_EXPERT) ile durum daha da karmaşıktır. Zamanlayıcı, terminal ve uzman ayarlarından bağımsız olarak tur döndürür.
İhtiyacımız var mı?
Ben de benzer bir soruyla ilgileniyorum. Hesapta pozisyon açmak için yeterli para yoksa ne yapmalı?
1. Danışmanın ticaret yapmasını yasaklayın.
2. Açık pozisyonları yasaklayın.
3. Uzmanı tablodan çıkarın.
3. nokta, ExpertRemove yardımı ile çözülebilir. 2. nokta, nasıl yaptığımdır:
1. Anladığım kadarıyla, danışman için ticaret yasağı PROGRAMELY olarak değil, "Otomatik ticaret" düğmesi ve "Otomatik ticarete izin ver" onay kutusu ve ardından ACCOUNT_TRADE_ALLOWED ve ACCOUNT_TRADE_EXPERT kontrolü kullanılarak ayarlandı.
Ayrıca Expert Advisor'a gerekli parametreyi ekleyerek ve ardından bu parametreyi kontrol ederek (örneğin, gerçek bir hesapta alım satımı yasaklamak) alım satım işlemlerini programlı olarak yasaklamak da mümkündür.
Ön kontrol, Expert Advisor'ın başlatılması sırasında gerçekleştirilir ve çalışma modunda her şey OnTimer() veya OnTick() içinde işlenir.
2. Bir pozisyonu açma (kapatma) olasılığının kontrolü, mevcut durum dikkate alınarak yapılmalıdır: bağlantı, otomatik ticaret olasılığı ve diğer koşullar (örneğin, belirli işlemleri gerçekleştirme olasılığının kontrolü) belirli bir sembol üzerinde).
Tüm koşulları kontrol etmek için, bool sonucu olan bir işlev oluşturmak daha iyidir.
Örneğin bu:
3. Uzman çizelgeden yalnızca aşırı durumlarda çıkarılmalıdır (işinin yapılamadığı veya artık ihtiyaç duyulmadığı durumlarda)
Bu genellikle çok aşırı ve nadir bir durumdur. Örneğin, Expert Advisor'ın çalışması için gerekli bazı dosyalar bulunamazsa veya Expert Advisor'ın kendi kendine işleyemediği bir hata meydana gelirse kullanılmalıdır.
not
Birkaç Expert Advisor farklı çiftler üzerinde işlem yapıyorsa ve bunlar bir Expert Advisor tarafından kontrol ediliyorsa, Expert Advisor'ları kaldırmak ve yerleştirmek de yararlıdır (hangi çiftin bir Expert Advisor yükleyeceğine ve hangisini sileceğine o karar verir)...
ACCOUNT_TRADE_ALLOWED ve ACCOUNT_TRADE_EXPERT'e kim girdi ve en önemlisi neden?
Geliştiriciler - Ya şimdiden delirmeye başladım ya da terminalde "barabashki" ortaya çıktı ... :)
Ve en son sürümde değil, en azından 294'te (oraya gitmelerine kim izin verdi?) ... :(
küçük deney
294 serbest bırakma terimini alıyoruz ve iade edilen AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) değerindeki değişikliği kontrol eden bir Uzman Danışmanın grafiğine atıyoruz.
Aynı zamanda, EA'nın parametrelerinde ve terminalde ("otomatik ticaret" düğmesi) otomatik ticareti devre dışı bırakıyoruz.
Sonuç olarak, uzmanın günlüğünde aşağıdakileri görüyoruz
Burada Expert Advisor'ın eylem günlüğünü (başlatma sırasında) görüyoruz ve zamanlayıcıda ACCOUNT_TRADE_ALLOWED değerini kontrol ediyoruz.
Renkli olarak vurgulanan her şeyle ilgileniyoruz (bundan önce, özel bir sınıfa sembol listeleri yüklendi).
1. Zamanlayıcı tarafından döndürülen ilk sonuç mavi renkle vurgulanır (beklendiği gibi yanlıştır);
2. Zamanlayıcının döndürdüğü bir sonraki sonuç kırmızıyla vurgulanır, aniden doğru çıktı ( hangi LAMB'nin ticarete izin verdiğiyle çok ilgileniyorum );
3. Yeşil, sınıfımın (event OnEventTimer ) meydana gelen değişikliklere tepkisidir.
Burada sınıf, otomatik ticarete izin verildiğini "anlıyor" ve bu konuda memnuniyetle bilgilendiriyor (onun iyimserliğini paylaşmıyorum);
Ayrıca, mesaj iki kez görüntülenir (bu daha önce gözlemlenmemiş olsa da). OnEventTimer olayında özel bir kontrol olduğundan, bir mesajın görünümü iki kez fikir tarafından dışlanır.
4. Ayrıca, terminale ne olursa olsun, zamanlayıcı sürekli olarak true değerini döndürür.
not
AccountInfoInteger(ACCOUNT_TRADE_EXPERT) ile durum daha da karmaşıktır. Zamanlayıcı, terminal ve uzman ayarlarından bağımsız olarak tur döndürür.
İhtiyacımız var mı?
ACCOUNT_TRADE_ALLOWED ve ACCOUNT_TRADE_EXPERT gibi garip bir şey alıyorsunuz - bu, DC'de işlem yapma iznidir.
"Otomatik ticaret" düğmesi - TerminalInfoInteger(TERMINAL_TRADE_ALLOWED).
ayrıca MQL5InfoInteger( MQL5_TRADE_ALLOWED ) - bir EA/script için ticaret izni/yasağı vardır
ACCOUNT_TRADE_ALLOWED ve ACCOUNT_TRADE_EXPERT gibi garip bir şey alıyorsunuz - bu, DC'de işlem yapma iznidir.
"Otomatik ticaret" düğmesi - TerminalInfoInteger(TERMINAL_TRADE_ALLOWED).
ayrıca MQL5InfoInteger( MQL5_TRADE_ALLOWED ) - bir EA/script için ticaret izni/yasağı vardır
MQL5InfoInteger( MQL5_TRADE_ALLOWED ) hakkında bilgim var, gayet iyi çalışıyor ve normalde Expert Advisor'da izleniyor, MQL5_DLLS_ALLOWED da normal olarak işleniyor.
Yani anladığım kadarıyla:
TERMINAL_DLLS_ALLOWED ve TERMINAL_TRADE_ALLOWED - terminal düzeyinde izinler;
MQL5_DLLS_ALLOWED ve MQL5_TRADE_ALLOWED - uzman düzeyinde izinler;
ACCOUNT_TRADE_ALLOWED ve ACCOUNT_TRADE_EXPERT - sunucu düzeyinde izinler.
Ardından false'u true olarak değiştiren sunucu olduğunu varsayacağız (bununla ilgili bir mesajın neden iki kez verildiği çok açık olmasa da).
İyi günler, böyle bir sorunum var, saatlik grafiği kaydırmaya başladım ve belirli bir tarihte günlük olana geçiyor, ayrıca 15 dakika ile saatlik veya 4 saatlik grafiğe geçiyorlar, geçmişin olduğu dosyaları sildim belgelere göre saklandı, ancak hiçbir şey değişmedi.
İyi günler, böyle bir sorunum var, saatlik grafiği kaydırmaya başladım ve belirli bir tarihte günlük olana geçiyor, ayrıca 15 dakika ile saatlik veya 4 saatlik grafiğe geçiyorlar, geçmişin olduğu dosyaları sildim belgelere göre saklandı, ancak hiçbir şey değişmedi.
Test cihazının optimizasyon algoritmalarını kullanırken HistoryDealsTotal() ile ilgili bir sorun olduğunu buldum.
Normal bir geriye dönük test sırasında her şey yolundadır, ancak bir optimizasyon oturumunda, EA'nın başlatma aşaması sırasında, HistoryDealsTotal() , EA'nın önceki çalışmasından elde edilen anlaşmaların sayısını döndürür. Daha sonra, ticaret aşamasında, HistoryDealsTotal() yeniden 0'dan başlar.
Aşağıdaki kod parçacığı aracılığıyla bu sorunla karşılaştım:
Bunu aşmanın yolu, bunun yerine 0 ile başlatmaktır, ancak yine de bu soruna resmi bir yanıt vermekten memnun olurum, çünkü bana göre bazı dahili değişkenler çok geç sıfırlanmış gibi görünüyor.
Şimdiden teşekkürler!
Merhaba, lütfen şu soruyu cevaplayın:
MT5 neden indirilemiyor, kurulum dosyasını indiriyorum, çalıştırıyorum, yarısına kadar indiriyor, duruyor, başka bir erişim noktasına atlıyor vs. sonunda hata
-okunamadı [12002]
ve böyle bir hikaye sürekli olarak terminali veya pencereleri ne kadar yeniden kurarsam kurayım, ama şimdi üçüncü gün için çalışmıyor
lütfen bana bu yapının neden her zaman 0 döndürdüğünü söyle
ve şimdi kaç dakika olduğunu nasıl bilebilirim? Örneğin: