Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 148
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
Merhaba.
OrderSelect işlevi 0 hatası veriyor (ERR_NO_ERROR - Ticaret işlemi başarılı oldu)???
Bu hata nasıl önlenir?
Programın kodunu ve günlükten girişleri ekliyorum.
Samimi olarak. shurkin.
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: kaldırıldı
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: uninit sebep 0
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: X: Str=#20552937 1.55450'den 1.00 GBPUSD satın alın; Tct 20552937; OdSmb?
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: OrderSelect() bir hata döndürdü - 0
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: başarıyla yüklendi
Merhaba.
OrderSelect işlevi 0 hatası veriyor (ERR_NO_ERROR - Ticaret işlemi başarılı oldu)???
Bu hata nasıl önlenir?
Programın kodunu ve günlükten girişleri ekliyorum.
Samimi olarak. shurkin.
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: kaldırıldı
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: uninit sebep 0
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: X: Str=#20552937 1.55450'den 1.00 GBPUSD satın alın; Tct 20552937; OdSmb?
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: OrderSelect() bir hata döndürdü - 0
2013.09.17 13:07:04 PoligonTd GBPUSD,Günlük: başarıyla yüklendi
Aslında seçim hatası yoktur, sadece böyle bir bilete sahip bir sipariş yoktur.
Böyle bir biletle sipariş yoksa, OrderSelect() false döndürür
Burada, görünüşe göre, başka bir yere gittiğimiz için bir hata var. Soru şu: neden sıfır?
En az masrafla mantığı uygulamak için hiçbir şekilde anlamayacağım.
if(...) durdurma emrini ayarla;
if(sipariş ömrü>süresi) siparişi iptal et ve if(..) yeni bir sipariş ver;
Zorluk şu ki, halihazırda açık olan birkaç pozisyon olabilir ve hepsine nasıl eşlik edilir? En kolay yol nedir?
Teşekkür ederim!
init () özel işlevinden vazgeçmeyi düşünüyorum. Bence bu doğru bir karar, değil mi?
Ben yolu şöyle görüyorum:
1. Global düzeyde bir değişken bildiririz, örneğin şöyle:
gInitTrue = false ;
Ardından, INIT'inizi oluşturun:
Başlangıcın en başında şöyle:
if (gInitTrue == false) myInit();
Daha deneyimli insanların bu yaklaşımın nabonostisi ve benim tarafımdan önerilen bu sorunu çözme varyantının doğruluğu hakkında görüşlerini duymak ilginç.Daha fazla tampon.
init () özel işlevinden vazgeçmeyi düşünüyorum. Bence bu doğru bir karar, değil mi?
Ben yolu şöyle görüyorum:
1. Global düzeyde bir değişken bildiririz, örneğin şöyle:
Ardından, INIT'inizi oluşturun:
Başlangıcın en başında şöyle:
Daha deneyimli insanların bu yaklaşımın nabonostisi ve benim tarafımdan önerilen bu sorunu çözme varyantının doğruluğu hakkında görüşlerini duymak ilginç.Yeni çözümden gelen duyumların yeniliği nedir? :-))
Bir cehennem. Bunu yapmaya hiç gerek yoktu.
Böyle bir biletle sipariş yoksa, OrderSelect() false döndürür
Burada, görünüşe göre, başka bir yere gittiğimiz için bir hata var. Soru şu: neden sıfır?
Kontrol ettim - bilet numarası uygun mu - her şey yolunda gidiyor,
değilse, işlev False döndürür, ancak OrderSelect() hiçbir şey olmamış gibi sessizdir, SIFIR ve bu kadar.
Yeni çözümden gelen duyumların yeniliği nedir? :-))
Bir cehennem. Bunu yapmaya hiç gerek yoktu.
Ve konuya daha yakınsa? INIT'in örneğin bağlantı kesilmesi veya diğer bazı benzer durumlarla başarısız olabileceği uzun süredir tartışılmaktadır. Çünkü öngörülemeyen durumlarda daha sonra verileri yeniden başlatmaz ve yalnızca bir kez çalışır! Yani bu tamamen doğru bir seçenek değil.
Soru aptalca ama sanki cevabı hiçbir yerde görmemişim ya da belki çarpık bakmışım:
İşlevlerde ve belki başka bir yerde, veri türünden sonra & sembolüyle karşılaştım ve yanılmıyorsam bir keresinde && gördüm.
func( int& mm_mode, string sembolü, int magic, bool& stop) {
Bu ne için? ne verir ve yapar? Bu konuda daha fazla bilgi bulabilirseniz bağlantı;)