Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
MA. Hızlı. Tam olarak bir gün tutacağım - sonra sileceğim!
Silmeye gerek yok! Bırak kalsın...
Igor, her şeyden önce, işlevleriniz için teşekkür ederim ve bu konu için profesyonel olmayan birçok programcıya yardımcı oluyorlar. Ama size NumberOfOrders() işlevi hakkında bir soru sormak istiyorum. Bir türlü çalıştıramıyorum. Nasıl kullandığımın bir örneği olarak, onu standart bir MACD Expert Advisor'a dahil ettim. Kodu ekliyorum:
Kısaca açıklanan, orada değiştirilir:
Doğal olarak, bu işe yaramaz. Neyin yanlış olduğunu açıklayabilir misiniz? Şimdiden teşekkürler.Neyin yanlış olduğunu açıklayabilir misiniz? Şimdiden teşekkürler.
İki açıklama:
1. Ben şöyle yapardım:
2. NumberOfOrders() işlevi emirlerin sayısını döndürür - BuyLimit, BuyStop, SellLimit ve SellStop türlerinin alım satım işlemleri. Emirlerle değiştirdiğiniz Expert Advisor çalışmıyor. Piyasa fiyatlarından pozisyon açar, yani Al-Sat gibi ticari işlemler yapar. Bir sonraki gönderide paylaşacağım NumberOfPositions() fonksiyonunu kullanmanız gerekiyor.NumberOfPositions() işlevi.
Bu işlev, o anda açık olan pozisyonların sayısını döndürür. Sayılan konumların daha doğru seçimi, harici parametreler tarafından belirlenir:
- sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer "" herhangi bir piyasa aracı anlamına gelir. NULL , geçerli enstrüman anlamına gelir.
- op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
- mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.
ZY Ekli, NumberOfPositions() işlevini test etmek için bir komut dosyasıdır.Vay! Bu tasarımı düşündüm:
tüm pozisyonları yineleyin (OP_SELL ve OP_BUY dahil). Şimdi her şey çalışıyor. Tekrar teşekkürler!GetProfitFromDateInCurrency() işlevi.
Bu fonksiyon, belirli bir tarihten itibaren kapatılan pozisyonların mevduat para birimi cinsinden toplam kârını döndürür. Dikkate alınacak pozisyonların daha doğru seçimi harici parametreler tarafından belirlenir:
not. GetProfitFromDateInCurrency() işlevini test etmek için bir komut dosyası ektedir.
Farklı zaman dilimleri için mutlak ve yüzde kâr değerlerini gösteren i-Profit göstergesi örneğini kullanarak bu işlevin kullanımında ustalaşmak daha pratiktir.
Merhaba Igor.
Korelasyondaki f-th için teşekkür etmek istiyorum. Bazı seçeneklerim vardı, onları netleştirmek istedim)
Burada başka bir soru var. Testte çok sık ve hatta danışmanı gerçek zamanlı olarak test ederken bile 130 hatasıyla karşılaşıyorum - yanlış durma. Analiz etmediğim için, neden şu veya bu durumda ortaya çıktığını anlayamıyorum. Böyle bir yapı kullanmaya başladım
tabiri caizse dur kalk değerleri normalleştirmek ama bu durumu çözmedi. Belki buna benzer bir şeyle karşılaşmışsınızdır. bana bununla nasıl başa çıkacağımı söyle) ve en iyi nasıl analiz edeceğimi
Açıklama: Açık fiyattan +1 p'de bir durdurma belirlemeye çalıştığımda bu çok sık başıma geliyor
131 hatasıyla karşılaşıyorum - geçersiz durdurma.
131 - Yanlış hacim, hacim granülasyonunda hata. Bu işlem gören lot büyüklüğüdür.
131 hatasıyla karşılaşıyorum - geçersiz durdurma.
131 - Yanlış hacim, hacim granülasyonunda hata. Bu işlem gören lot büyüklüğüdür.
kodda hata yaptı, 131 değil 130
kodda hata yaptı, 131 değil 130
Apaçık...
Bu şekilde normalleştirmeyi deneyin:
Bunu yapıyorum ve 130 hatasıyla karşılaşmıyorum.