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
Bunları sanal yaparak bile , CGraphics sınıf üyelerine tam erişim olmadan normal aşırı yüklemeler yapamazsınız, bu nedenle hepsinin (çoğu) korumalı olarak bildirilmesi gerekir.
ve bu ***Plot işlevleri sadece korunur
ve bu ***Plot işlevleri sadece korunur
{
private :
CArrayObj m_arr_curves;
CCanvas m_canvas;
//--- parameters background
int m_height;
int m_width;
//--- parameters work space
int m_left;
int m_right;
int m_up;
int m_down;
//--- default parameters work space
int m_left0;
int m_right0;
int m_up0;
int m_down0;
//--- size of dash on the axes
int m_mark_size;
//--- scaling parameters
double m_dx;
double m_dy;
CGraphic sınıfının üyelerinden bahsettim, şimdi hepsi özel ve varisteki m_canvas, m_dx, m_dy ve diğer aşırı yük üyelerine erişim olmadan çalışmayacak.
tamam o zaman herşey senin elinde) Bekleyeceğim.
bu arada geçici olarak yerel olarak değiştirildi
bazı işlevlerde (her yerde değil) bir bölme varsa, 0'ı kontrol etmeden yapılır.
Örneğin
{
...
...
double x_size=(m_x.Max()-m_x.Min());
double xf_size=xf2-xf1;
//--- keep scaling parameters
m_dx=xf_size/ x_size ;
x.Max() == Min() ise zero_devide burada ortaya çıkar
ayrıca Axis::CalcStepSize / CalcBoundedStepSize / SelectAxisScale vb.
bazı işlevlerde (her yerde değil) bir bölme varsa, 0'ı kontrol etmeden yapılır.
Örneğin
{
...
...
double x_size=(m_x.Max()-m_x.Min());
double xf_size=xf2-xf1;
//--- keep scaling parameters
m_dx=xf_size/ x_size ;
x.Max() == Min() ise zero_devide burada ortaya çıkar
ayrıca Axis::CalcStepSize / CalcBoundedStepSize / SelectAxisScale vb.
Teşekkürler, düzelteceğim.
Kitaplığı birçok kontrolle aşırı yüklememek için Axis::SelectAxisScal yöntemindeki tüm durumları dikkate almaya çalıştım.
1. bu enum ENUM_AXIS_TYPE tarafından sabah düzenlemeleri olmayan bir dosya gibi görünüyor
---
2. ENUM_AXIS_TYPE çalışmasını önceki sayfadan test etti
ValuesFunctionFormat işlevini geri çağırma işlevi tarzında yaptığınız için, işlevde bazı void* parametreleri döndürmeniz gerekir.
CAxis'e ekle
void * m_cbdata; // <---
...
// изменить
void ValuesFunctionFormat(DoubleToStringFunction func , void * cbdata ) { m_values_func=func; m_cbdata=cbdata; }
// добавить получение этого void*
void * ValuesFunctionFormatCBData( void ) const { return m_ c bdata ; }
CGraphic'te:: HesaplaXAxis
void * cbdata=m_x.ValuesFunctionFormatCBData(); // <---
...
case AXIS_TYPE_CUSTOM:
{
m_xvalues[i]=(xfunc== NULL ) ? NULL : xfunc(x, cbdata); // <---
----
Bu geri çağırma parametresi, arrX dizisinin nerede olduğunu bilen bir nesneye bir işaretçi iletmek için gereklidir.
Çünkü işlev özünde statiktir ve onu tam olarak neyin adlandırdığını bilmek imkansızdır.
not.
Ve prensipte, zaman serilerini göstermenin sonucu zaten böyle görünüyor (göstergeleri olan satırları daha sonra soracağım, koordinatları almanın bir sakıncası var :)
Ve prensipte, zaman serilerini göstermenin sonucu zaten böyle görünüyor (göstergeleri olan satırları daha sonra soracağım, koordinatları almanın bir sakıncası var :)
Lütfen grafik boş olduğu andan itibaren bir video veya daha uzun bir animasyon yapın. GIF'ten ne olduğunu bilmiyordum.
bu daha iyi?
bu uzman Canvas + CGraphic Roman üzerinde çalışıyor
bu durumda, birkaç enstrümandan P / L inşa ediyorumbu uzman Canvas + CGraphic Roman üzerinde çalışıyor
bu durumda, birkaç enstrümandan P / L inşa ediyorumŞimdi daha net. Artı işareti (ve muhtemelen diğer etkileşimler) - İncil Roman'ın yerleşik (gerekli) bir işlevi mi yoksa miras eklediniz mi?
SB grafiklerinde etkileşim unsurlarını görmek istiyorum - artı işareti, yakınlaştırma (her iki yönde) ve imleç değerlerini vurgulama.
Onlar. Bir danışman/gösterge aracılığıyla GraphPlot yapıyorum ve bu işlevi hemen elde ediyorum.
Şimdi daha net. Artı işareti (ve muhtemelen diğer etkileşimler) - İncil Roman'ın yerleşik (gerekli) bir işlevi mi yoksa miras eklediniz mi?
Evet, miras yoluyla eklendi.
SB grafiklerinde etkileşim unsurlarını görmek istiyorum - artı işareti, yakınlaştırma (her iki yönde) ve imleç değerlerini vurgulama.
Ana ile iletişim kuracağız. Benim de bir şeye ihtiyacım var.
- vurgulama (eğer değilse, en azından GetNearY/X işlevi) gereklidir. Vurgulama, devralma yoluyla uygulamak için hala daha iyidir. Herkese göre değişir.)
- artı işaretinin kendisine henüz ihtiyaç yoktur, çünkü henüz İncil ile ilgisi olmayan grafik olaylarının sonucudur.
- piksel koordinatı tarafından belirlenen ölçek değerlerinin elde edilmesi - bu gereklidir.
- Zumomo zor. Kaydırma çubuğu olmadığından. Ve dürüst olmak gerekirse, onların bu sınıfa dahil edilmesini istemezdim. Şu anda yalnızca CCanvas kullanıyor ve başka nesneler istemiyor. Ve bu çok iyi.
Yakınlaştırmayı kalıtım yoluyla kendi başıma uygulamayı planlıyorum, kaydırma çubukları koyacağım ve gerektiği gibi ölçeklendireceğim.