Sınıfta, parametre olarak, gösterge parametreleri vb. gibi her türlü saçmalığım da var. Genel olarak, statik ve aynı ne olacak. Neden her nesne oluşturduğumda bu değerleri geçmem gerekiyor?
bu daha mı kısa bool barup=... WindowRedraw(); yine de yürütülecek - if öğesinden kaldırıldı
daha da kısa olabilir ... dosyama bakın
Teşekkür ederim. Fibo seviyelerinin çizildiği aralık nasıl doğru bir şekilde ayarlanır? Eğer (zaman) 9.00 ise, M1'de 8.00'den 8.59'a kadar olan seviyeleri çizmelidir.
Nasıl olur da sorunun ifadesi anlaşılır gibi. Aynı başlatmak için Sense.
Zaten var olmayan bir şeyi nasıl başlatacaksınız? Nesne oluşturulduktan sonra var olmaya başlar ve daha sonra zaten başlatılabilir.
Size hemen söyledim - nesne için parametrik bir kurucu yapın ve yeni oluşturulan nesnenin başlatılacağı gerekli parametreleri ona iletin.
Programın OnInit()'inde gerekli (tüm bu nesneler için sabit) verilerle doldurduğunuz yapıdan parametreleri iletebilirsiniz. Ayrıca, örneğin OnTick()'te veya başka bir standart işleyicide, kendi nesnelerinizi yaratırsınız, ancak oluştururken, örneğin şunun gibi yazın: CMyObject nesnesi = new CMyObject(and_here_structure_with_set_parameters);
Veya nesne verileriniz programdan programa hiç değişmiyorsa ve her zaman aynı değerlere sahipse, bunları, Igor'un yukarıda söylediği gibi, başlatma listesini kullanarak gerekli parametrelerle yapıcıda açıkça başlatın:
sınıf yapıcısında bulunan başlatma listesinde yapılır:
Zaten var olmayan bir şeyi nasıl başlatacaksınız? Nesne oluşturulduktan sonra var olmaya başlar ve daha sonra zaten başlatılabilir.
Size hemen söyledim - nesne için parametrik bir kurucu yapın ve yeni oluşturulan nesnenin başlatılacağı gerekli parametreleri ona iletin.
Programın OnInit()'inde gerekli (tüm bu nesneler için sabit) verilerle doldurduğunuz yapıdan parametreleri iletebilirsiniz. Ayrıca, örneğin OnTick()'te veya başka bir standart işleyicide, kendi nesnelerinizi yaratırsınız, ancak oluştururken, örneğin şunun gibi yazın: CMyObject nesnesi = new CMyObject(and_here_structure_with_set_parameters);
Evet açık. Teşekkür ederim. Şey, bir şekilde, bir çözüm olduğunu düşündüm, böylece bir nesne oluştururken, bunları yapıcıya veya bunun gibi bir şeye iletmeye gerek kalmadan hemen önceden ayarlanmış bazı parametrelere sahip olacaktı. Bazı ebeveyn sınıfı veya başka bir şey aracılığıyla.
Juer : Sınıfta, parametre olarak, gösterge parametreleri vb. gibi her türlü saçmalığım da var. Genel olarak, statik ve aynı ne olacak. Neden her nesne oluşturduğumda bu değerleri geçmem gerekiyor?
O yüzden aktarma. Gösterdiğim gibi başlatma listesinde başlat. Sınıfın bir örneğini oluştururken, sınıf kurucusu otomatik olarak çağrılır ve bu, başlatma listesinde belirtilen tüm sınıf üyelerinin başlatılmasını gerektirir. Print işlevini CCandle yöntemine koyun ve yapıcının herhangi bir çağrı olmadan nasıl çağrıldığını göreceksiniz.
Evet açık. Teşekkür ederim. Şey, bir şekilde, bir çözüm olduğunu düşündüm, böylece bir nesne oluştururken, bunları yapıcıya veya bunun gibi bir şeye iletmeye gerek kalmadan hemen önceden ayarlanmış bazı parametrelere sahip olacaktı. Bazı ebeveyn sınıfı veya başka bir şey aracılığıyla.
O yüzden aktarma. Gösterdiğim gibi başlatma listesinde başlat. Sınıfın bir örneğini oluşturma anında, sınıf kurucusu otomatik olarak çağrılır ve bu, başlatma listesinde belirtilen tüm sınıf üyelerinin başlatılmasını gerektirir. Print işlevini CCandle yöntemine koyun ve yapıcının herhangi bir çağrı olmadan nasıl çağrıldığını göreceksiniz.
Anlamadım, onları yapıcıdan mı yoksa başlatma işlevinden mi geçirmek arasındaki fark nedir?
O yüzden aktarma. Gösterdiğim gibi başlatma listesinde başlat. Sınıfın bir örneğini oluşturma anında, sınıf kurucusu otomatik olarak çağrılır ve bu, başlatma listesinde belirtilen tüm sınıf üyelerinin başlatılmasını gerektirir. Print işlevini CCandle yöntemine koyun ve yapıcının herhangi bir çağrı olmadan nasıl çağrıldığını göreceksiniz.
Nasıl başlatılacaklar? Hangi değerler? belirsiz
Diyelim ki uzmanın giriş parametrelerinde başlangıç değerlerine sahibim. Burada onları bu sınıfın her nesnesine aktarmam gerekiyor. Ama her yeni yaratılana geçmemek.
merhaba, bana neden böyle bir döngü ile limit emirlerinin benden sadece bir limit emri ayarladıktan sonra bir sonrakinde silindiğini söyleyin. barda bir limit emri daha ayarlanmamış, yani limit emri sadece ayarlanmışsa kaldırılır ve bundan sonra limit emrinin olmadığı yerde 2 bar takip eder
int i;
for (i= 0 ;i<= OrderTicket ();i++)
{
takelimit= OrderSelect (ticket, SELECT_BY_TICKET , MODE_TRADES );
if ( iBarShift ( Symbol (), 0 , OrderOpenTime ())== 2 ) //здесь нужно что бы на 2-ом баре если есть ордер его удалить, но удаляется он только если после его установки небыло на след баре еще лимитника
{
deletelimit= OrderDelete (ticket);
if (!deletelimit)
{
Comment ( GetLastError ());
}
}
}
if (условие для байлимита)
{ордерсенд}
elseif (условие для селлимита)
{ордерсенд}
Diyelim ki uzmanın giriş parametrelerinde başlangıç değerlerine sahibim. Burada onları bu sınıfın her nesnesine aktarmam gerekiyor. Ama her yeni yaratılana geçmemek.
Evet işte burada:
inputint i_nA = 10 ;
inputdouble i_fB = 20.0 ;
inputdatetime i_dtC = D'2018.03.08 10:12:14' ;
class CCandle
{
int m_nA;
double m_fB;
datetime m_dtC;
public :
CCandle( void );
};
CCandle::CCandle( void )
: m_nA(i_nA)
, m_fB(i_fB)
, m_dtC(i_dtC)
{
Print ( "Создан объект со значениями: A = " , m_nA, ", B = " , m_fB, ", C = " , m_dtC);
}
intOnInit ()
{
CCandle arrclass[ 10 ];
return ( INIT_SUCCEEDED );
}
Çalıştırırsak şunu elde ederiz:
022 : 09 : 36.706 Test EURUSD,M1 inputs: i_nA= 10 ; i_fB= 20.0 ; i_dtC= 1520503934 ;
022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: initialized
022 : 09 : 36.995 Test EURUSD,M1: uninit reason 0022 : 09 : 37.062 Script Test EURUSD,M1: removed
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.
bu daha mı kısa bool barup=... WindowRedraw(); yine de yürütülecek - if öğesinden kaldırıldı
daha da kısa olabilir ... dosyama bakın
Nasıl olur da sorunun ifadesi anlaşılır gibi. Aynı başlatmak için Sense.
Zaten var olmayan bir şeyi nasıl başlatacaksınız? Nesne oluşturulduktan sonra var olmaya başlar ve daha sonra zaten başlatılabilir.
Size hemen söyledim - nesne için parametrik bir kurucu yapın ve yeni oluşturulan nesnenin başlatılacağı gerekli parametreleri ona iletin.
Programın OnInit()'inde gerekli (tüm bu nesneler için sabit) verilerle doldurduğunuz yapıdan parametreleri iletebilirsiniz. Ayrıca, örneğin OnTick()'te veya başka bir standart işleyicide, kendi nesnelerinizi yaratırsınız, ancak oluştururken, örneğin şunun gibi yazın:
CMyObject nesnesi = new CMyObject(and_here_structure_with_set_parameters);
Veya nesne verileriniz programdan programa hiç değişmiyorsa ve her zaman aynı değerlere sahipse, bunları, Igor'un yukarıda söylediği gibi, başlatma listesini kullanarak gerekli parametrelerle yapıcıda açıkça başlatın:
sınıf yapıcısında bulunan başlatma listesinde yapılır:
Zaten var olmayan bir şeyi nasıl başlatacaksınız? Nesne oluşturulduktan sonra var olmaya başlar ve daha sonra zaten başlatılabilir.
Size hemen söyledim - nesne için parametrik bir kurucu yapın ve yeni oluşturulan nesnenin başlatılacağı gerekli parametreleri ona iletin.
Programın OnInit()'inde gerekli (tüm bu nesneler için sabit) verilerle doldurduğunuz yapıdan parametreleri iletebilirsiniz. Ayrıca, örneğin OnTick()'te veya başka bir standart işleyicide, kendi nesnelerinizi yaratırsınız, ancak oluştururken, örneğin şunun gibi yazın:
CMyObject nesnesi = new CMyObject(and_here_structure_with_set_parameters);
Evet açık. Teşekkür ederim. Şey, bir şekilde, bir çözüm olduğunu düşündüm, böylece bir nesne oluştururken, bunları yapıcıya veya bunun gibi bir şeye iletmeye gerek kalmadan hemen önceden ayarlanmış bazı parametrelere sahip olacaktı. Bazı ebeveyn sınıfı veya başka bir şey aracılığıyla.
Sınıfta, parametre olarak, gösterge parametreleri vb. gibi her türlü saçmalığım da var. Genel olarak, statik ve aynı ne olacak. Neden her nesne oluşturduğumda bu değerleri geçmem gerekiyor?
O yüzden aktarma. Gösterdiğim gibi başlatma listesinde başlat. Sınıfın bir örneğini oluştururken, sınıf kurucusu otomatik olarak çağrılır ve bu, başlatma listesinde belirtilen tüm sınıf üyelerinin başlatılmasını gerektirir. Print işlevini CCandle yöntemine koyun ve yapıcının herhangi bir çağrı olmadan nasıl çağrıldığını göreceksiniz.
Evet açık. Teşekkür ederim. Şey, bir şekilde, bir çözüm olduğunu düşündüm, böylece bir nesne oluştururken, bunları yapıcıya veya bunun gibi bir şeye iletmeye gerek kalmadan hemen önceden ayarlanmış bazı parametrelere sahip olacaktı. Bazı ebeveyn sınıfı veya başka bir şey aracılığıyla.
Tekrar. Yapıcıya veri iletmeden mümkündür.
O yüzden aktarma. Gösterdiğim gibi başlatma listesinde başlat. Sınıfın bir örneğini oluşturma anında, sınıf kurucusu otomatik olarak çağrılır ve bu, başlatma listesinde belirtilen tüm sınıf üyelerinin başlatılmasını gerektirir. Print işlevini CCandle yöntemine koyun ve yapıcının herhangi bir çağrı olmadan nasıl çağrıldığını göreceksiniz.
Anlamadım, onları yapıcıdan mı yoksa başlatma işlevinden mi geçirmek arasındaki fark nedir?
O yüzden aktarma. Gösterdiğim gibi başlatma listesinde başlat. Sınıfın bir örneğini oluşturma anında, sınıf kurucusu otomatik olarak çağrılır ve bu, başlatma listesinde belirtilen tüm sınıf üyelerinin başlatılmasını gerektirir. Print işlevini CCandle yöntemine koyun ve yapıcının herhangi bir çağrı olmadan nasıl çağrıldığını göreceksiniz.
Nasıl başlatılacaklar? Hangi değerler? belirsiz
Diyelim ki uzmanın giriş parametrelerinde başlangıç değerlerine sahibim. Burada onları bu sınıfın her nesnesine aktarmam gerekiyor. Ama her yeni yaratılana geçmemek.
merhaba, bana neden böyle bir döngü ile limit emirlerinin benden sadece bir limit emri ayarladıktan sonra bir sonrakinde silindiğini söyleyin. barda bir limit emri daha ayarlanmamış, yani limit emri sadece ayarlanmışsa kaldırılır ve bundan sonra limit emrinin olmadığı yerde 2 bar takip eder
Nasıl başlatılacaklar? Hangi değerler? belirsiz
Başlatma listesine yazdıklarınız.
Diyelim ki uzmanın giriş parametrelerinde başlangıç değerlerine sahibim. Burada onları bu sınıfın her nesnesine aktarmam gerekiyor. Ama her yeni yaratılana geçmemek.
Evet işte burada:
Çalıştırırsak şunu elde ederiz: