Bir siparişin seçili olup olmadığı nasıl kontrol edilir - sayfa 11

 
tara :
Evet desem daha kolay olur mu? :)
Daha kolay mı değil mi bilmiyorum ama ilk yıldan itibaren aldılar, öyle bir zaman vardı ki, yoksa asla askerlik yapmazdım!
 
Ant_TL :

Evet. İşte bu yerde:

int li_LastTicket = OrderTicket();

Çağrılmadan önce OrderSelect'e çağrı yapılmadıysa, kodunuz 4105 çalışma zamanı hatası üretecektir. Her onay işaretinin sonuna bir GetLastError kontrolü koyun ve bu hatayı yakalayın.

Kodumda bu hata olmayacak çünkü bu işlev OrderSelect() SONRASI olarak adlandırılıyor. Ve kodun kontrolü, danışmanın tüm yürütülebilir işlevlerinin ortak bir yapısı olmadan kodların yazıldığı zamanlardan beri kalmıştır.

Ayrıca, işlevlerimin çoğunda hata işleme işlevi vardır ve bunlardan çok dikkatli bir şekilde kurtulurum. Ayrıca, aradığınız yanıt gibi bir hata oluşturan bir dizi işlev vardır: " Sipariş daha önce seçildi mi, seçilmedi mi ?!"

Not Bu arada, derlenmiş kitaplıklardan OrderSelect() işlevleriyle çalışmanın bir özelliğini (birisi için yararlı olabilir) hatırladım: bir sıra seçilir (nasıl olduğu önemli değil), OrderTicket() seçilen sıranın numarasını döndürür . Derlenmiş kitaplıkta bulunan bir fonksiyondan bu seçilen sıranın özelliklerini almak istiyorsak, HİÇBİR ŞEY çalışmayacaktır. Bu sırayı tekrar (tekrar) seçmeniz gerekir.

 
borilunad :
Daha kolay mı değil mi bilmiyorum ama ilk yıldan itibaren aldılar, öyle bir zaman vardı ki, yoksa asla askerlik yapmazdım!
Ve bunu beğendim:)
 
Ve ne, bilet ve sihirbaz zaten tanımlayıcı olmaktan çıktı mı? Yoksa aynı anda iki veya üç siparişle çalışmak önemli mi? Diziler var, bu dizilerin işleyip güncelleyeceği fonksiyonlar var. Yoksa temelde bir hataya düşmemek mi? O yüzden vurulma. Fazladan bir orderselect'in testi yavaşlattığı konusunda sızlanmayın. Her şeyin bir zamanı ve yeri vardır. Bir fonksiyondan diğerine geçerken, sıranın tekrar seçilmesi gerekeceğinden emin olun ve önceki fonksiyondan işleme verilerini bir dizide saklayın.
 
TarasBY : Eğer derlenmiş kütüphanede bulunan bir fonksiyondan bu seçilmiş sıranın özelliklerini almak istiyorsak, o zaman HİÇBİR ŞEY çalışmayacaktır. Bu sırayı tekrar (tekrar) seçmeniz gerekir.
Bunun nedeni, MQL4'ün bir derleyici değil, bir yorumlayıcı olmasıdır. Oyun ilerledikçe kütüphane işlevleri eklenir :)
 
grell :
Ve ne, bilet ve sihirbaz zaten tanımlayıcı olmaktan çıktı mı? Yoksa aynı anda iki veya üç siparişle çalışmak önemli mi? Diziler var, bu dizilerin işleyip güncelleyeceği fonksiyonlar var. Yoksa temelde bir hataya düşmemek mi? O yüzden vurulma. Fazladan bir orderselect'in testi yavaşlattığı konusunda sızlanmayın. Her şeyin bir zamanı ve yeri vardır. Bir fonksiyondan diğerine geçerken, sıranın tekrar seçilmesi gerekeceğinden emin olun ve önceki fonksiyondan işleme verilerini bir dizide saklayın.
Dmitry, bir işlevin sınırlarını terk etmeden bile , sipariş seçiminin işaretinin değişmeyeceğinden emin olamaz.
 
tara :
Ve bunu beğendim:)
Muhtemelen "tereyağlı peynir ..." gibi mi? Ordu profesyonel olmalı, çünkü. özel eğitim gerektiriyor ama daha çok siyasetle beslendik! Ordu, iktidar partisine değil, vatana, halka hizmet etmelidir!
 
Hayır, tereyağlı peynir gibi değil, ama dürüstçe yarbay rütbesine ulaştı. Seni kırdıysam özür dilerim :(
 
tara :
Dmitry, bir işlevin sınırlarını terk etmeden bile, sipariş seçiminin işaretinin değişmeyeceğinden emin olamaz.


Peki ben neden bahsediyorum. İşlevlerimin evrenselliği yok, her biri kesinlikle kendi işiyle meşgul. Alım satımı bile ayrı. slowzoll ve tamamen yürütülene kadar işlevi bırakmaz. Öyleyse bırak sipariş numaraları değişsin, duraklar sürünsün, ancak bilet ve sihir kalacaktır.
 
Fonksiyon çağrıldığında tüm sipariş verilerinin kaydedildiğini bile ummuyorum. Bu nedenle, hiçbir fonksiyonda bunun için bir umut yoktur.