MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1098

 
Grigori.SB :

Lütfen bana derleyicinin kontrol komut dosyasının aşağıdaki MQL4 kodunda neden bir uyarı verdiğini söyleyin:

27. satırda veri türü uyuşmazlığı hakkında uyarı. Her iki değişken de aynı tip int'dir. Aşağıda, betiğin derlenmesinin bir ekran görüntüsü bulunmaktadır.

27. satırı değiştirirsem

sonra uyarı kaybolur.

Odak nedir?

Ve odak yok. t değişkeni double türünde bildirildi

Ve genel olarak, bu t hiçbir yerde herhangi bir değer almaz.

 
Alexey Viktorov :

Ve odak yok. t değişkeni double türünde bildirildi

Çok teşekkür ederim, kazandım - dinlenme zamanı.

Alexey Viktorov :

Ve genel olarak, bu t hiçbir yerde herhangi bir değer almaz.

Bu, bir sıralamanın sonucunu geçici olarak depolamak için kullanılan bir arabellek değişkenidir.

 

Bu başlatma yöntemleri nasıl farklıdır?

 class Klas{};
Klas *Klas_
Klas Klas_
 
Seric29 :
 1. class Klas{};
2. Klas *Klas_
3. Klas Klas_

1. türün tanımı (sınıf)

2. bir türe (sınıf) işaretçi bildirimi

3. Bir sınıfın örneğinin bildirilmesi başlatmadır, çünkü Klas() yapıcısı bildirilmezse çağrılır, ardından varsayılan yapıcı çağrılır - yardım için yardım

Serik29 :

Bu başlatma yöntemleri nasıl farklıdır?

onlar. yalnızca başlatma pp.3

 
Igor Makanu :

1. türün tanımı (sınıf)

2. bir türe (sınıf) işaretçi bildirimi

3. Bir sınıf örneğinin bildirimi başlatmadır, çünkü Klas() yapıcısı bildirilmezse çağrılır, ardından varsayılan yapıcı çağrılır - yardım için yardım

onlar. yalnızca başlatma pp.3

Ve neden bir işaretçi aracılığıyla başlatılıyor? sınıflar, 30 kez okunan yardımda kötü bir şekilde açıklanmıştır.

Evet, gerçekten, dersten sonra herhangi bir kaydım yok, ancak nedense bu kod OnStart'ta sıkışmış

   CFoo foo1( TimeCurrent ());     // явный вызов параметрического конструктора 
   CFoo foo2();                   // явный вызов параметрического конструктора с параметром по умолчанию 
   CFoo foo3= D'2009.09.09' ;       // неявный вызов параметрического конструктора 
   CFoo foo40(foo1);             // явный вызов конструктора копирования 
   CFoo foo41=foo1;               // неявный вызов конструктора копирования 
   CFoo foo5;                     // явный вызов конструктора по умолчанию (если конструктор по умолчанию отсутствует, 
                                 // то вызывается параметрический конструктор с параметром по умолчанию) 
//--- допустимые варианты получения указателей CFoo 
   CFoo *pfoo6= new CFoo();       // динамическое создание объекта и получение указателя на него 
   CFoo *pfoo7= new CFoo( TimeCurrent ()); // ещё один вариант динамического создания объекта 
   CFoo *pfoo8= GetPointer (foo1); // теперь pfoo8 указывает на объект foo1 

İstediğin gibi anla. Neden böyle açıklasın.

CFoo *pfoo6= new CFoo();       // динамическое создание объекта и получение указателя на него

Bu işaretçi neden açık değil.

CFoo *pfoo7= new CFoo( TimeCurrent ()); // ещё один вариант динамического создания объекта 

ve bu istediğin şey için o zaman düşün

CFoo foo3= D'2009.09.09' ;       // неявный вызов параметрического конструктора

ve bunun ne anlama geldiği de açık değildir.

CFoo foo40(foo1);             // явный вызов конструктора копирования 
Buna neden ihtiyaç duyulduğu da açık değildir. Onu alırlardı, yüklemezlerdi, ancak fikri normal ve basit bir şekilde boyarlardı.
 

Selamlar.

Söyleyin lütfen, MT4 ve MT5'teki ızgara için yatay seviyeler nasıl hesaplanıyor?

 
Seric29 :

