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

 
xrust :


uyarı çalışmayacak - test cihazında bir baskıya dönüşüyor ... bu nedenle genel olarak test cihazı, ticaret koşullarını (siparişler ve mantık) işleme özelliğine sahiptir ve ancak o zaman, boş zaman varsa, yalnızca yazdırmak için bir yorum ve ardından bu işlem yazdırmadan çok daha fazla zaman alır. Yani burada.

Rüstem, bence bunu herkes biliyor, ama benim için bir şey basmayan sadece baskı ... Belki bu şekilde “kırmak” mümkün olacak ...
 
artmedia70 :





ne yazık ki trol çalışmıyor. Derleme yaparken hata veriyor. Neyin tamir edilmesi gerekiyor?
 
artmedia70 :

??????????


Terminali yeniden başlatmayı deneyin.
 

Son kaybedilen işlemlerin toplamını para olarak nasıl hesaplayabilirim !!! Eğer öyleyse, kod ...

Avluda güneş parlıyor, kafa hiç çalışmıyor ..... )

Teşekkürler...
 

I.Kim'in şubesinde size yardımcı olabilecek fonksiyonlar var! - https://www.mql5.com/ru/forum/107476

GetProfitFromDateInCurrency() işlevi. Sayfa 18

Bu fonksiyon, belirli bir tarihten itibaren kapatılan pozisyonların mevduat para birimi cinsinden toplam kârını döndürür.

isLossLastPos() işlevi. Sayfa 21

Bu işlev, son kapatılan pozisyonun kârsızlık bayrağını döndürür. Bayrak kaldırıldı - Doğru - son pozisyon bir kayıpla kapatıldı. Bayrak atlandı - Yanlış - son pozisyon ya sıfırdan ya da kârla kapatıldı. İşlev, takasları ve komisyonu hesaba katmaz. Konum seçimi harici parametreler tarafından belirlenir:

isCloseLastPosByStop() işlevi.

Bu işlev, durarak son konumu kapatmak için bayrağı döndürür. İşaret kaldırıldı - Doğru - StopLoss tetiklendi. İşaret atlandı - Yanlış - pozisyon başka bir nedenle kapatıldı

NumberOfLossPosToday() işlevi. Sayfa 24

Bu işlev, bugün kapatılan kârsız pozisyonların sayısını döndürür.

 
DaVinci :

ne yazık ki trol çalışmıyor. Derleme yaparken hata veriyor. Neyin tamir edilmesi gerekiyor?
Ne trol? Sorun ne?
 

Arkadaşlar, iyi günler.

Sorunun doğrudan mql ve robotik ile ilgili olmadığı için üzgünüm, ancak forex ve değişim süreçlerinin sonraki analizi için burada gerçekten anlamak istiyorum.

sorun şu:

ZigZag'ın yüksek/düşük değerlerinin değerini ve bu yüksek/düşüklerin oluşum zamanını gösteren bir excel dosyası var.

Bu verilere dayanarak, aşağıdaki biçimde bir grafik oluşturmak gerekir:

Lütfen bunu Excel 2007'de nasıl yapacağımı söyleyin.

(Sorunun amatörce olduğunu anlıyorum ama tatilden sonra şimdi forma girmelisin)

Şimdiden çok teşekkür ederim.

 

Şimdiye kadar çok para biriminde Uzman Danışmanlarla uğraşmak zorunda kalmadım. MetaTrader'ın bu tür Uzman Danışmanları test etmeye / optimize etmeye izin verip vermediğini, bugün hangi problemlerin, sınırlamaların var olduğunu vb. Standart olanlardan farklı olarak bu tür Uzman Danışmanları yazmanın özellikleri nelerdir?

Teşekkür ederim!

 
Morzh09 :

Arkadaşlar iyi günler...

Anladığım kadarıyla, sonunda bu resim gibi bir şey elde etmeniz gerekiyor:

Öyleyse, bunu almak için Excel 2007'de aşağıdakileri yapın:
Komut dosyası tarafından oluşturulan CSV dosyasını alıp Excel'de açıyoruz.
Gereksiz sütunları sırasıyla siler, yalnızca Time ve ZigZag Date bırakırız.
Ardından, kalan sütunları seçin, "Ekle" sekmesini açın, "Grafik" düğmesini tıklayın, "Grafik" türünü seçin. İşte bu, grafik standart parametrelerle otomatik olarak oluşturulur. Ayrıca gerekirse eksen ayarlarında bölme fiyatını değiştirir, grid ekleriz vb.

Arşivde, örneğin orijinal CSV ve XLSX formatında elde edilen grafik.

Dosyalar:
 
LÜTFEN LÜTFEN YARDIM !!! Aşağıdaki kodda siparişin karlı olup olmadığını kontrol ediyorum! Değilse, o zaman sayıyı sayarım!!
İlk ticaret kârsızsa, sayım döngüsü başlar ve sonsuza kadar eklenir.

Ama bu çok havalı!!! Ya Anlaşma karlıysa, sonraki tüm kaybeden siparişler normal olarak hesaplanır ....

çift siparişProf; // Kaybedilen işlem sayısı sayacı

double CalculateLots(){
çift Res=0.01;
bool bProfit=true;
int ÖncekiZaman=-1;
çift tmplot;
for (int i=0;i<OrdersHistoryTotal();i++){
(! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) devam ederse;
(OrderSymbol()!=Symbol()) devam ederse;
(OrderCloseTime()<PrevTime) devam ederse;
PrevTime=SiparişKapatTime();
if (OrderProfit()>0){bProfit=true; siparişProf=0; } if (OrderProfit()<0) {bProfit=false; siparişProf++ ;}
tmpLots=OrderLots();
}


dönüş(ler);
}