Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 177

 
Andrey Barinov :

Burada değişiklikten sonra init'e (veya daha iyisi ontik'e) boşaltmanın gerekli olduğunu anlıyorum. Onlar. hesap numaralarını global değişkenlerde saklayın ve bir değişiklik olursa, kaldırın. Ayrıca _DeInitReason'ı init() içinde ayrıştırmayı ve boşaltmayı deneyebilirsiniz.

Böyle bir çözüm gösterdi . Yalnızca sayım değişikliğinden sonra aynı karakter varsa çalışır.

 
fxsaber :

Lütfen hesabı değiştirirken kendini boşaltan EA'nın kaynak kodunu burada gösterin.

İhtiyacım var mı? Burada farklı sembol isimleri probleminden bahsediyorsunuz.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri

fxsaber , 2020.05.20 23:09

Bir hesabı değiştirirken bir danışmanı silmek her zaman mümkün değildir.

Danışmanın EURUSD sembolünde başlatıldığını varsayalım. Karakterlerin ön eklendiği sunucuya geçiş vardır. Örneğin, EURUSD.abc.

Bu durumda danışman asılı kalır ve kendini kaldıramaz. Bu soruna bir çözüm bulabilen var mı?


Cevabım tam olarak buydu. Enstrümanların adları farklı hesaplarda farklılık gösteriyorsa, dizi işleme işlevlerini kullanın ve bu dizinin istenen bölümünü çıkarın.
 
Igor Zakharov :

bu durumda OnInit() ateşlenmez mi?

Hiçbir şey başlamaz.

belki OnDeinit () düzeyinde silmeyi deneyin?

ExpertRemove() kesinlikle bir yardımcı değildir. Şablonları deneyebilirsiniz. Ancak OnDeinit'te bir hesap değişikliğinin gerçekleştiğini belirlemek mümkün değildir.

 
Alexey Viktorov :

İhtiyacım var mı? Burada farklı sembol isimleri probleminden bahsediyorsunuz.

Cevabım tam olarak buydu. Enstrümanların adları farklı hesaplarda farklılık gösteriyorsa, dizi işleme işlevlerini kullanın ve bu dizinin istenen bölümünü çıkarın.

Bir acemi ile konuşmayın. Çalışmayan hipotezler önermek gerekli değildir.

 
fxsaber :

Hiçbir şey başlamaz.

ExpertRemove() kesinlikle bir yardımcı değildir. Şablonları deneyebilirsiniz. Ancak OnDeinit'te bir hesap değişikliğinin gerçekleştiğini belirlemek mümkün değildir.

ExpertRemove'un çalışmadığı yerde hala ChartClose() vardır. Sorunun ne olduğunu anlamıyorum. Bir hesap değişikliğinden sonra ne olur? Bir danışmanla birlikte ek bir çizelge görünüyor mu? Yoksa sadece mevcut grafiğin sembolü mü değişiyor? Belki ChartID değişir ve bu yüzden önceki çözümünüz çalışmıyor? Onaylar yine de işlenir, bu nedenle OnInit oluşmazsa OnTick'e yüklemeniz gerekir.

 
fxsaber :

Bir acemi ile konuşmayın. Çalışmayan hipotezler önermek gerekli değildir.

Aynı şekilde çalışmayan kodların yayınlanmasına da gerek yoktur. Ve programcının çetrefilli yolunda karşılaşılan sorunları dilin özellikleriyle ilgili konu başlığında tartışmaya gerek yok.

 
Alexey Viktorov :

Aynı şekilde çalışmayan kodların yayınlanmasına da gerek yoktur. Ve programcının çetrefilli yolunda karşılaşılan sorunları dilin özellikleriyle ilgili konu başlığında tartışmaya gerek yok.

Bu konuda beceriksizsiniz.

 

sadece hizmetler bir programa bağlı değildir. test edilmedi, ancak büyük olasılıkla hesap değiştirildikten sonra yeniden başlatılabilecek. ve zaten grafiklerin geri kalanının şablonlarını değiştirmek için ondan. ancak genel olarak REASON_ACCOUNT'ın yakalanmaması garip.

ancak genel olarak, tema bir özellikten çok bir hatadır.

 
fxsaber :

Bu konuda beceriksizsiniz.

Bu kadar yetkinseniz, lütfen bunun neden işe yaramadığını söyleyin.

REASON_ACCOUNT

6

Hesap ayarlarındaki bir değişiklik nedeniyle başka bir hesap etkinleştirildi veya ticaret sunucusuna yeniden bağlanıldı

 
Alexey Viktorov :

Bu kadar yetkinseniz, lütfen bunun neden işe yaramadığını söyleyin.

REASON_ACCOUNT

6

Hesap ayarlarındaki bir değişiklik nedeniyle başka bir hesap etkinleştirildi veya ticaret sunucusuna yeniden bağlanıldı

  1. Belge yalan söylüyor. Manuel olarak kontrol edebilirsiniz.
  2. Kendinizi basit bir şekilde boşaltmak işe yaramaz.