Hatalar, hatalar, sorular - sayfa 1886
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Ve soru nedir?
"İ" numarasının altında, falanca sembolüyle falan bileti olan bir pozisyon olduğunu nerede görebilirsiniz? Genel olarak, seri numarasının basit çıktısına ek olarak, biletin ve sembolün de çıktısını alın.
Bir fonksiyonun farklı durumlar için aynı değeri vermesi normal mi?
Not: Bu arada gönderide bir soru vardı.
Sonuç olarak, bir satın alma seçerseniz, (PositionGetInteger( POSITION_TYPE )) işlevi 0 döndürür
ve var olmayan bir konum seçerseniz, işlev de 0 döndürür
Bir fonksiyonun farklı durumlar için aynı değeri vermesi normal mi?
"Farklı durumlar" nelerdir? Ve yukarıda önerdiğim gibi yapın:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
Vladimir Karputov , 2017.05.12 11:15
...
Genel olarak, seri numarasının basit çıktısına ek olarak, biletin ve sembolün de çıktısını alın.
Kontrol etmen gerektiğini anlıyorum, ama her şey olabilir ...
PozisyonGetTamsayı
İşlev, daha önce PositionGetSymbol veya PositionSelect işlevi kullanılarak seçilen bir açık pozisyonun istenen özelliğini döndürür. Konum özelliği, tarih saat, int türünde olmalıdır. İşlev için 2 seçenek vardır.
1. Doğrudan özelliğin değerini döndürür.
uzun PositionGetInteger (
ENUM_POSITION_PROPERTY_INTEGER özellik_kimliği // özellik tanımlayıcısı
);
2. İşlevin başarısına bağlı olarak doğru veya yanlış döndürür. Başarılı olursa, özellik değeri, son parametre olarak referans tarafından geçirilen alıcı değişkene yerleştirilir.
bool PositionGetInteger (
ENUM_POSITION_PROPERTY_INTEGER property_id , // özellik tanımlayıcısı
uzun& long_var // özellik değerini buradan al
);
Seçenekler
özellik_kimliği
[içinde] Konum özelliği tanımlayıcısı. Değer, ENUM_POSITION_PROPERTY_INTEGER numaralandırma değerlerinden biri olabilir.
long_var
[out] İstenen özelliğin değerini alan long türünde bir değişken.
Geri dönüş değeri
long türünde bir değer. Başarısızlık durumunda 0 döndürür.
Büyü ile durum daha incedir. Bu nedenle, (PositionGetInteger(POSITION_TICKET) > 0) kontrol etmek mantıklıdır.
Evet, bir kontrol yapman gerekiyor gibi görünüyor.
ancak bir fonksiyon yazarken, farklı durumlarda her zaman farklı bir değer döndürmeye çalışırsınız.
Farklı durumlarda fonksiyondan bir değer çıkmasının yanlış olduğunu düşünüyorum.ancak bir fonksiyon yazarken, farklı durumlarda her zaman farklı bir değer döndürmeye çalışırsınız.
Yani sihirli ve bu nedenle anılır. PositionGetInteger( POSITION_MAGIC ) hatası durumunda ne döndürülür?
Bir fonksiyonun farklı durumlar için aynı değeri vermesi normal mi?
Not: Bu arada gönderide bir soru vardı.
Sonuç olarak, bir satın alma seçerseniz, (PositionGetInteger( POSITION_TYPE )) işlevi 0 döndürür
ve var olmayan bir konum seçerseniz, işlev de 0 döndürür
Sonuç olarak, bir pozisyon seçmek için GARANTİ OLDUĞUNUZDA (örneğin, döngüde olduğu gibi) ilk arama kullanılır. Ve işte aramanın ikinci şekli
konumun pisi balığı yuvasından seçildiği durumlar için.
Bunu yapın ve "sonuç" değişkenine ne elde ettiğinize güvenin - her şey yerine oturacaktır:
0 - pozisyon manuel olarak açılır. Sağ?
Sonuç olarak, bir pozisyon seçmek için GARANTİ OLDUĞUNUZDA (örneğin, döngüde olduğu gibi) ilk arama kullanılır. Ve işte aramanın ikinci şekli
konumun pisi balığı yuvasından seçildiği durumlar için.
Bunu yapın ve "sonuç" değişkenine ne elde ettiğinize güvenin - her şey yerine oturacaktır:
Bununla ilgili bir soru değil ve bununla ilgili farklı durumlarda bu fonksiyon bir değer döndürür.
nasıl kontrol edileceğini biliyorum
Başlangıçta soru, bunun normal olup olmadığıydı.
Not: İstemeden bir hata yapılabilir ve sonra 100.000 kodda arama yapmaktan yorulursunuz.
Ne? Hata yapmaya gerek yok mu? )
Bununla ilgili bir soru değil ve bununla ilgili farklı durumlarda bu fonksiyon bir değer döndürür.
nasıl kontrol edileceğini biliyorum
Başlangıçta soru, bunun normal olup olmadığıydı.
Görüyorum ki gösterdiğim kodu kontrol etmemişsin. Şunu yapalım: Önce kontrol et, sonra soruyu tekrar sor.