Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1174
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Bir dizinin ikinci ve sonraki boyutları dinamik olamaz. Bu nedenle bir dizi nasıl bildirilir, örneğin int Mas[][7]; bu yüzden kabul etmeniz gerekiyor MyFun(int &Mas[][7])
Teşekkür ederim. Beynim gitmişti.
Merhaba programcılar. Bir kez daha yardımınızı rica ediyorum. Tek bir değer almanız gereken standart bir gösterge vardır. Gösterge bağlamış ve değerlerinin dizisini double buf_atr[] tamponuna kopyalamış gibi görünüyor ArrayPrint (buf_atr) günlüğünün çıktısı aşağıdaki değerleri gösteriyor:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
DEĞERİN 0,00030 OLDUĞU DİZİN HÜCRESİNE NASIL UYGULANIR? Bu değer, mevcut mum 0'da değil, daha önce oluşturulmuş 1 mumda elde edilir.
Her şey çalışıyor gibi görünüyor, ancak daha fazla çalışmak için dizi hücresine nasıl erişeceğimi bilmiyorum;(
Merhaba programcılar. Bir kez daha yardımınızı rica ediyorum. Tek bir değer almanız gereken standart bir gösterge vardır. Gösterge, değerlerinin dizisini çift buf_atr[] arabelleğine bağlamış ve kopyalamış görünüyor: ArrayPrint(buf_atr) günlüğünün çıktısı aşağıdaki değerleri gösteriyor:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
DEĞERİN 0,00030 OLDUĞU DİZİN HÜCRESİNE NASIL UYGULANIR? Bu değer, mevcut mum 0'da değil, daha önce oluşturulmuş 1 mumda elde edilir.
Her şey çalışıyor gibi görünüyor, ancak daha fazla çalışmak için dizi hücresine nasıl erişeceğimi bilmiyorum;(
İŞLER Yaşasın!!! SADECE DENEYMEDİĞİM buf_atr[buf_size- 1 ] ADRESİNE BAŞVURMANIZ GEREKİYOR. ÇOK TEŞEKKÜR EDERİM Vitaly Muzichenko
mql stili, dizi referansı gerekli mi?
iletişim.mqh
Kendi sınıfım CAppDialogPTR'yi yarattım - CAppDialog'un halefi - CDialog sınıfındaki m_background, m_caption ... nesnelerini onlara sınıfımdan erişmek için nasıl doğru bir şekilde geçersiz kılacağımı söyle?
iletişim.mqh
Mümkün değil. Bu nesneler, private anahtar sözcüğüyle belirtildiği gibi, sınıfınızda doğrudan değiştirilmeye karşı korunur. Onlarla doğrudan çalışamazsınız. Bu alanlarla çalışan CDialog sınıfı yöntemlerini kullanın.
Mümkün değil. Bu nesneler, private anahtar sözcüğüyle belirtildiği gibi, sınıfınızda doğrudan değiştirilmeye karşı korunur. Onlarla doğrudan çalışamazsınız. Bu alanlarla çalışan CDialog sınıfı yöntemlerini kullanın.
Diyelimki.
CAppDialogPTR sınıfının oluşturulan örneğinde, erişebileceğiniz denetimler (sınıfın CWndContainer -> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind))); } ) bulunur . m_background, m_caption
1) Oluşturulan nesneye erişim (bellek referansları) için sözdizimi nedir?:
"CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2);"
Diyelimki.
CAppDialogPTR sınıfının oluşturulan örneğinde, erişebileceğiniz denetimler (sınıfın CWndContainer -> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind))); } ) bulunur . m_background, m_caption
1) Oluşturulan nesneye erişim (bellek referansları) için sözdizimi nedir?:
Yine de m_controls koleksiyonu aracılığıyla kontrollere erişim elde edemezsiniz, çünkü o da kapalıdır, ayrıca hangi indeksin şu veya bu kontrole karşılık geldiği bilinmemektedir. Buradaki fikir, CDialog'un içerdiği öğelere erişimi kapatması, ancak ana özellikleri tutarlı bir şekilde yönetmenize izin vermesidir. Örneğin, m_caption'a erişip metnini doğrudan değiştiremeyiz, ancak metnini Caption(const string text) yöntemiyle değiştirebiliriz.
İstediğiniz şey temelde bir hack. Prensip olarak, MQ'dan herhangi bir zanaat kullanırken, bunu veya bu hack'i yapma arzusu vardır, bu yüzden burada yalnız değilsiniz. Muhtemelen en kolay yol, lib'i ayrı bir dizine kopyalamak ve özel bölümü korumalı'ya taşımak olacaktır. Kaba ve aptalca ama işe yarayacak. Diğer seçenekler zor - çok zor kod.
Yine de m_controls koleksiyonu üzerinden kontrollere erişemeyeceksiniz çünkü o da kapalı ve hangi indeksin hangi kontrole karşılık geldiği bilinmiyor. Buradaki fikir, CDialog'un içerdiği öğelere erişimi kapatması, ancak ana özellikleri tutarlı bir şekilde yönetmenize izin vermesidir. Örneğin, m_caption'a erişip metnini doğrudan değiştiremeyiz, ancak metnini Caption(const string text) yöntemiyle değiştirebiliriz.
İstediğiniz şey temelde bir hack. Prensip olarak, MQ'dan herhangi bir zanaat kullanırken, bunu veya bu hack'i yapma arzusu vardır, bu yüzden burada yalnız değilsiniz. Muhtemelen en kolay yol, lib'i ayrı bir dizine kopyalamak ve özel bölümü korumalı'ya taşımak olacaktır. Kaba ve aptalca ama işe yarayacak. Diğer seçenekler zor - çok zor kod.
MQ kaynaklarını değiştirin ve yöntemleri herkese açık hale getirin, bunun bizim yöntemimiz olmadığı açık :).
Ancak panel global değişkenini bildirdikten sonra Caption özelliklerine erişebilirim:
Ancak bir şekilde hoş görünmekle kalmaz, bu kod CAppDialogPTR sınıfının arkasındadır. Aynı şeyi CAppDialogPTR sınıfı içinde nasıl yapabilirim ?