MQL5'te birlikte öğrenme ve yazma - sayfa 19

 
Interesting :

(Evet ve talep, kusura bakmayın, iyi bir şekilde doğrulanmadı ve ikna edici argümanlarla onaylandı).

not

Yine de, bir şeyi kaçırmış olabilirim ve geliştiriciler bunun oldukça uygun olduğuna karar verdiler.

Tekrar ediyorum: geliştiricilere herhangi bir talep yoktu :) Dalın konusuna uygun olarak herhangi bir gereksinim, hatta dilek yoktu. Dedikleri gibi: "yüzdük - biliyoruz" :) Nedenini burada açıkladım: " Altı ay önce biri böyle bir soru sormuş olsaydı, kişi hala özelliğin nispeten kısa sürede ortaya çıkmasını ve bir sonrakini beklemesini umabilirdi. yıl - tarih için kendiniz bir değişken girmek daha kolaydır Tamamen doğru olmasa da, yine de ".

Her zaman olduğu gibi, düşünceler için herkese teşekkürler! Bu sefer beni haklı olduğuma ikna ettiler :)

 

stringo :

Yedelkin :

Soru. switch(expression){...} ifadesinin açıklaması, " switch ifadesinin ifadesinin tamsayı türünde olması gerektiğini" söylüyor. İnternette bu operatörün tanımını başka tür ifadelerle tanıştım. Switch ifadesinin kullanımı, dize türü ifadeleri içerecek şekilde genişletilecek mi?

Hayır, ne yazık ki olmayacak. Yalnızca dize türleri için eğer ... else if ... else

Anahtarda tamsayı türlerinin kullanılması nedeniyle, if ile karşılaştırıldığında birkaç kat hızlanma elde edilir.

Soru. Ve (anahtar ile benzer şekilde) " kelime operatörü için ?: " ile karşılaştırıldığında herhangi bir hızlanma var mı?

 
Yedelkin :

Soru. Ve (anahtar ile benzer şekilde) " kelime operatörü için ?: " ile karşılaştırıldığında herhangi bir hızlanma var mı?

Numara. Koşullu operatörün, if ile karşılaştırıldığında hızlandırma yoktur. Sadece yazmanın rahatlığı.
 
stringo :
Numara. Koşullu operatörün, if ile karşılaştırıldığında hızlandırma yoktur. Sadece yazmanın rahatlığı.
Anladım.
 

ORDER_TYPE_BUY_STOP_LIMIT

Emir fiyatına ulaşıldığında, StopLimit fiyatına bir Buy Limit bekleyen emri verilir.

Görünüşe göre bu siparişin işlenmesi, "bekleyen bir Satın Alma Limiti siparişi vermek" dahil olmak üzere sunucu tarafında gerçekleşiyor. Cevapları referans materyallerde bulunmayan birkaç soru vardı:

1) ORDER_TYPE_BUY_STOP_LIMIT, emir fiyatına ulaşıldığında ve bekleyen bir Alış Limiti emri verildiğinde tarihe geçer mi?

2) ORDER_TYPE_BUY_STOP_LIMIT sipariş bileti, sunucu tarafında verilen bekleyen yeni bir sipariş tarafından devralındı mı?

3) Sunucu tarafında bekleyen bir Alış Limiti emri verildiğinde, İşlem türünde herhangi bir işlem olayı oluşturulur mu?

4) Yeni bir Buy Limit bekleyen emrine sipariş bitiş süresi, emir ömrü, yorum atanan sunucu tarafında (hangi kurala göre) nasıl?

Ve genel olarak, sunucu tarafında sipariş vermeyi hızlı bir şekilde yakalamanın akıllı bir yolu var mı? Belki daha önce bir yerde bahsedilmiştir?

 
Belki başlangıçta Old_Time[0] doğru şekilde başlatılmamış. Orada ne olduğu koddan belli değil. Buraya bir göz atın, belki bu çözümü kullanabilirsiniz.
 
AUser :
...
CopyTime(_Symbol,_Period,0,1,Old_Time);
Bu satırı kapanış ayracı OnTick()'ten önce eklemeye çalışın.
 
İplik çekirdeğe hiç bağlı değildir.

Yedelkin :

... Sleep() işlevi iş parçacığının kendisini yavaşlatmaz

Yavaşlar, ancak böylece diğer iş parçacıkları için işlemci kaynaklarını serbest bırakır.

Bu nedenle, Uyku hindilerde kullanılamaz - tek bir iş parçacığında çok sayıda hindi hesaplanabilir ve Birinde Uyku, diğerleri için de boşta kalma süresine yol açar.

________

Akor, biraz geç kaldım :) bir dahaki sefere tarihlere daha dikkatli bakacağım.

 
TheXpert :
İplik çekirdeğe hiç bağlı değildir.

Yavaşlar, ancak böylece diğer iş parçacıkları için işlemci kaynaklarını serbest bırakır.

Bu nedenle, Uyku hindilerde kullanılamaz - bir iş parçacığında çok sayıda hindi hesaplanabilir ve Birinde Uyku, diğerleri için de boşta kalma süresine yol açar.

________

Akor, biraz geç kaldım :) bir dahaki sefere tarihlere daha dikkatli bakacağım.

Geç kalmaya gelince. - Bu doğru! Buradaki anahtar ifade "böylece diğer iş parçacıkları için CPU kaynaklarını serbest bırakmaktır". Soruda formüle etmeye çalıştığım buydu.

 
Yedelkin :

ORDER_TYPE_BUY_STOP_LIMIT

Emir fiyatına ulaşıldığında, StopLimit fiyatına bir Buy Limit bekleyen emri verilir.

Görünüşe göre bu siparişin işlenmesi, "bekleyen bir Satın Alma Limiti siparişi vermek" dahil olmak üzere sunucu tarafında gerçekleşiyor. Referans materyallerde cevapları bulunmayan birkaç soru vardı: ...

Soruya cevap verilmemesine bakılırsa, buradaki insanlar MT4'ün peşindeler ve henüz stop-limit emirlerini kullanmaya başlamadılar :)

Ve şarkı sözleri olmadan, o zaman Web'de bir STOP LIMIT emrinin yeni bir bekleyen emir oluşturmadığını, ancak belirli bir koşul karşılandığında bir limit emrine dönüştüğünü takip eden materyaller buldum:

- sözleşmenin fiyatı belirli bir seviyeye ulaştığında limit emrine dönüşen koşullu bir emir;

- mevcut piyasa fiyatından daha düşük ancak emrin limit kısmında belirtilen fiyattan daha kötü olmayan bir fiyattan işlem gerçekleştirme emri. Stop emrinden farklı olarak emirde belirtilen piyasa fiyatına ulaşıldığında bu emir limit emri olarak aktif hale gelir. Aynı zamanda, bir stop-limit emrinin işlem fiyatı, emir fiyatına eşit veya ondan daha iyi olabilir;

- piyasa fiyatı belirlenen seviyeye (durdurma fiyatı) ulaştıktan sonra limit emri haline gelen bir müşteri emri ;

vb.

Bu yaklaşım sorularımın çoğuna cevap veriyor. Ancak bu doğruysa, El Kitabındaki "bir limit emri belirleme" ifadesi yanlış ve özellikle kafa karıştırıcı görünüyor.

Neden: