Tuval harika! - sayfa 81

 
Dmitry Fedoseev nesnelerle çalışmaya çalışırken ortaya çıkıyor.

Sorunun çözümü EA'da:

Belki ObjectFind() gerekli değildir.

Kodu sorunla birlikte eklemiş olsaydınız, sorun dün çoktan çözülmüş olurdu

Sorun hiç de bu değil.
Bu sorun (OnChartEvent donması ) sadece MT4'te var ve hiç de açık değil. Ben de çok uzun süre işkence gördüm. Ancak bu konu yaklaşık bir yıl önce bu başlıkta zaten tartışılmıştı.

 
Nikolai Semko #:

sorun hiç de bu değil.
Bu sorun yalnızca MT4'te var ve hiç de açık değil. Çok uzun bir süre kendime eziyet ettim. Ancak bu konu yaklaşık bir yıl önce zaten tartışılmıştı.

Sorunun ne olduğunu hiç bilmiyorum, sadece neyin neden olduğunu ve nasıl çözüldüğünü yazdım. Ama acı çekmeye devam edebilirsiniz...

 
Dmitry Fedoseev #:

Ve sorunun ne olduğunu hiç bilmiyorum, sadece neyin neden olduğunu ve nasıl çözüldüğünü yazdım. Ama acı çekmeye devam edebilirsiniz.

Bu sözler taşa kazınmalı! :))
 
Dmitry Fedoseev #:

Ve sorunun ne olduğunu hiç bilmiyorum, sadece neyin neden olduğunu ve nasıl çözüldüğünü yazdım. Ama acı çekmeye devam edebilirsiniz.

Deunit sorununun bununla hiçbir ilgisi yoktur. Bu sorun yalnızca MT5'te ortaya çıkar. Ve burada MT4 hakkında konuşuyoruz.

 
Nikolai Semko #:

Siz garip bir insansınız.
Kendiniz bir soru sorarken başkalarının kodunuzu ve yüzlerce satırı anlamasını istiyorsunuz, ancak cevabın içine girmeye ve yüz satırlık kodun içine bakmaya bile çalışmıyorsunuz.

Tamam. Hayatı kolaylaştıracağım.
Tüm kodu OnChartEvent'ten OnTimer'a çevirin. Zamanlayıcıyı 30 milisaniyeye ayarlayın. Yalnızca OnChartEvent'te güncellenmesi ve OnTimer ' da sıfırlanması gereken ( bool olan) global değişkenleri (terminal değil) girmeniz gerekecektir .
Değişkenler
aşağıdaki gibi olabilir

Benim için o kadar da açık değildi. Daha önce verdiğim linkten sorunun eski olduğunu ve piyasada 10.000'den fazla satışı olan yazarlar tarafından bile birden fazla kez çözüm arandığını öğrendim.

Ve bu, nesneleri olan tüm MT4 Uzman Danışmanları için geçerlidir, bu da çok sayıda kullanıcının bu sorunla karşılaştığı anlamına gelir. Piyasadaki yazarlara yazıyorlar ve çözümü bilmiyorlar. Bu yüzden bu sorunu çözmek çok önemliydi.

GIF'e (uygulanabilirlik kanıtı) baktığımda bu yaklaşımı ürünlerimde uygulamaya kararlıyım. Muhtemelen oturup deneyeceğim ve yarın rapor vereceğim.
 
Vitaliy Kuznetsov #:

Benim için bu hiç de açık değildi. Daha önce verdiğim linkten, sorunun eski olduğunu ve piyasada 10.000'den fazla satış yapan yazarlar tarafından bile birden fazla kez çözüm arandığını öğrendim.

Ve bu, nesneleri olan tüm MT4 Uzman Danışmanları için geçerlidir, bu da çok sayıda kullanıcının bu sorunla karşılaştığı anlamına gelir. Piyasadaki yazarlara yazıyorlar ve çözümü bilmiyorlar. Bu yüzden bu sorunu çözmek çok önemliydi.

GIF'e baktığımda bu yaklaşımı ürünlerimde uygulamaya kararlıyım. Muhtemelen yarın oturup deneyeceğim ve rapor vereceğim.

Belki aynı şey Uzman Danışman'da da yapılabilir.
Ama gecikme olmadan çalışıyor.

 
Nikolai Semko #:

Belki aynı şey EA'da da yapılabilir.
Ama gecikme olmadan çalışıyor.

Öncelikle, teşekkür ederim!

Hmm, verilen kod içinde çalışıyor gibi görünüyor. Ancak yine de EA'larla çakışıyor. Örneğin bununla - https://www.mql5.com/ru/code/35440.

Diğer EA'larla da kontrol ettim. EA'nın kodunu geliştirmeye çalışmalıyım. Sorun hala geçerli.
cm partial closing position
cm partial closing position
  • www.mql5.com
Советник закрывает позиции частями и переводит их в безубыток.
 
Vitaliy Kuznetsov #:

Öncelikle, teşekkür ederim!

Hmm, verilen kod içinde çalışıyor gibi görünüyor. Ancak yine de EA'larla çakışıyor. Örneğin bununla - https://www.mql5.com/ru/code/35440.

Diğer EA'larla da kontrol ettim. EA'nın kodunu geliştirmeye çalışmalıyım. Bu hala bir sorun.

Herhangi bir gecikme görmüyorum.
Evet, EA'daki kodu da OnChartEvent 'te hesaplama olmayacak şekilde ayarlamalısınız.
Kural basit:
- olayların ve koordinatların global değişkenleri (terminal değil) OnChartEvent'te doldurulmalıdır, ancak ondan hantal hesaplamalar içeren işlevleri çalıştırmayın .
- Bu tür fonksiyonların tüm çağrıları olay değişkenlerine göre zamanlayıcıdan yapılmalıdır,
- olaylar işlendikten sonra, zamanlayıcıdaki bu olayları sıfırlamayı unutmamalısınız, böylece zamanlayıcının bir sonraki yinelemesinde aynı şeyi tekrar çalıştırmazsınız.

Tekrar ediyorum - bu sadece MT4'te OnChartEvent donmasının bir hatasıdır

Komik olan şey, eğer MQ görünüşte temel olan bu hatayı düzeltirse ( OnChartEventiçinde yaklaşık 10 milisaniye hesaplama varsa donar) ve bir zamanlayıcı yardımıyla çok kolay bir şekilde düzeltilir, o zaman birçok kişi OnChartEvent'in aktif olarak kullanıldığı göstergelerini veya Uzman Danışmanlarını yeniden derledikten sonra her şeyin uçtuğunu fark edecektir :)))
Ya da belki de insanların MT5'e geçmesini sağlamak için yapay bir hatadır; ))))

 
Nikolai Semko #:

Herhangi bir gecikme görmüyorum.
Evet, EA'daki kodu da OnChartEvent'te hesaplama olmayacak şekilde ayarlamalısınız.
Kural basit:
- olayların ve koordinatların global değişkenleri (terminal değil) OnChartEvent'te doldurulmalıdır, ancak ondan hantal hesaplamalar içeren işlevleri çalıştırmayın .
- Bu tür fonksiyonların tüm çağrıları olay değişkenlerine göre zamanlayıcıdan yapılmalıdır,
- olaylar işlendikten sonra, zamanlayıcıdaki bu olayları sıfırlamayı unutmamalısınız, böylece zamanlayıcının bir sonraki yinelemesinde aynı şeyi tekrar çalıştırmazsınız.

Tekrar ediyorum - bu sadece MT4'te OnChartEvent donmasının bir hatasıdır

Komik olan şey, eğer MQ görünüşte temel olan bu hatayı düzeltirse ( OnChartEventiçinde yaklaşık 10 milisaniye hesaplama varsa donar) ve bir zamanlayıcı yardımıyla çok kolay bir şekilde düzeltilir, o zaman birçok kişi OnChartEvent'in aktif olarak kullanıldığı göstergelerini veya Uzman Danışmanlarını yeniden derledikten sonra her şeyin uçtuğunu fark edecektir :)))
Ya da belki de insanların MT5'e geçmesini sağlamak için yapay bir hatadır; ))))

Sıradan gösterge kodu iyileştirme yönteminin, nesneleri kullanan kapalı koddaki EA'larla çakışmayı çözemediği ortaya çıktı.

EA'yı iyileştirmenin tüm gösterge tablosu göstergeleriyle (ki bu benim görevim) çatışmayı küresel olarak çözeceğini umuyorum.

MT4 build 1353 başlığında yazdım, belki terminal programcıları dikkat eder.

Not: Baykuşlarda değişiklikler yaptım ve kayaklarda bir şey gitmedi ...

 
Vitaliy Kuznetsov #:


Not: Baykuşları ve kayakların gitmediği bir şeyi düzenledim....

OnChartEvent içinde döngüler ve diğer fonksiyonların çağrıları ile hiçbir şey kalmadığından emin misiniz ?
GetMicrosecondCount() ile OnTimer (veya OnChartEvent ) içinde olanların hesaplama süresini ölçün .