Hatalar, hatalar, sorular - sayfa 1524

 
Slawa :

Ne belgelenecek? "Kardeşler, rahatlayın ve zorlanmayın, istediğiniz gibi sıfırlayın. Geliştiricilere izin verilir"

Evet, yalnızca terminalin kapanışında, belgelerde zaten özel olarak belirtilen zorlu koşullar çalışacaktır. Ve terminalin bir sonraki açılışında, açık çizelgeleri saymayabilirsiniz , çünkü ayrılan zamanda hatırlanamadılar.

Ve bunun onunla ne ilgisi var?

Kendi ilginiz için, günlüğü sonsuz bir döngüde doldurmaya çalışın ve ne kadar hızlı büyüyeceğini ve 64 meg'den sonra yinelenen girişlerin nasıl kesilmeye başlayacağını ve günlüğün başlangıcının nasıl kesileceğini görün. Koruma eksikliği ile ilgili açıklama sizi heyecanlandırdı. Barındırmalardaki tüm diskleri uzun süre puanlardık

Olduğu gibi belgeleyin veya belgelendiği gibi yapın... Tamam, bu size kalmış

Denedim, bilgisayarın sağlığını riske attım, dolum hızı ~1.5 Gb/dk. Ancak terminal, zaten hoş olan 4-ki'nin aksine aynı anda kilitlenmiyor)

 
-Aleks- :

Phew, demek ki bu hata geri dönmedi - terminali güvenle kapatabilir ve tüm çizelgelerin kaydedildiğinden emin olabilirsiniz.

Terminal kapatıldığında, programın artık 3 saniye sonra zorla sonlandırıldığını söylediler. Şu anda bu şekilde çalışıyor ve çalışmaya devam edecek. Terminal sonlandırılmadan program çizelgeden kaldırıldığında zorunlu bir sonlandırma döndürmek istemezler.
 
Slawa :

Başlangıçta, döngülü bir göstergeden bahsediyorduk. Hangi kesinlikle tavsiye edilmez. Bir örnek olarak bile

Bu, döngülü bir göstergeyle ilgili değil, döngüleri içinde IsStopped denetimi olmayan herhangi bir göstergeyle ilgilidir. Çünkü karmaşık göstergeler oluşturma döngüleri uzun olabilir. Tabii ki, bu soru benim için sonsuz döngüden dolayı değil, kaynak kodunu gönderemiyorum ve hantallığından dolayı işe yaramaz hale geldi.
 

Herhangi bir gösterge en az bir döngü kullanır.

IsStopped denetimi olmayan bir döngü, bu döngüyü potansiyel olarak sonsuz hale getirir. Çünkü dizide bir milyon fiyat verisi olabilir ve her yineleme optimal olmayan bir şekilde yazılabilir.

Kasıtlı olarak sonsuz bir döngü düzenleyen bir programcı, özellikle belgelerde açıkça belirtildiği için, belgelerdeki herhangi bir imaya başvurmamalıdır.

В одном потоке с индикаторами также последовательно выполняются остальные действия по данному символу - обработка тиков и синхронизация истории. Это означает, что если в индикаторе выполняется бесконечное действие, все остальные события по его символу никогда не выполнятся.

Bilinçli bir programcı, bu durumda göstergenin etkinliğinden sorumlu olanın belgeler değil, kendisi olduğunu hemen anlayacaktır. Üstelik bu konu hakkında şimdiden birçok tartışma yapıldı ve birden fazla makale yazıldı.

 
Slawa :

Bilinçli bir programcı, bu durumda göstergenin etkinliğinden sorumlu olanın belgeler değil, kendisi olduğunu hemen anlayacaktır. Üstelik bu konu hakkında şimdiden birçok tartışma yapıldı ve birden fazla makale yazıldı.

Sorun değil , IsStopped kontrolüne sahip olmadığımı ve bu nedenle karmaşık göstergelerin yapımını yalnızca benim hatam nedeniyle kesintiye uğratma konusunda sorunlar olduğunu itiraf ediyorum. Ama öte yandan, programın çalışmasıyla belgelerinin eşleşmesi gerektiği gerçeğine alışığım.
 
Ilya Malev :
Terminal kapatıldığında, programın artık 3 saniye sonra zorla sonlandırıldığını söylediler. Şu anda bu şekilde çalışıyor ve çalışmaya devam edecek. Terminal sonlandırılmadan program çizelgeden kaldırıldığında zorunlu bir sonlandırma döndürmek istemezler.
Hm, dördü hakkında konuştum - şimdi her şeyi doğru bir şekilde tamamlıyor ve kapatıyor gibi görünüyor ve daha önce danışmanlarla olan çizelgeleri kaybetti.
 
Ilya Malev :
Sorun değil, IsStopped kontrolüne sahip olmadığımı ve bu nedenle karmaşık göstergelerin yapımını yalnızca benim hatam nedeniyle kesintiye uğratma konusunda sorunlar olduğunu itiraf ediyorum. Ama öte yandan, programın çalışmasıyla belgelerinin eşleşmesi gerektiği gerçeğine alışığım.

Belgeler tüm nüansları dikkate alamaz. Özellikle saniyeler söz konusu olduğunda gigahertz, megabayt, değerler ölçülebilir olmakla birlikte çevreye oldukça bağımlıdır.

Belgelerdeki boşlukları doldurmaya çalışıyoruz (gizlice bir bilinç varsayımı ummamıza rağmen)

 
-Aleks- :
Hm, dördü hakkında konuştum - şimdi her şeyi doğru bir şekilde tamamlıyor ve kapatıyor gibi görünüyor ve daha önce danışmanlarla olan çizelgeleri kaybetti.

Dördünde, her bir grafiği kapatma süreçleri paralelleştirildi. Bu nedenle, herkes için zaman aşımını artırabildik.

Daha önce, çizelgeler birbiri ardına ezberleniyordu ve her birine aynı zaman aşımları verildi. Üzerinde ne kadar çok çizelge ve fren uzmanı varsa, kapanış süreci o kadar uzun sürüyordu.

 
Slawa :

Dördünde, her bir grafiği kapatma süreçleri paralelleştirildi. Bu nedenle, herkes için zaman aşımını artırabildik.

Daha önce, çizelgeler birbiri ardına ezberleniyordu ve her birine aynı zaman aşımları verildi. Üzerinde ne kadar çok çizelge ve fren uzmanı varsa, kapanış süreci o kadar uzun sürüyordu.

Neredeyse anlaşıldı.

Fren fren değildir, çoğu donanıma ve uzmanın gerçekleştirdiği görevlere bağlıdır ve programların genellikle profesyonel olmayan programcılar tarafından yazıldığı gerçeğini dikkate almanız gerekir - bu amaçla bir programlama dili mevcuttur. İşte, öyle düşünüyorum.

 

MT4. Programın global değişkenlerini başlatma özelliklerine bir kez daha dikkat çekmek istiyorum.

Genel değişkenler, program çizelgeye yüklendiğinde veya kod yeniden derlendiğinde bir kez başlatılır.

Zaman çerçevesini, sembolü veya giriş parametrelerini değiştirmek istiyorsanız, global değişkenler yeniden başlatılmaz (örneğin, sıfıra sıfırlanmazlar), ancak önceki zaman dilimleri, semboller veya giriş parametreleriyle çalışırken elde edilen değerlerini korurlar. .

 input int c;
int a,b;
void OnInit () {
 a++; Print ( " a=" ,a, " b=" ,b, " c=" ,c); }

Tüm global değişkenleri programlı olarak sıfırlamadıysanız, TF, araç veya giriş parametrelerini değiştirirken kodun önceki değerlerle çalışacağı, yani. yanlış.

mantıklı mı? Bunu strateji test cihazındaki gibi yapmak daha iyi olmaz mıydı? Burada, global değişkenler her TF, araç veya giriş parametreleri değişikliği ile yeniden başlatılır.