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

 

Mevcut herkese iyi günler. Sorum tüccarlara değil, MKL4 programcılarına, çünkü kod geliştiricinin kendisi de dahil olmak üzere ikisi bana yardım edemedi.

Sonuç olarak şu: Haberlerde alım satım yapmak için, haberin yayınlanmasından önce ve sonra belirli periyotlarda alım satımı yasaklayan görünüşte iyi bir danışman şablonu buldum. Haberin yayınlanmasından sadece bir süre sonra bir pozisyon açması için yeniden yapmak istedim. Benim için bile o kadar zor değil - Haberin yayınlanmasından sonraki belirli bir an dışında her zaman ticareti yasaklayan ek bir bayrak ekledim. Tüm zaman aralıkları ayarlarda ayarlanır.

Ve her şey yolunda, beklendiği gibi çalışıyor, ancak önemli bir nokta var: Haberin yayınlanmasından hemen önce veya yayın sırasında kodu yeniden derlemeniz gerekiyor. Bu yapılmazsa, haber çıkış hattı danışmanı çizer, ancak herhangi bir mesaj vermez ve buna göre pozisyon açmaz. Ve farklı çiftlerde eşit derecede kararsız davranmaz.

Forumda zor bulmaca hayranları varsa veya belki birileri daha önce benzer bir sorunla karşılaşmışsa, havayı tıkamamak için orijinal kodu ve PM'de değiştirdiğim kodu göndereceğim.

Teşekkür ederim.

 
novichok2018 :

Mevcut herkese iyi günler. Sorum tüccarlara değil, MKL4 programcılarına, çünkü kod geliştiricinin kendisi de dahil olmak üzere ikisi bana yardım edemedi.

Sonuç olarak şu: Haberlerde alım satım yapmak için, haberin yayınlanmasından önce ve sonra belirli periyotlarda alım satımı yasaklayan görünüşte iyi bir danışman şablonu buldum. Haberin yayınlanmasından sadece bir süre sonra bir pozisyon açması için yeniden yapmak istedim. Benim için bile o kadar zor değil - Haberin yayınlanmasından sonraki belirli bir an dışında her zaman ticareti yasaklayan ek bir bayrak ekledim. Tüm zaman aralıkları ayarlarda ayarlanır.

Ve her şey yolunda, beklendiği gibi çalışıyor, ancak önemli bir nokta var: Haberin yayınlanmasından hemen önce veya yayın sırasında kodu yeniden derlemeniz gerekiyor. Bu yapılmazsa, haber çıkış hattı danışmanı çizer, ancak herhangi bir mesaj vermez ve buna göre pozisyon açmaz. Ve farklı çiftlerde eşit derecede kararsız davranmaz.

Forumda zor bulmaca hayranları varsa veya belki birileri daha önce benzer bir sorunla karşılaşmışsa, havayı tıkamamak için orijinal kodu ve PM'de değiştirdiğim kodu göndereceğim.

Teşekkür ederim.

Ya havaya karışın ya da serbest çalışın.
 

Selamlar.

"Ok" nesneleri oluşturan bir DivergenceSolution göstergesi vardır, grafikte veri almanız gereken oklar

Test için açmak uygun mudur ve eğer öyleyse, nasıl?

Göstergenin giriş parametreleri bilinmiyor ve testin başlangıcında bunların sadece küçük bir kısmı görüntüleniyor. Ve böyle bir kayıtla

b0 = iCustom(NULL, 0, "DivergenceSolution", 0, 1);

hatalar atar


 
Artyom Trishkin :
Ya havaya karışın ya da serbest çalışın.

Bu, sorunu çözmeyi taahhüt ettiğiniz anlamına mı geliyor?

 

İnsanlar, böyle bir şey, Java'da OOP ile ilgili çok az deneyim var, prosedürü sadece C ++ 'da "Merhaba, dünya!" düzeyinde kullandım.

1000+ satırlık makarnayı okumamak için programı birkaç parçaya bölmek veya daha doğrusu bazı büyük fonksiyonları ayırmak gerekiyor, anladığım kadarıyla bu fonksiyonların içe aktarılabileceği ayrı dosyalar oluşturmak gerekiyor, ancak bir detay var. Bu işlevleri uzmanımın global değişkenlerini kullanarak (ve muhtemelen değiştirerek) yazdım ve bunların başlatılması olmadan elbette ayrı bir işlev derlenmeyecek.

Öyleyse soru şudur: Genellikle C++'da yapıldığı gibi problem güzelce nasıl çözülür?

1) Tüm global değişkenleri, işlevlerde referans olarak gelen parametreler olarak ayarlamak aptalca mı? Çok hantal olacak.

2) Ve aynı global değişkenleri bu fonksiyonun ayrı bir dosyasında bildirir ve sonra onu (fonksiyon) içe aktarır ve ana programda kullanırsanız, düzgün çalışır mı?

 

Tünaydın. EA'da atr ve yayılmaya karar verdim. Söyle bana, lütfen, bir çift için sırasıyla 2 ondalık basamağa ve atr'ye nasıl yayılacağını söyle

 int Spread=( int ) MarketInfo ( Symbol (), MODE_SPREAD );
double atr1440= iATR ( Symbol (), 1440 ,22, 0 );
Comment (      
           "atr1440 = " + DoubleToString (atr1440)+ "\n" +
           "Spread = " + DoubleToString (Spread));
 
Carcass77 :

Tünaydın. EA'da atr ve yayılmaya karar verdim. Söyle bana, lütfen, bir çift için sırasıyla 2 ondalık basamağa ve atr'ye nasıl yayılacağını söyle


İkinci parametre olarak virgülle ayrılır. Sonuçta, editörde kod yazarken ipuçları var.
 
Artyom Trishkin :
İkinci parametre olarak virgülle ayrılır. Sonuçta, editörde kod yazarken ipuçları var.

Teşekkür ederim. Bu formda karakterlerin boyutunu veya rengini değiştiremeyeceğimi doğru anlıyor muyum?

 
Carcass77 :

Teşekkür ederim. Bu formda karakterlerin boyutunu veya rengini değiştiremeyeceğimi doğru anlıyor muyum?

İşaretlerin boyutu olabilir, renk değildir.



stringDoubleToString (

çift değer, // sayı

int basamak=8 // ondalık basamak sayısı

);

 
Alekseu Fedotov :

İşaretlerin boyutu olabilir, renk değildir.



stringDoubleToString(

çift değer, // sayı

int basamak=8 // ondalık basamak sayısı

);

pardon yazı tipi boyutunu kastetmiştim

Neden: