Kontrol edildi, OrderCheck true değerini döndürür. İşlem seansı açık, vb. Ancak MT5, hem manuel hem de otomatik isteklere aynı şekilde yemin eder, retcode = 4 verir. Terminal her şeyin yolunda olduğunu söylediğinde ve siz denediğinizde ve hiçbir şey çıkmadığında neden böyle bir durum ortaya çıkıyor? Açmak için çalışmayacağını talep etmeden nasıl anlaşılır? Ve bu dördüncü dönüş kodu nedir?
Bana öyle geliyor ki, böyle bir kod derlenmemeli (özel üye erişim hatası olmalı)?
class cA;
class cB;
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cA
{
//====================private :
//====================//===============//===============
cB *B;
//===============//===============void testfunc( void ){:: Print ( __FUNCSIG__ );}
//====================public :
//====================//===============//===============void test( void )
{
:: Print ( __FUNCSIG__ );
if (:: CheckPointer (:: GetPointer ( this .B))== POINTER_INVALID ) return ;
this .B.testfunc();// Здесь идет вызов private метода объекта B, что вроде как не должно быть возможным
}
//===============//===============void SetB(cB * const b){ this .B=b;}
//===============//===============
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cB : public cA
{
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnInit ()
{
//---
cA A;
cB B;
A.SetB(&B);
A.test();
//---return ( INIT_SUCCEEDED );
}
SD'de her şeyin yolunda olduğunu söylüyorlar ve bu yüzden mümkün ...
Bana öyle geliyor ki, böyle bir kod derlenmemeli (özel üye erişim hatası olmalı)?
SD'de her şeyin yolunda olduğunu söylüyorlar ve bu yüzden mümkün ...
MQL kurallarına göre, bir sınıfın bir örneği, ilkiyle aynı sınıfa aitse, başka bir örneğin özel alanlarına ve yöntemlerine serbestçe erişebilir. cB, cA'dan miras aldığı için, cB, cA'dır ve bu nedenle cA, nerede bildirilirse bildirilsin, cB'nin herhangi bir özel yöntemine ve örnek alanlarına erişebilir.
MQL kurallarına göre, bir sınıfın bir örneği, ilkiyle aynı sınıfa aitse, başka bir örneğin özel alanlarına ve yöntemlerine serbestçe erişebilir. cB, cA'dan miras aldığı için, cB, cA'dır ve bu nedenle cA, nerede bildirilirse bildirilsin, cB'nin herhangi bir özel yöntemine ve örnek alanlarına erişebilir.
Bu, C++'da da geçerlidir (ve MQL, C++'ın görüntüsünde ve benzerliğinde oluşturulmuştur). Dedikleri gibi, C++ gizliliği nesne düzeyinde değil, sınıf düzeyindedir. Aksi takdirde, örneğin tüm özel alanlar için özel alıcı yöntemleri olmadan bir kopya oluşturucu yapmak imkansız olurdu.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Krom.
firefox'ta hala en üstte güncellenen temalar
ve soldaki mavi
Chrome'da da aynı. Bu mavi/gri simgeleri otomatik olarak göremiyorum. Ve kalın okunmamış konular beni o kadar etkiledi ki, bunun hakkında yazdım bile.
AcePrime-Demo hesaplarıyla ilgili ilginç bir vaka.
Danışmanı başlatmak
Ve ellerimizle herhangi bir bo-sembolde (ikili opsiyonlar) bir pozisyon açmaya çalışıyoruz. Terminal günlüğünde alıyoruz
'3182780': market sell 1.00 XAUUSDbo '3182780': failed market sell 1.00 XAUUSDbo [Invalid data]Uzmanın günlüğünde
Kontrol edildi, OrderCheck true değerini döndürür. İşlem seansı açık, vb. Ancak MT5, hem manuel hem de otomatik isteklere aynı şekilde yemin eder, retcode = 4 verir. Terminal her şeyin yolunda olduğunu söylediğinde ve siz denediğinizde ve hiçbir şey çıkmadığında neden böyle bir durum ortaya çıkıyor? Açmak için çalışmayacağını talep etmeden nasıl anlaşılır? Ve bu dördüncü dönüş kodu nedir?
GetLastError() döndürür
ERR_TRADE_SEND_FAILED
4756
Ticaret isteği gönderilemedi
Her şey sorunsuz oynuyor.
Tünaydın.
Bana öyle geliyor ki, böyle bir kod derlenmemeli (özel üye erişim hatası olmalı)?
SD'de her şeyin yolunda olduğunu söylüyorlar ve bu yüzden mümkün ...
Tünaydın.
Bana öyle geliyor ki, böyle bir kod derlenmemeli (özel üye erişim hatası olmalı)?
SD'de her şeyin yolunda olduğunu söylüyorlar ve bu yüzden mümkün ...
MQL kurallarına göre, bir sınıfın bir örneği, ilkiyle aynı sınıfa aitse, başka bir örneğin özel alanlarına ve yöntemlerine serbestçe erişebilir. cB, cA'dan miras aldığı için, cB, cA'dır ve bu nedenle cA, nerede bildirilirse bildirilsin, cB'nin herhangi bir özel yöntemine ve örnek alanlarına erişebilir.
MQL kurallarına göre, bir sınıfın bir örneği, ilkiyle aynı sınıfa aitse, başka bir örneğin özel alanlarına ve yöntemlerine serbestçe erişebilir. cB, cA'dan miras aldığı için, cB, cA'dır ve bu nedenle cA, nerede bildirilirse bildirilsin, cB'nin herhangi bir özel yöntemine ve örnek alanlarına erişebilir.
Teşekkür ederim. Belgelerde göremedim. burnunu sokabilir misin?
Teşekkür ederim. Belgelerde göremedim. burnunu sokabilir misin?
Bu, C++'da da geçerlidir (ve MQL, C++'ın görüntüsünde ve benzerliğinde oluşturulmuştur). Dedikleri gibi, C++ gizliliği nesne düzeyinde değil, sınıf düzeyindedir. Aksi takdirde, örneğin tüm özel alanlar için özel alıcı yöntemleri olmadan bir kopya oluşturucu yapmak imkansız olurdu.
C++ 'da da aynı