[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 674

 

Teşekkür ederim.
 

Böyle bir sorun.

EA'yı öğreticiden değiştirmeye başladı - strings.mq4 (EA bağlantısı https://c.mql4.com/book/mq4/experts/strings.mq4)

Kelimenin tam anlamıyla birkaç satır ekledim, ancak enfeksiyon çalışmıyor. İşleri batırdığım açık ama hatayı bulamıyorum.

Böyle. Tüm değişiklikler blok 10'da yoğunlaşmıştır.

İşte orijinal:

//------------------------------------------------ -------------- on --
int Create(int Ind_Bar, int Line) // Özel fonksiyon..
{ // ..nesne oluşturma
renk Renk; // nesne rengi
tarihsaat T_Bar=Saat[Ind_Bar]; // Barın açılma zamanı
double O_Bar=Aç[Ind_Bar]; // Bar açılış fiyatı
double C_Bar=Kapat[Ind_Bar]; // Bar kapanış fiyatı
double H_Bar=Yüksek[Ind_Bar]; // Maksimum çubuk fiyatı
double L_Bar=Düşük[Ind_Bar]; // Minimum çubuk fiyatı

string Nom_Lin =Satır + "_"; // Satır - satır numarası
// string Nom_Lin = DoubleToStr(Line,0)+"_";// Bunu yapabilirsiniz
string Str_Time=TimeToStr(T_Bar); // Dize - açık zaman.
string His_Name=Prefix+Nom_Lin+Str_Time;// Oluşturulan nesnenin adı
if (O_Bar < C_Bar) Renk=Mavi; // göre renk seçin..
if (O_Bar > C_Bar) Renk=Kırmızı; // .. bar özelliklerinden
if (O_Bar ==C_Bar) Renk=Yeşil;

switch(Line) // İnce veya kalın çizgi
{
durum 1: // ince çizgi
ObjectCreate(Onun_Adı, OBJ_TREND ,0,T_Bar,H_Bar,T_Bar,L_Bar);
kırmak; // Çıkış anahtarı
durum 2: // kalın çizgi
ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,O_Bar,T_Bar,C_Bar);
ObjectSet( His_Name, OBJPROP_WIDTH, 3);// Stil
}
ObjectSet(Onun_Adı, OBJPROP_COLOR, Renk); // Renk
ObjectSet(Onun_Adı, OBJPROP_RAY, yanlış); // Işın
ObjectSetText(His_Name,"Uzman tarafından oluşturulan nesne",10);// Açıklama
dönüş; // Çıkış Yap fonksiyonlar

}

Ve işte yaptığım şey (hatasız derleniyor): (ekteki dosyaya da bakınız)

//------------------------------------------------ -------------- on --
int Create(int Ind_Bar, int Line) // Özel fonksiyon..
{ // ..nesne oluşturma
renk Renk; // nesne rengi
tarihsaat T_Bar=Saat[Ind_Bar]; // Barın açılma zamanı
double O_Bar=Aç[Ind_Bar]; // Bar açılış fiyatı
double C_Bar=Kapat[Ind_Bar]; // Bar kapanış fiyatı
double H_Bar=Yüksek[Ind_Bar]; // Maksimum çubuk fiyatı
double L_Bar=Düşük[Ind_Bar]; // Minimum çubuk fiyatı
//----------------------değişiklikler---------------------- ------ -----
double Macd_M_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
// En üstte - ana hattan günlük olarak MACD hesaplamasına erişim
double Macd_S_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
// Bu, MACD'ye yapılan bir çağrıdır ve günlük olarak Sinyal satırının hesaplanmasıdır.
double Macd_M_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
// Bu, MACD'ye yapılan bir çağrı ve mevcut zaman dilimindeki ana hattın hesaplanmasıdır.
double Macd_S_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
// Bu, MACD'ye yapılan bir çağrıdır ve mevcut zaman çerçevesindeki sinyal hattının hesaplanmasıdır.

string Nom_Lin =Satır + "_"; // Satır - satır numarası
// string Nom_Lin = DoubleToStr(Line,0)+"_";// Bunu yapabilirsiniz
string Str_Time=TimeToStr(T_Bar); // Dize - açık zaman.
string His_Name=Prefix+Nom_Lin+Str_Time;// Oluşturulan nesnenin adı
if ((Macd_M_D1 < Macd_S_D1)&&(Macd_M_H4 < Macd_S_H4))Color=Mavi;
if ((Macd_M_D1 > Macd_S_D1)&&(Macd_M_H4 > Macd_S_H4))Color=Kırmızı;
//
//if (O_Bar < C_Bar) Renk=Mavi; // göre renk seçin..
//if (O_Bar > C_Bar) Renk=Kırmızı; // .. bar özelliklerinden
//if (O_Bar ==C_Bar) Renk=Yeşil;

//----------------------değişiklikler---------------------- ------ -----

Amaç - günlük ve mevcut zaman dilimindeki MACD okumaları birleşirse - mumu yöne bağlı olarak kırmızı veya mavi renklendirmek.

Dosyalar:
 

Bunun gibi dizileri bildiremezsiniz

 datetime T_Bar=Time [Ind_Bar]; // Время открытия бара
double O_Bar=Open [Ind_Bar]; // Цена открытия бара
double C_Bar=Close[Ind_Bar]; // Цена закрытия бара
double H_Bar=High [Ind_Bar]; // Максимальная цена бара
double L_Bar=Low [Ind_Bar]; // Минимальная цена бара

Derleyici , dizinin boyutunu belirtmek yerine bir değişken olduğunu görür. Gelecekteki dizi için ne kadar bellek ayrılacağını bilemeyecek. Kodunuzun çalışmadığı yer burasıdır.

 
drknn :

Bunun gibi dizileri bildiremezsiniz

Derleyici, dizinin boyutunu belirtmek yerine bir değişken olduğunu görür. Gelecekteki dizi için ne kadar bellek ayrılacağını bilemeyecek. Kodunuzun çalışmadığı yer burasıdır.

gerçek şu ki, EA'nın bu kısmına dokunmadım - ve hepsi işe yaradı - ve kodun belirtilen kısmı MQL4 eğitiminden alındı - burada https://c.mql4.com/book/mq4/experts /dizeler.mq4

 
victor417 :

gerçek şu ki, EA'nın bu kısmına dokunmadım - ve hepsi işe yaradı - ve kodun belirtilen kısmı MQL4 eğitiminden alındı - burada https://c.mql4.com/book/mq4/experts /dizeler.mq4


Diziler ders kitabında böyle bildiriliyorsa, bu çok garip. SİZİN katkıda bulunduğunuz kodun bu bölümünü bir yorumla vurgular mısınız?

O ders kitabını okumadım. Ve yazar, orada böyle bir dizi bildiriminin meşruiyetini nasıl kanıtlıyor?

 

Garip bir özellik fark ettim - alıntı hacmi ne kadar büyükse, test cihazı o kadar yavaşlar... Teste 1999'dan başlarsam, hızlı bir şekilde "çalışır", ancak şimdiki zamana ne kadar yakınsa, frenler o kadar güçlü olur.. 2008 ve "bugüne" daha yakın - genellikle görselleştirme modunda test etmek imkansızdır.

Genel olarak test frenleriyle nasıl başa çıkılır ???

 

drknn :

Bunun gibi dizileri bildiremezsiniz

 datetime T_Bar=Time [Ind_Bar]; // Время открытия бара
double O_Bar=Open [Ind_Bar]; // Цена открытия бара
double C_Bar=Close[Ind_Bar]; // Цена закрытия бара
double H_Bar=High [Ind_Bar]; // Максимальная цена бара
double L_Bar=Low [Ind_Bar]; // Минимальная цена бара

Derleyici, dizinin boyutunu belirtmek yerine bir değişken olduğunu görür. Gelecekteki dizi için ne kadar bellek ayrılacağını bilemeyecek. Kodunuzun çalışmadığı yer burasıdır.

Diziler ders kitabında böyle bildiriliyorsa, bu çok garip. SİZİN katkıda bulunduğunuz kodun bu bölümünü bir yorumla vurgular mısınız?

O ders kitabını okumadım. Ve yazar, orada böyle bir dizi bildiriminin meşruiyetini nasıl haklı çıkarır?

Değişkenlerin başlatıldığını görüyorum. Diziler nerede?

Zaman serisi? ;)

 
Merhaba, belki biri zaten bir zikzak göstergesi yapmıştır, böylece akımı yüksek-düşük değerden belirtilen minimum sapmada ancak noktalarda büker ... örneğin, 50 pp'lik bir sapma ayarlarsanız, her şeyin daha az olduğunu düşündü. gürültü .. forumda nasıl arama yapacağımı bilmiyorum bu kadar çok insan var..şimdiden teşekkürler.
 

Lütfen söyle bana, test cihazıyla ilgili bir sorunum var.

Rapor, toplam kaybın = 863 ve maksimum düşüşün = 1427 olduğunu gösteriyor. Bu nasıl olabilir?

Denge eğrisine bakarsanız, maks. düşüş - 863.

Bu ne tür bir aksaklık, lütfen söyle bana, yoksa öyle mi olmalı?

Şimdiden teşekkürler)

 
Merhaba, buraya bir son durak ekleyebilecek olan var mı ve her seferinde farklı bir durdurma kaybı ayarlanıyor... Düzeltin lütfen.
Dosyalar:
a_sidus_1.mq4  5 kb
Neden: