[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 227
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Sevgili profesyonel meslektaşlar, yardımınıza ihtiyacımız var. EA'da, ekranın üst köşesinde farklı zaman dilimlerindeki mevcut eğilim ve yaklaşan geri dönüş hakkında bir bildirim görüntüleyen bir işlev yapmak istiyorum. Bunu yapmak için LinearRegression ve Diverg fonksiyonlarımı kullanıyorum. Ancak, Yorum işleviyle hiç çalışmadım, bu yüzden nerede hata yaptığımı anlayamıyorum. Genel olarak, aşağıdaki kodun bir sonucu olarak, ekranda sadece "Trend W = Down" yazısı çıkıyor, ancak diğer tüm TF'ler için de bilgi görüntülenmesini istiyorum.
geçersiz UPDN()
{
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) < 0) Comment("Trend H1 = Yukarı");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)<0) Comment("...!H1'e Ters = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) < 0) Comment("Trend H4 = Yukarı");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)<0) Comment("...!H4'e Ters = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) < 0) Comment("Trend D1 = Yukarı");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)<0) Comment("...!D1'e Ters = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) < 0) Comment("Trend W = Yukarı");
if(Diverg(LR_TFr_4,0,Diver_Per_W)<0) Comment("...!W'ye Dön = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) > 0) Comment("Trend H1 = Down");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)>0) Comment("...!H1'e Ters = Yukarı");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) > 0) Comment("Trend H4 = Down");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)>0) Comment("...!H4'e Ters = Yukarı");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) > 0) Comment("Trend D1 = Down");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)>0) Comment("...!D1'e Ters = Yukarı");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) > 0) Comment("Trend W = Down");
if(Diverg(LR_TFr_4,0,Diver_Per_W)>0) Comment("...!W'ye Dön = Yukarı");
dönüş(0);
}
Sevgili profesyonel meslektaşlar, yardımınıza ihtiyacımız var. EA'da, ekranın üst köşesinde farklı zaman dilimlerindeki mevcut eğilim ve yaklaşan geri dönüş hakkında bir bildirim görüntüleyen bir işlev yapmak istiyorum. Bunu yapmak için LinearRegression ve Diverg fonksiyonlarımı kullanıyorum. Ancak, Yorum işleviyle hiç çalışmadım, bu yüzden nerede hata yaptığımı bulamıyorum. Genel olarak, aşağıdaki kodun bir sonucu olarak, ekranda sadece "Trend W = Down" yazısı çıkıyor, ancak diğer tüm TF'ler için de bilgi görüntülenmesini istiyorum.
geçersiz UPDN()
{
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) < 0) Comment("Trend H1 = Yukarı");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)<0) Comment("...!H1'e Ters = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) < 0) Comment("Trend H4 = Yukarı");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)<0) Comment("...!H4'e Ters = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) < 0) Comment("Trend D1 = Yukarı");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)<0) Comment("...!D1'e Ters = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) < 0) Comment("Trend W = Yukarı");
if(Diverg(LR_TFr_4,0,Diver_Per_W)<0) Comment("...!W'ye Dön = Aşağı");
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) > 0) Comment("Trend H1 = Down");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)>0) Comment("...!H1'e Ters = Yukarı");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) > 0) Comment("Trend H4 = Down");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)>0) Comment("...!H4'e Ters = Yukarı");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) > 0) Comment("Trend D1 = Down");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)>0) Comment("...!D1'e Ters = Yukarı");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) > 0) Comment("Trend W = Down");
if(Diverg(LR_TFr_4,0,Diver_Per_W)>0) Comment("...!W'ye Dön = Yukarı");
dönüş(0);
}
Diziler, Comment() işlevine geçirilemez. Diziler, eleman eleman yazdırılmalıdır.
Çift veri, noktadan sonra 4 ondalık basamakla verilir. Sayıları daha hassas bir şekilde görüntülemek için DoubleToStr() işlevini kullanmanız gerekir.
bool, datetime ve color türleri sayı olarak yazdırılacaktır.
Datetime verilerini bir dize olarak çıkarmak için TimeToStr() işlevini kullanın.
Çıktı bilgilerini birden çok satıra ayırmak için yeni satır karakteri "\n" veya "\r\n" kullanabilirsiniz.
Alert() ve Print() işlevlerine de bakın .
Teşekkür ederim. Anladım. Her TF için LinearRegression ve Diverg fonksiyonlarını çözmenin sonuçlarına göre değişkenler girmem ve sonra bunları bir yorumda, belki birkaç satırda görüntülemem gerekiyor.
Teşekkür ederim. Anladım. Her TF için LinearRegression ve Diverg fonksiyonlarını çözmenin sonuçlarına göre değişkenler girmem ve sonra bunları bir yorumda, belki birkaç satırda görüntülemem gerekiyor.
Sadece hattın uzunluğu ile ilgili kısıtlamalar vardır. İşlevi Alexander Pak'tan kullanabilirsiniz. bulamazsan ben kendim ararım
Bayanlar ve Baylar!
Bir diziyi referans olarak geçirme hakkında bir sorum var.
Algoritmanın şeması aşağıdaki gibidir:
Bir kütüphaneden diğerine, bir diziyi referans olarak iletiriz.
Orada yerleşik işlev aracılığıyla kopyalıyoruz:
Dizi Kopyala.
Ayrıca, referansla geçirilen dizi zaten kullanılıyor
ilk modülde.
Ancak bazı nedenlerden dolayı bir hata oluşur ve her zaman değil.
Onlar. bazen kopyalama oluyor bazen olmuyor.
Sebebi ne?
Günlük girişi aşağıdaki gibidir:
21:07:12 openHistory CADCHF,H1:
ArrayCopy işlevi için uyumlu 2 dizi aralığı (0 ve 4)
Örneğimi yanlış kopyaladığınız için. Dikkatlice bakın nerede i ve nerede k.
Kod sizinkine göre düzeltildi.
Test sırasında, ilk kene, beşinci - bir sonrakine yerleştirme sırasına göre dört sipariş kapatıldı. Muhtemelen burada yanlış olan başka bir şey var. tekrar tekrar test edildi.
Program kodu ve test cihazının günlüğündeki girişler verilir.
Samimi olarak. shurkin
Başlangıcı döngülemek gerekir. Döngünün içinde çalışın. Orada her şey mümkün.
bu biraz farklı. bağlantı kesildiğinde, günlükte "Ping başarısız oldu" yazıyor. işlevler olduğu anlamına gelir, ancak bir nedenden dolayı belgelenmezler.
ve döngü yapıldığında CPU ve bellek üzerindeki yük ne kadar artar?
İyi akşamlar! Üzgünüm, çözülmemiş bir soruna dönmek istiyorum.
'Satın al' - uyumsuz türler D:\TeleTRADE\experts\pure varyant.mq4 (102, 53)
'Sat' - uyumsuz türler D:\TeleTRADE\experts\pure varyant.mq4 (102, 79)
Bu satır derlenmiyor.