[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 66
![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
Aşağıda kodun kendisi var.
Sorunun daha basit çözümleri varsa, yorum yapmaktan memnuniyet duyarım.
Muhtemelen böylesi daha iyidir
Teşekkürler, ama benim için çok karmaşık ve işlevin aynı anda 4 mesaj gösteriyor, ama bir taneye ihtiyacım var. Bir satırda en fazla 64 karakter çıkıyor mu?
Numara. Uzun mesajınızı alın ve ekranda okumak için uygun olduğu kadar çok parçaya bölün, ancak en fazla dört parçaya bölün. Ana şey, her bölümün 64 karakteri geçmemesidir. Mesaj kısa ise, fonksiyona tek parça olarak iletilebilir.
Bak, bu işlevi test etmesi için karavana bir danışman bağladım. Test cihazında görsel modda çalıştırın ve Win_Inform göstergesini görselleştirme tablosuna yerleştirin (bu, fragmandaki son mesajımda). Bu özelliğin nasıl çalıştığını hemen göreceksiniz.
Muhtemelen böylesi daha iyidir
Yaklaşık olarak bu kodla benimkini yükseltmeye başladım. Sürümünüzün 3 sorunu var:
- OP_BUY ve OP_SELL türündeki emirler açılır açılmaz OrdB ve OrdS parametreleri her tick'te otomatik olarak artacaktır , bu yüzden sadece ilgili bilette bir değişiklik (sat veya satın al) üzerine yeniden hesaplama koşulu ekledim;
- tüm siparişlerin yeniden hesaplanması OrdB ve Ord'da hatalara yol açar , sadece siparişlerdeki en son değişiklikleri saymamız gerekir;
- Versiyonunuzda if (OrdB<=OrederBuy), if (OrdS<=OrederSell) sonraki açılış emirleri için OrdB ve Ord parametrelerinde herhangi bir azalma yoktur .
Öyle bir şeye benziyor.
Yaklaşık olarak bu kodla benimkini yükseltmeye başladım. Sürümünüzün 3 sorunu var:
- OP_BUY ve OP_SELL türündeki emirler açılır açılmaz OrdB ve OrdS parametreleri her tick'te otomatik olarak artacaktır , bu yüzden sadece ilgili bilette bir değişiklik (sat veya satın al) üzerine yeniden hesaplama koşulu ekledim;
- tüm siparişlerin yeniden hesaplanması OrdB ve Ord'da hatalara yol açar , sadece siparişlerdeki en son değişiklikleri saymamız gerekir;
- Versiyonunuzda if (OrdB<=OrederBuy), if (OrdS<=OrederSell) sonraki açılış emirleri için OrdB ve Ord parametrelerinde herhangi bir azalma yoktur .
Öyle bir şeye benziyor.
Evet, doğru, for döngüsünden önce sipariş sayaçlarını sıfırlamanız gerekiyor
Tünaydın! Lütfen Kim'in işlevini anlamama yardım edin:
çizgiyi anlamıyorum
neden ilk if'den sonra işaret yok, ifade böyle yazılırsa ne olur. StringFind eylemi ne için ve neden dize araması JPY'ye dayalı? Nasıl d = 0 olabilir ve hangi durumda 2 atanır ve hangi 4? Cevap için çok minnettar olacağım, şimdiden teşekkürler)))
Evet, doğru, for döngüsünden önce sipariş sayaçlarını sıfırlamanız gerekiyor
)) Nedense, kendim düşünmedim, sarmaya başladım.
İyi şanlar
bu yüzden daha net olacağını düşünüyorum
d - alıntı doğruluğu (ondalık noktadan sonraki rakamlar)
JPY çiftindeyse, ana dalları olan kurs yaklaşık olarak aşağıdaki formattadır xxx.xx
çiftte JPY yoksa, ana oranlar yaklaşık olarak x.xxxx'tir (dolayısıyla "dört haneli " adı)
Evet, doğru, for döngüsünden önce sipariş sayaçlarını sıfırlamanız gerekiyor
Bir noktayı daha kaçırdım:
- Versiyonunuzda, if (OrdB<=OrederBuy), if (OrdS<=OrederSell) sonraki açılış emirleri için OrdB ve OrdS parametrelerinde herhangi bir azalma yoktur .
Yeni versiyonda örneğin 5 emir açılır, sayılır ve ardından if koşulu yeni emir açılmasına izin vermez. OrdB'nin eski sürümüne sahibim-- ve OrdS--
kullanılmış.
bu yüzden daha net olacağını düşünüyorum
d - alıntı doğruluğu (ondalık noktadan sonraki rakamlar)
JPY çiftinde ise, ana dalları olan kurs yaklaşık olarak aşağıdaki formattadır xxx.xx
çiftte JPY yoksa, ana oranlar yaklaşık olarak x.xxxx'tir (dolayısıyla "dört basamaklı" adı)