![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
Teşekkür ederim!
Evet, ilk noktada yanlış anladım. Açıklamada tam olarak neyin yanlış olduğunu açıklayın, bir kopya ne iade edilmelidir?
Ve birleştirme pahasına, sizin durumunuzda şöyle bir şey yazmanız gerekir.
Açıklarım. Metinde yazılı " Belirtilen konumdaki karakterin değiştirilmiş değeriyle dizenin bir kopyasını döndürür. " Fonksiyonun prototipi bool StringSetCharacter (...). Açıkçası, bir bool içine bir dize dolduramazsınız. Bir boole gerçekten döndürülürse, bu muhtemelen bir başarı/hata işaretidir. Kural olarak, belgelerin diğer sayfalarının ayrı bir Dönüş değeri bölümü vardır, ancak bu sayfada yoktur. Dönüş değeri değil, işlevin anlamı ile ilgili bir teklif formüle etmek için metin açıklamasına eklenmesi gerekir.
Birleştirme ile ilgili olarak, yazdıklarınız doğruysa, StringConcatenate işlevinin açıklamasını da değiştirmelisiniz. Açıklama, string_var parametresinin [in][out] olduğunu söylüyor Birleştirme sonucunda oluşturulacak dize. Bu parametrenin sadece [out] olduğunu belirtiyorsunuz.
Ne yazık ki sorun, terminalin bir pozisyonu kapatmak için yalnızca "Sonuçlar" sekmesinde bir yorumla bir emir yayınlamasıdır.
İlgili sipariş, HistoryDealsTotal() listesine eklenmez.
Ayrıca HistoryOrdersTotal() emirlerinin genel listesinde, dönem bir marj ile seçilse bile herhangi bir emir yoktur.
'Test sonunda' kapanma durumunda hem siparişlerin hem de anlaşmaların geçmişte mevcut olduğundan emin olabilirsiniz. Çoklu para birimimde, her bir sembol için alınan kar hesaplanır. Test cihazında 'test sonu' itibariyle kapatılan işlemleri hesaba katmak için, de-in'de bu işlemler için bir ayarlama yapılır. Tüm enstrümanlar için toplam kâr, test raporundaki verilerle eşleşir. İşte kod;
Meslektaşlarım, söyleyin bana, SymbolInfoSessionTrade'i strateji test cihazında çalıştırmanın herhangi bir yolu var mı?
Banal kaydı çalışmıyor:
Mümkünse, başka bir soru. Operatörün ne anlama geldiğini anlamak istiyorum new ??? Onun fikri nedir? Neden her zamanki gibi bir nesne yaratmıyorsunuz??? Sonuçta, bloğun tamamlanmasından sonra, new aracılığıyla bildirilen nesneye erişim kaybedilecek, o zaman neden buna ihtiyaç duyuluyor ???
PS dürüst olmak gerekirse, belgelerde bulamadım :)
Mümkünse, başka bir soru. Operatörün ne anlama geldiğini anlamak istiyorum new ??? Onun fikri nedir? Neden her zamanki gibi bir nesne yaratmıyorsunuz??? Sonuçta, bloğun tamamlanmasından sonra, new aracılığıyla bildirilen nesneye erişim kaybedilecek, o zaman neden buna ihtiyaç duyuluyor ???
PS dürüst olmak gerekirse, belgelerde bulamadım :)
Teşekkür ederim! Anladım. TimeCurrent() yerine TimeTradeServer ( ) kullanılması gerekli ve yeterlidir.
İşlem haftasının sonunda yeni kotasyon yoktur ve bu nedenle TimeCurrent() uzun süre güncellenmez.
Expert Advisor sıfırlandığında, TimeCurrent() 23:00 saatini döndürür; TimeTradeServer() - 23:59, testin bitiş zamanı ile çakışıyor.
Teşekkür ederim! Anladım. TimeCurrent() yerine TimeTradeServer ( ) kullanılması gerekli ve yeterlidir.
İşlem haftasının sonunda yeni kotasyon yoktur ve bu nedenle TimeCurrent() uzun süre güncellenmez.
Mümkünse, başka bir soru. Operatörün ne anlama geldiğini anlamak istiyorum new ??? Onun fikri nedir? Neden her zamanki gibi bir nesne yaratmıyorsunuz??? Sonuçta, bloğun tamamlanmasından sonra, new aracılığıyla bildirilen nesneye erişim kaybedilecek, o zaman neden buna ihtiyaç duyuluyor ???
PS dürüst olmak gerekirse, belgelerde bulamadım :)
Dinamik nesneler yaratmayın - şimdi ve bu nesnelerle ilgili diğer her şeyi kullanmak zorunda kalmayacaksınız (Doğru, o zaman fazla bir şey yapamazsınız).
Görünüşe göre, şimdinin ne anlama geldiğini değil, dinamik nesnelerle çalışmanın ne anlama geldiğini anlamak istiyorum ...
Dinamik olarak tahsis edilmiş nesnelerin başlatılması ve sıfırlanması
Nesne işaretçileri özel bir durumdur, çünkü bir işaretçi bildirmek karşılık gelen nesneyi başlatmayı gerektirmez . Dinamik olarak tahsis edilen nesneler, yalnızca new operatörüyle sınıfın bir örneği oluşturulduğunda başlatılır . Bir nesnenin başlatılması, ilgili sınıfın yapıcısının çağrılmasını içerir . Sınıfta karşılık gelen bir kurucu yoksa, basit bir türe sahip üyeleri otomatik olarak başlatılmaz; string , dinamik dizi ve karmaşık nesne türlerinin üyeleri otomatik olarak başlatılacaktır.
İşaretçiler yerel veya genel olarak bildirilebilir ve NULL olarak veya aynı veya türetilmiş türden bir işaretçi değerine başlatılabilir . Yeni operatör yerel düzeyde bildirilen bir işaretçi üzerinde çağrıldıysa, bu düzeyden ayrılmadan önce o işaretçi için silme operatörü de yürütülmelidir. Aksi takdirde, işaretçi kaybolur ve nesne açıkça silinemez.
object_pointer = new Class_Name ifadesi tarafından oluşturulan tüm nesneler, daha sonra delete ( object_pointer ) operatörü tarafından yok edilmelidir. Herhangi bir nedenle böyle bir değişken programın sonunda silme operatörü tarafından yok edilmemişse, "Uzmanlar" günlüğünde bununla ilgili bir mesaj görüntülenecektir. Birden çok değişken bildirebilir ve hepsine aynı nesneye bir işaretçi atayabilirsiniz.
Dinamik olarak oluşturulmuş bir nesnenin bir yapıcısı varsa, yeni operatör yürütüldüğünde bu yapıcı çağrılır . Nesnenin bir yıkıcısı varsa, silme ifadesi yürütüldüğünde yıkıcı çağrılacaktır .
Böylece, dinamik olarak tahsis edilen nesneler yalnızca yeni operatör tarafından yaratıldığı anda oluşturulur ve ya silme operatörü tarafından ya da programın boşaltıldığı anda otomatik olarak çalışan MQL5 sistemi tarafından imha edilmeleri garanti edilir. Dinamik olarak oluşturulan nesnelerin işaretçilerinin bildirilme sırası, başlatıldıkları sırayı etkilemez. Başlatma ve başlatmadan kaldırma sırası tamamen programcı tarafından kontrol edilir.