KimIV'ten faydalı özellikler - sayfa 3

 
KimIV :

ExistOrders() işlevi.

Sipariş varlığı bayrağını döndürür. ...

(Kendim için) sipariş sayısının bir "iadesini" yaptım. Bir taşla 2 kuş hemen öldürülür (2 fonksiyon yazmaya gerek yoktur) - > 0 ise, o zaman bir düzen vardır + analiz edebilirsiniz ... "ızgaradaki delikler", "devirlerin" tetiklenmesi vb. (Doğru, işlev daha uzun süre çalışır, bu yalnızca doğrulama amacıyla gerekçelendirilmez)

Artı, bana görsel olarak daha net gibi geldi ve bir değişken atayarak onu daha fazla kullanabilirsiniz.

... (ExistOrders("", OP_BUYLIMIT)+ExistOrders("", OP_SELLLIMIT)) > 0 ...

nasıl

... (ExistOrders("", OP_BUYLIMIT) || ExistOrders("", OP_SELLLIMIT)) ...
 
SergNF писал (а):
(Kendim için) sipariş sayısının bir "iadesini" yaptım.
Daha sonra bir NumberOfOrders() işlevi olacaktır.
 
KimIV :
zhuki yazdı:

İş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.


20'den fazla Expert Advisor takas edilirse, her zaman 146 hatası oluşur.İşlev, sorunu yalnızca birkaç (2-4) Expert Advisor'da çözebilir, ancak prensipte sabit bir gecikme sorunu çözmez...
20 veya daha fazla Uzman Danışman ile ticaret yaparken, en azından Ethernet protokolü aracılığıyla arbitraj yapmanız gerekir... o zaman, her Uzman Danışman bir sinyal geldiğinde piyasaya girebilecektir.
 
Igor, emirleri kapatma ve değiştirme fonksiyonlarını "işle" lütfen. ;-)
 
Lukyanov :
Igor, emirleri kapatma ve değiştirme fonksiyonlarını "işle" lütfen. ;-)

Evet, kesinlikle... Ama önce SetOrder işleviyle bitireceğim. Şimdi, bu özelliği günlük girişleriyle kullanmanın ek örneklerini sağlamak için ticaretin açılmasını bekliyorum. Test komut dosyası zaten hazır, ancak çevrimiçi olarak kontrol edilmesi gerekiyor.

Alfabetik sırayla özellik yayın planı:
-Siparişleri Sil
- ExistOrdersByLot
- GetLotLastOrder
- GetOrderOpenPrice
- IndexByTicket
- Siparişi Değiştir
- Sipariş sayısı
-SelectByTicket
- SelectByTicketFromHistory

Siz (konunun ziyaretçileri) yayın sırasını isteklerinize göre ayarlayabilirsiniz. Ama her şeyden önce, çoğu birbiriyle ilişkili olduğu için işlevleri uygulama mantığını ele alacağım. Yani, her şeyden önce, daha sonra ortaya konan diğerlerini uygularken kullanılabilecek işlevler yayınlanacaktır.

 

Igor, harika bir iş çıkarıyorsun!

Ancak ... bu tür bagajların zemininde, hem forum hem de kitap, yardım ve kod tabanı
yine de bazen sormaya utanan yakıcı sorular var.
(neyse ki ben bir çaydanlığım ve saklamıyorum... ama hala öğreniyorum... :)))

Ve sorular tam olarak kod parçalarını bağlamanıza izin veren küçük şeyler ve nüanslardadır.
daha doğrusu, programın bloklarının (modüllerinin) birbirine bağlanmasını sağlamak ...

Soru şu olduğunda anlıyorum ve ben de sık sık günah işliyorum, ama nasıl?
en iyi cevap...
Örneğin, sondaki durdurma. Ve aracınızı kullanıp kullanamayacağınıza
vakaların %100'ünde cevap EVET olacaktır, %90'ında kodunuzu vidalayın, %80'inde hangisini açıklığa kavuşturmak için takip edecek: Kimovsky;)))
vb... azalan...
Ve tam olarak, harf harf, satır satır, ne yazık ki, bu her zaman böyle değildir.

