fikri destekliyorum. Doğru çözüm........!!!
Kodunuz çok büyük, sıklıkla sorular çıkıyor ve diğer kişilerin gönderilerinde ve diğer konularda sizinle iletişim kurmak bir şekilde iyi değil.
Harika.
Geliştiricilere öneri: bir işlev kitaplığı oluşturmaya başlayın. Benim düşünceme göre, bunun için topluluğa tasarım gereksinimlerinin sunulması arzu edilir (örneğin, değişkenlerin bir açıklaması olmalıdır , kullanım kısıtlamaları, satır başına karakter sayısı vb.). Bu konuyla ilgili bir MQ-vskuyu makalesi olması güzel olurdu.
Zamanla, kütüphanede sadece basit değil, aynı zamanda karmaşık işlevler de görünecektir.
Gerçek ticaret için işlevler yayınlanacak mı?
Evet, yapacaklar... Sırada çevrimiçi ticaret için SetOrder() işlevi olacak...
SetOrder() işlevini kullanma örnekleri:
1. Mevcut fiyatın 0.1 50 puan altında bir BuyLimit emri verin:
SetOrder ( NULL , OP_BUYLIMIT , 0.1 , Ask - 50 * Point ) ;
2. 32 puan stop ile mevcut fiyatın 0,3 36 puan üzerinde bir BuyStop emrinin verilmesi:
SetOrder ( NULL , OP_BUYSTOP , 0.3 , Ask + 36 * Point , Ask + ( 36 - 32 ) * Point ) ;
3. Mevcut fiyatın 0,2 42 pip üzerinde, 50 piplik alımla bir SellLimit emri verin:
SetOrder ( NULL , OP_SELLLIMIT , 0.2 , Bid + 42 * Point , 0 , Bid + ( 42 - 50 ) * Point ) ;
4. 30 puan stop ve 70 puan alım ile mevcut fiyatın 0,5 100 puan çok altında bir SellStop emrinin verilmesi:
SetOrder ( NULL , OP_SELLSTOP , 0.5 , Bid - 100 * Point , Bid - ( 100 - 30 ) * Point , Bid - ( 100 + 70 ) * Point ) ;
5. Magic 123456 ile geçerli fiyatın 0.1 50 pip altında ve iki saat içinde sona erecek bir BuyLimit emri verin:
SetOrder ( NULL , OP_BUYLIMIT , 0.1 , Ask - 50 * Point , 0 , 0 , 123456 , TimeCurrent () + 2 * 60 * 60 ) ;Fragman, yukarıdaki örneklerle birlikte gerçek bir çalışan komut dosyası içerir. İlk dört örnek yorumlanmıştır.
Merhaba Igor!
fikri destekliyorum. Doğru çözüm........!!!
Kodunuz çok büyük, sıklıkla sorular çıkıyor ve diğer kişilerin gönderilerinde ve diğer konularda sizinle iletişim kurmak bir şekilde iyi değil.
Teşekkür ederim.
İşlemler arasındaki gecikme sürümünüzü gösterin
İşlemler arasında herhangi bir gecikme yapmıyorum. Yani iki veya daha fazla emir vermem gerekirse, bu alım satım işlemlerini aralarında duraklama olmadan gerçekleştiriyorum. Ancak tekrarlanması gereken alım satım denemeleri arasında, sunucuya erişimde bir hata oluşursa , MT4 geliştiricilerinin tavsiyelerine göre duraklıyorum. Örnek olarak, çevrimiçi ticaret için SetOrder() işlevimde bu tür duraklamaların nasıl uygulandığını görebilirsiniz. Ticaret sunucusu tarafından döndürülen farklı hatalar için farklı duraklamalar yapılır.
SetOrder() işlevi, bekleyen siparişleri ayarlamak için tasarlanmıştır. Demo ve gerçek hesaplarda çevrimiçi ticarette kullanılması önerilir.
...7,7,17,11 saniyedeki gecikmelerin nereden geldiğini açıklayın. Bu bir şaka mı yoksa haklı mı?
Gerçek parayla ne şaka olabilir?
7,7 saniyelik bir duraklama için, 129 (Yanlış teklif veya satış fiyatı), 130 (Yanlış duraklar), 134 (Yeterli para yok), 136 (Fiyat yok) hatalarıyla karşılaşılır. MT4 geliştiricileri, bu durumlarda 5 saniyeden uzun duraklamalar önerir . 7.7 saniye koydum. Aynı başarı ile 6.1 saniye koymak mümkün oldu. Çekici oldukları için yuvarlak değerleri sevmiyorum, bu yüzden yuvarlak olmayanları koydum.
Duraklatma süresi 17 sn. hata 145 için varsayılmıştır (Değiştirme yasaktır). Ancak SetOrder işlevi değişmediği için bu hatanın işlenmesini kaldırdım. İşlevimin bu yönünü dikkatime sunduğunuz için teşekkür ederim!
İşlem alt sisteminin durumunu kontrol eden döngü içinde 11 saniyelik bir duraklama bulunur. Burada hem 15 saniye hem de 30 saniye koyabilirsiniz. İstediğiniz gibi.
Ve yine de, birkaç uzman varsa, o zaman analiz vazgeçilmezdir.
Bir ticaret hesabında birden fazla Uzman Danışman olması durumunda, 146 hatası (Alım satım alt sistemi meşgul) işlenir. SetOrder işlevi, işlem alt sisteminin serbest kalmasını bekler.
Dikkat! Önceki mesajı editledim. SetOrder işlevinde değişiklikler yapıldı.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Bu başlıkta fonksiyonlarımın kodlarını MQL4 programlama dilinde yayınlayacağım, kullanımlarına örnekler vereceğim ve kullanımları ile ilgili soruları cevaplayacağım. Her işlevi iki gönderide yayınlayacağım. İlk gönderide fonksiyon kodu, ikinci gönderide kullanım örnekleri ve küçük açıklamalar. Görüntülenen sonuçlarla işlevin gerçek testi için bazen komut dosyasını ikinci gönderiye ekleyeceğim.
Sondaki " Aynı anda iki Uzman Danışman nasıl çalıştırılır " konusunda Lukyanov'un isteği üzerine siparişlerle çalışmak üzere tasarlanmış işlevlerle başlayacağım.
Sıra ayar fonksiyonunun ilki olmasına izin verin (MT4 test cihazı versiyonu):