Ve neden bir işaretçi aracılığıyla başlatılıyor? sınıflar, 30 kez okunan yardımda kötü bir şekilde açıklanmıştır.

işaretçi bir işaretçidir, başlatma başlatmadır

başlamak için bu kodu anlayın:

 1 . int a;
2 . int a = 5 ;

bu koddaki başlatma nedir ve bir değişkenin bildirimi nedir?

bellek ne zaman ayrılır?

ve sonra, bu bilgiyle, OOP konusuna yaklaşın ve bir sınıfa işaretçiler ve bir nesneye işaretçiler


Ayrıldım, nedense temel soruları cevaplayamıyorum

 
Igor Makanu :

işaretçi bir işaretçidir, başlatma başlatmadır

başlamak için bu kodu anlayın:

bu koddaki başlatma nedir ve bir değişkenin bildirimi nedir?

bellek ne zaman ayrılır?

ve sonra, bu bilgiyle, OOP konusuna yaklaşın ve bir sınıfa işaretçiler ve bir nesneye işaretçiler


Ayrıldım, nedense temel soruları cevaplayamıyorum

İşte basit ve net bir örnek. 1. seçenek, bir değişkenin bildirilmesi ve bellek tahsisidir (varsayılan olarak, değişken çöpü rastgele bir değer veya sektör numarası veya C ++ 'da burada bilmiyorum adres depolar), ikinci seçenek başlatmadır.

Ve neden Tip'e işaret eden bu işaretçiler ve bunların da ne olduğu normal olarak açıklanmalıdır.

sınıf işaretçileri ve nesne işaretçileri

Okuyacağım ve bakacağım ağda şimdi ne olduğunu anlamak da gerekli olurdu, belki bir şey vardır.

 
Andrey Sokolov :

Selamlar.

Söyleyin lütfen, MT4 ve MT5'teki ızgara için yatay seviyeler nasıl hesaplanıyor?

genellikle emrin açılış fiyatlarında en aşırı üst/alt emirleri belirlerler, sonra belirli bir değer eklerler ve yeni bir fiyat alırlar ve bu fiyatın ne zaman bu seviyeyi kırdığını izlerler - bir koşul ve yeni bir emir verirler veya hemen koyarlar maksimum sipariş sayısına odaklanan ve ardından bu ızgaraya eşlik eden bekleyen siparişlerden oluşan bir ızgara


burada, genel bir KB aramasında, herhangi bir kompakt koda bakmak ve görevlerinize uyacak şekilde değiştirmek daha kolaydır


Not: soru hesapları netleştirmeyle ilgiliyse - denemedim, ancak makaleler var gibi görünüyor, benim için hesapları netleştirmek bu kadar basit TS için daha zor, ancak belki de bunu denemedim

 
Seric29 :

İşte basit ve net bir örnek. 1. seçenek, bir değişkenin bildirilmesi ve bellek tahsisidir (varsayılan olarak, değişken çöpü rastgele bir değer veya sektör numarası veya C ++ 'da burada bilmiyorum adres depolar), ikinci seçenek başlatmadır.

Ve neden Tip'e işaret eden bu işaretçiler ve bunların da ne olduğu normal olarak açıklanmalıdır.

bellek tahsisi hem örnek 1 hem de örnek 2'de olacaktır

örnek 2 hem bildirim hem de başlatmadır, örnek 1 yalnızca bildirimdir

sınıflarla aynı, sınıf, alanları (özellikleri) ve bu alanlarla çalışma yöntemlerini içeren özel bir türdür.

bir sınıfa işaretçi bir bildirimdir, ancak başlatma olmadan ve bir tür (sınıf) için bellek ayırmadan

işaretçi = yeni Sınıfım(); - bu, sınıfın yeni bir örneğinin oluşturulacağı ve sınıfın bu örneğinin bir nesneye referans olarak döndürüleceği bildirim ve başlatmadır (tam bir referans değil, MQL'de öyle ... değil önemli ve böylece kafanız karışır)

....

okumak istemiyorsanız, en azından örneğinizi değiştirmek için bu yazımı kullanın:

CFoo *pfoo6= new CFoo();

üzerinde

CFoo *pfoo6;
pfoo6 = new CFoo();
CFoo *pfoo_7 =  pfoo6;

ve neler olduğunu anlamaya çalışın - son satırı atarken ..... ama yine de okurken, sadece forumlarda sormak bir seçenek değil