Bu nedenle, modifikasyon işlevlerini açıklayan gönderileri de dört gözle bekleyeceğim,
ve belki de pratikte daha ayrıntılı bir uygulaması ...

 
klot писал (а):
20 veya daha fazla Uzman Danışman ile ticaret yaparken, en azından Ethernet protokolü aracılığıyla arbitraj yapmanız gerekir... o zaman, her Uzman Danışman bir sinyal geldiğinde piyasaya girebilecektir.
" Arbitraj " ile ne demek istiyorsun?
 
kombat писал (а):
Ve sorular tam olarak kod parçalarını bağlamanıza izin veren küçük şeyler ve nüanslardadır.
daha doğrusu, programın bloklarının (modüllerinin) birbirine bağlanmasını sağlamak ...

Görevlerimle ilgili her soruyu cevaplayacağım. Yapabilirsem :-) ... Tema bunun için oluşturuldu. Yani burada fonksiyonlarımı yayınladığım diğer konulardan detaylı açıklamalar yapmadan soru sorabilirsiniz. Bu yüzden utangaç olmayın. Bu konuyu uzun süre tutmayı planlıyorum. Sadece fonksiyonların yayınlanması için 4 ay planladım. Ayrıca daha fazla soru...

kombat yazdı:
Bu nedenle, modifikasyon işlevlerini açıklayan gönderileri de dört gözle bekleyeceğim,
ve belki de pratikte daha ayrıntılı bir uygulaması ...
ModifyOrder işlevi evrenseldir. Hem emirler hem de pozisyonlar için geçerlidir. Mümkün olduğunca çabuk konuya organik olarak dokunmayı düşüneceğim.
 
KimIV :
klot yazdı:

20 veya daha fazla Uzman Danışman ile ticaret yaparken, en azından Ethernet protokolü aracılığıyla arbitraj yapmanız gerekir... o zaman, her Uzman Danışman bir sinyal geldiğinde piyasaya girebilecektir.
" Arbitraj " ile ne demek istiyorsun?

Tünaydın!
"Arbitraj" ile, aynı anda çalışan birçok Uzman Danışman için ticaret akışına garantili erişim sağlamayı kastettim. Bu sorunla uzun zaman önce karşılaştım ve Ethernet protokolünden çoklu erişim ile çarpışma algılama yöntemini kullanmanın daha iyi olduğu sonucuna vardım.
Özü basittir. Ticaret akışının istihdamını kontrol ediyoruz. Ticaret akışı meşgulse , - rastgele bir duraklama oluşturun (1 saniyeden itibaren). Ticaret akışı serbestse, siparişi hemen "göndeririz". Birden fazla Uzman Danışman ile ticaret yaparken, her Uzman Danışman kendi rastgele duraklamasına sahip olacak ve Uzman Danışmanlar sırayla ticaret akışını işgal edecek. Uzmanlar arasında herhangi bir anlaşmazlık olmayacaktır.
Örneğin:
 if ( IsTradeContextBusy () )  Sleep ( MathRand () + 1000 ) ;
 
10 Uzman Danışman bir ticaret dizisinin yayınlanmasını bekliyorsa (her biri kendi bağımsız dizisinde), en az 2 yanlışlıkla eşleşirse ne olabilir.
Başka ilkeler düşünür ve kullanırım. Eğer ticaret akışı birileri tarafından işgal edilmişse, o zaman Uzman Danışmanların geri kalanı çalışmaz (geri döner) ve bu, Uzman Danışmanın başında kontrol edilir (yine de hiçbir şey yapılmazsa ne analiz edilir).Bunu nasıl buldunuz? "arbitraj" ışığında yaklaşım?
Teşekkür ederim.