![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
vay, son yapıda bir şeyler berbattı. Göstergelerden birinin .ex5'i, daha önce derleme tarafından derlenen .ex5'e kıyasla boyut olarak neredeyse 10 kat büyüdü. Korkunç değil. Ancak gösterge atılırken bir hata oluştu (parametreleri girmeden önce bile):
Kodun 3/4'ünü zaten yorumladım. Ve eğer biraz daha yorum yapmazsam, şunu alıyorum (yukarıdaki hatayla birlikte):
ve gerçekten çalışmıyorKodu biraz yorumlarsam, ilk iki hata kaybolur, ancak gösterge boşaldığında şunu alıyorum:
(sayılar farklı olabilir - ne kadar kodun yorumlandığına bağlı olarak)Daha önce, işlevimin hacminin çok büyük olduğunu öğrendim - onu küçük işlevlere dönüştüreceğim.
... ve son yapıda her şey yolundaydı
vay, son yapıda bir şeyler berbattı. Göstergelerden birinin .ex5'i, daha önce derleme tarafından derlenen .ex5'e kıyasla boyut olarak neredeyse 10 kat büyüdü. Korkunç değil. Ancak gösterge atılırken bir hata oluştu (parametreleri girmeden önce bile):
Kodun 3/4'ünü zaten yorumladım. Ve eğer biraz daha yorum yapmazsam, şunu alıyorum (yukarıdaki hatayla birlikte):
Güvenliği artırmak için korumalı alan ortamı üzerindeki denetimi sıkılaştırdık.
Yığın mesajı, programlamada ciddi bir sorun olan işlevlerden birinde 256 kilobayttan fazla yığın kullandığınızı söylüyor. Örneğin, C/C++'da, bir işlev tarafından yerel bir yığının kullanılması, hatta 16 kb bile olsa, ciddi bir uyarı olarak kabul edilir.
Büyük olasılıkla, işlevlerde çok sayıda statik dizi tahsis ediyorsunuz, örneğin:
Bunu yapamazsın.
Büyük dizilere ihtiyacınız varsa, bunun yerine dinamik dizileri kullanın . Örneğin:
Güvenliği artırmak için korumalı alan ortamı üzerindeki denetimi sıkılaştırdık.
Yığın mesajı, programlamada ciddi bir sorun olan işlevlerden birinde 256 kilobayttan fazla yığın kullandığınızı söylüyor. Örneğin, C/C++'da, bir işlev tarafından yerel bir yığının kullanılması, hatta 16 kb bile olsa, ciddi bir uyarı olarak kabul edilir.
Büyük olasılıkla, işlevlerde çok sayıda statik dizi tahsis ediyorsunuz, örneğin:
Bunu yapamazsın.
Büyük dizilere ihtiyacınız varsa, bunun yerine dinamik dizileri kullanın . Örneğin:
Bu göstergede statik dizileri hiç kullanmıyorum; int vb.den daha ağır fonksiyonlara hiçbir şey iletilmez. Ancak her türlü grafik fonksiyon aktif olarak kullanılır.
Örneğin,
Son satırı yorumlarsanız, her şey yolunda. Sorun şu ki, bu tür birçok arama var ve bu
diğerlerinden farklı değil - arka arkaya 20. veya 30.
Bana göre sorun hala fonksiyon kapsamında çünkü kodu yorumlamak sorunu ortadan kaldırıyor ve kodun çoğu ObjectSetXXX'den oluşuyor. Deneysel olarak, daha küçük parçalara ayırmanın da faydasız olduğunu öğrendim - agresif bir inliner hala her şeyi bir yığın halinde toplar ve hatalar verir. Daha fazla kod almayı deneyebilirsiniz, ancak yarın. Daha önce çözemezsek yarın da servis masasına.
Bu göstergede statik dizileri hiç kullanmıyorum; int vb.den daha ağır fonksiyonlara hiçbir şey iletilmez. Ancak her türlü grafik fonksiyon aktif olarak kullanılır.
Ama çok büyük bir şey var.
Örneğin, üyelerinde yalnızca bir ton statik diziye sahip bir sınıfın yerel bir kopyasını içeriyorlardı. Genellikle yerel yığının tüketicilerinin gizli mevduatları vardır.
Örneğin,
Son satırı yorumlarsanız, her şey yolunda. Sorun şu ki, bu tür birçok arama var ve bu
diğerlerinden farklı değil - arka arkaya 20. veya 30.
Bana göre sorun hala fonksiyon kapsamında çünkü kodu yorumlamak sorunu ortadan kaldırıyor ve kodun çoğu ObjectSetXXX'den oluşuyor. Deneysel olarak, daha küçük parçalara ayırmanın da faydasız olduğunu öğrendim - agresif bir inliner hala her şeyi bir yığın halinde toplar ve hatalar verir. Daha fazla kod almayı deneyebilirsiniz, ancak yarın. Daha önce çözemezsek yarın da servis masasına.
Fonksiyonları bölün, sınıflara koyun.
Inliner'ın büyük olasılıkla bununla hiçbir ilgisi yoktur - çok büyük kod parçaları eklemez. Daha da fazlası, eğer ağır/çok sayıda yerel değişkene sahiplerse.
Ama çok büyük bir şey var.
Örneğin, üyelerinde yalnızca bir ton statik diziye sahip bir sınıfın yerel bir kopyasını içeriyorlardı. Genellikle yerel yığının tüketicilerinin gizli mevduatları vardır.
Fonksiyonları bölün, sınıflara koyun.
Inliner'ın büyük olasılıkla bununla hiçbir ilgisi yoktur - çok büyük kod parçaları eklemez. Daha da fazlası, eğer ağır/çok sayıda yerel değişkene sahiplerse.
nedenmiş ? beceriksiz ödemeler veya nasıl! sadece 1 temsilci 1 kr kazandı ve günde 0,3 kr ödedi
Servis masasına şu başlıklarla yazılması zorunludur:
Terminalin sürümü ve bitliği
...
problemin tanımı
...
sıralama
...
Sonuç
...
Beklenen Sonuç
...
ek bilgi
...
Yoksa her şey kendi sözlerinle mi?
Yoksa her şey kendi sözlerinle mi?
Servis masasına şu başlıklarla yazılması zorunludur:
Yoksa her şey kendi sözlerinle mi?
hepsini yapabilirsin ama
Terminalin sürümü ve bitliği
problemin tanımı
sıralama
Sonuç
Beklenen Sonuç
mutlaka.
------------
Ücretsiz bir konu hakkında bir makale yazmıyorsunuz, ancak geliştirici için hızlı ve ek açıklamalar olmadan ondan ne istediğinizi tatması gereken bir metin yazıyorsunuz.
hepsini yapabilirsin ama
Terminalin sürümü ve bitliği
problemin tanımı
sıralama
Sonuç
Beklenen Sonuç
mutlaka.
------------
Ücretsiz bir konu hakkında bir makale yazmıyorsunuz, ancak geliştirici için hızlı ve ek açıklamalar olmadan ondan ne istediğinizi tatması gereken bir metin yazıyorsunuz.