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

 

Küplerden bahsetmişken!

Lütfen bana gereksiz bir "küpü" nasıl sileceğimi söyle?

 
im-zvv :

Küplerden bahsetmişken!

Lütfen bana gereksiz bir "küpü" nasıl sileceğimi söyle?

Bunu yapmak için, bu "küpün" hangi konumda olduğunu, kaç bayt kapladığını bilmeniz, dosya işaretçisini oraya taşımanız ve bu yere yeni bir değer yazmanız gerekir.

Bu nedenle, çizgilerin farklı uzunlukları varsa, bu gerçekçi değildir. İstenilen "küp" için kaç bayt olduğunu saymak imkansız olacaktır.

 
Alexey Viktorov :

Bunu yapmak için, bu "küpün" hangi konumda olduğunu, kaç bayt kapladığını bilmeniz, dosya işaretçisini oraya taşımanız ve bu yere yeni bir değer yazmanız gerekir.

Bu nedenle, çizgilerin farklı uzunlukları varsa, bu gerçekçi değildir. İstenilen "küp" için kaç bayt olduğunu saymak imkansız olacaktır.

Açıkçası, tüm bu hesaplamalar işlem süresini büyük ölçüde artıracaktır.

Başka yollar arayacağım.

Teşekkür ederim.

 
Alexey Viktorov :

Bunu yapmak için, bu "küpün" hangi konumda olduğunu, kaç bayt kapladığını bilmeniz, dosya işaretçisini oraya taşımanız ve bu yere yeni bir değer yazmanız gerekir.

Bu nedenle, çizgilerin farklı uzunlukları varsa, bu gerçekçi değildir. İstenen "küp" için kaç bayt olduğunu saymak imkansız olacaktır.

Önemli değilse ve WinApi'yi kullanmak mümkünse, sorunun FileMapping ile çözülebileceğini düşünüyorum.

 

Her şeyi deneyeceğim. Rezerv için soyut değişkenler içeren "boş" bir dosya oluşturarak başlayacağım. Sonra alınan verileri değiştireceğim.

Çalışabilir. Sorun sadece dosyanın boyutunda, sonuçta artabilir. Her okumadan önce yeni bir rezerv oluşturmanız gerekecektir.

 
Yeni operatörü mql4'te kullanma konusunda makaleler arıyorum , bu tür makaleler önerebilir misiniz? Fonksiyonlar ve global değişkenler varsa, çok video izlendiyse ve yardım defalarca okunduysa ve ne anlama geldiğini anlamadıysa, sınıflara neden ihtiyaç duyulduğunu kısaca kim açıklayabilir?
 
Seric29 :
Yeni operatörü mql4'te kullanma konusunda makaleler arıyorum , bu tür makaleler önerebilir misiniz? Fonksiyonlar ve global değişkenler varsa, çok video izlendiyse ve yardım defalarca okunduysa ve ne anlama geldiğini anlamadıysa, sınıflara neden ihtiyaç duyulduğunu kısaca kim açıklayabilir?

MQL'deki yeni operatör, yalnızca bir nesne örneğine bir işaretçi oluşturmak için gereklidir


MQL programları oldukça uzmanlaşmıştır ve OOP genellikle kapsülleme için kullanıma uygundur, bugün yukarıda CWorkTime sınıfının bir örneğini verdim https://www.mql5.com/ru/forum/160683/page861#comment_11840254

Expert Advisor'ın çalışma süresini sınırlamak için, işlem süresi sınırlama nesnesinin birkaç örneğini yapmak için kapsüllemeyi kullanmak uygundur, buna benzer bir şey:

 int OnInit ()
{
   Work1= new CWorkTime(StartHour_1,StartMinute_1,StopHour_1,StopMinute_1);
   Work2= new CWorkTime(StartHour_2,StartMinute_2,StopHour_2,StopMinute_2);
}

.....


void OnTick ()
  {

if (Work1.Disable() || Work1.Disable())
{
 Comment ( "Не торговое время!!!" );
 }
else
{......

onlar. şimdi benim örneğimde, Expert Advisor için 2 zaman aralığı belirleyebilirsiniz.

Not: okuyun - "Objektif olarak" makalesinin forum bölümünü arayın

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.26
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Igor Makanu :

Sınıfların bu değişkenleri ve işlevleri daha büyük ölçüde birleştirdiği açıktır ve kalan ölçüde, doğru anlarsam muhtemelen güçlü bir şey yaparlar, çünkü her şey işlevler tarafından organize edilebilir, belki sınıflar işlevlerden daha hızlı çalışır, daha hızlı erişim elde edersiniz. Verilere, hafızayı daha eşit ve ekonomik olarak kullanan forumları okudum ve hepsi bu.

 

Bu kod neden çalışmıyor?

#property version    " 1.00 "
#property strict
string iComments="\n 
 class CArray : public Cobject 
{
public :
     double m_Array[ 100 ];
}//дальше в OnInit ()
 {Carray *arr = new CArray;
   arr.m_Array[ 22 ] = 1.23456 ;

....
}

Belki de sınıfı iki nokta üst üste ile tanımlamanız gerekiyor ::? Fikrin anlamı, başka bir işaretçiye işaret edecek bir işaretçi oluşturmaktır.

 

Merhaba!

Alıntı ipucu için Alexey Viktorov'a tekrar teşekkürler - her şey çalışıyor. AMA: bu Pazartesi günü bir durum ortaya çıktı - Almanlar ticaret yaptı ve İngilizler bir gün izin aldı. Ve Euro'da bir pozisyon açma koşulunda, sterlin eski değerlerinin kullanıldığı ortaya çıktı. Bu nedenle istek: bana o gün her iki sembolün de işlem gördüğü kodda nasıl bir kontrol ayarlayacağımı söyle?

Teşekkür ederim.