Hatalar, hatalar, sorular - sayfa 1887

 
Vladimir Karputov :

Görüyorum ki gösterdiğim kodu kontrol etmemişsin. Şunu yapalım: Önce kontrol et, sonra soruyu tekrar sor.

Kontrol etmem gerekmiyor, görüyorum: gerekeni veriyor

fonksiyonun ilk kullanım durumu hakkında konuştuk

 
Alexandr Bryzgalov :

Kontrol etmem gerekmiyor, gerekli olanı döndürdüğünü görüyorum

fonksiyonun ilk kullanım durumu hakkında konuştuk


Tamam, öyleyse. Kuyruktan gidelim.

1.PozisyonGetTamsayı:

İşlev, daha önce seçilen bir açık pozisyonun istenen özelliğini...

Yani PositionGetInteger kullanmadan önce bir pozisyon seçmelisiniz.


2. PositionGetTicket'i kullanarak bir pozisyon seçin. PozisyonGetTicket:

Geri dönüş değeri

Pozisyon bileti. Başarısızlık durumunda 0 döndürür.


Ve (döngüden sonra) PositionGetTicket'ten ne döndürüldüğünü nerede kontrol ediyorsunuz? Kontrol yoktur ve bu arada, "sıfır" döndürülür - yani, PositionGetTicket bir hatayla çalıştı - bu, var olmayan bir konumu seçmeye eşdeğerdir. Daha sonra PositionGetTicket sonucunu kontrol etmeden, var olmayan bir konumdan onun özelliğini almaya çalışırsınız. Ve orada, iyi var olan bir konumun özelliklerinde, ya çöp ya da sadece sıfırlanmış yapıların verileri.


Özetleyeyim: "Sıfır"ın geri dönüşü için PositionGetTicket'i kontrol etmeden ilerleyemezsiniz.

 
Vladimir Karputov :


Tamam, öyleyse. Kuyruktan gidelim.

1.PozisyonGetTamsayı:

İşlev, daha önce seçilen bir açık pozisyonun istenen özelliğini...

Yani PositionGetInteger kullanmadan önce bir pozisyon seçmelisiniz.


2. PositionGetTicket'i kullanarak bir pozisyon seçin. PozisyonGetTicket:

Geri dönüş değeri

Pozisyon bileti. Başarısızlık durumunda 0 döndürür.


Ve (döngüden sonra) PositionGetTicket'ten ne döndürüldüğünü nerede kontrol ediyorsunuz? Kontrol yoktur ve bu arada, "sıfır" döndürülür - yani, PositionGetTicket bir hatayla çalıştı - bu, var olmayan bir konumu seçmeye eşdeğerdir. Daha sonra PositionGetTicket sonucunu kontrol etmeden, var olmayan bir konumdan onun özelliğini almaya çalışırsınız. Ve orada, iyi var olan bir konumun özelliklerinde, ya çöp ya da sadece sıfırlanmış yapıların verileri.


Özetlememe izin verin: "sıfır"ın geri dönüşü için PositionGetTicket'i kontrol etmeden ilerleyemezsiniz.

Teşekkürler, çok detaylı ve faydalı.
 
Vladimir Karputov :


Tamam, öyleyse. Kuyruktan gidelim.

1.PozisyonGetTamsayı:

İşlev, daha önce seçilen bir açık pozisyonun istenen özelliğini...

Yani PositionGetInteger kullanmadan önce bir pozisyon seçmelisiniz.


2. PositionGetTicket'i kullanarak bir pozisyon seçin. PozisyonGetTicket:

Geri dönüş değeri

Pozisyon bileti. Başarısızlık durumunda 0 döndürür.


Ve (döngüden sonra) PositionGetTicket'ten ne döndürüldüğünü nerede kontrol ediyorsunuz? Kontrol yoktur ve bu arada, "sıfır" döndürülür - yani, PositionGetTicket bir hatayla çalıştı - bu, var olmayan bir konumu seçmeye eşdeğerdir. Daha sonra PositionGetTicket sonucunu kontrol etmeden, var olmayan bir konumdan onun özelliğini almaya çalışırsınız. Ve orada, iyi var olan bir konumun özelliklerinde, ya çöp ya da sadece sıfırlanmış yapıların verileri.


Özetlememe izin verin: "sıfır"ın geri dönüşü için PositionGetTicket'i kontrol etmeden ilerleyemezsiniz.

çarmıha geremezsin)

soru bu değil

doğru oku: bir fonksiyonun farklı durumlar için aynı değeri döndürmesi normal mi?

işlevin bunu yaptığı doğru mu?
 
Vladimir Karputov :

Özetlememe izin verin: "sıfır"ın geri dönüşü için PositionGetTicket'i kontrol etmeden ilerleyemezsiniz.

Yapabilir

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2017.05.12 11:19

kontrol etmek mantıklıdır (PositionGetInteger(POSITION_TICKET) > 0).
 
Alexandr Bryzgalov :

fonksiyonun farklı durumlar için aynı değeri döndürdüğünü mü?

işlevin bunu yaptığı doğru mu?
Maalesef evet.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2017.05.12 11:29

Evet. Ancak başka herhangi bir değer yanıltıcı olacaktır.
 
Alexandr Bryzgalov :

1. çarmıha geremezsiniz)

soru bu değil

2. doğru okuyun: Bir fonksiyonun farklı durumlar için aynı değeri döndürmesi normal mi?

işlevin bunu yaptığı doğru mu?


1. Siz de kodda hata yapan ancak bunu kabul etmek istemeyen kaba bir insansınız.

2. İşlev kesinlikle doğru çalışıyor. (PositionGetInteger(POSITION_TYPE)) yalnızca İKİ değer döndürebildiğinden - POSITION_TYPE_BUY veya POSITION_TYPE_SELL . Ancak bir pozisyon seçmeden (ve onu seçmezsiniz - tam olarak neyin seçildiğini kontrol etmezsiniz) , (PositionGetInteger(POSITION_TYPE)) 'dan bir şey talep etmek pervasızlıktır .


Alt satır: kodunuz mantıksal bir hatayla yazıldığında, sistem işlevlerinden bir şey talep etme hakkınız yoktur.

 
Vladimir Karputov :

Alt satır: kodunuz mantıksal bir hatayla yazıldığında, sistem işlevlerinden bir şey talep etme hakkınız yoktur.

İyi bir örnek, sorunun asla cevaplanmadığı zamandır.
 
Vladimir Karputov :


1. Siz de kodda hata yapan ancak bunu kabul etmek istemeyen kaba bir insansınız.

2. İşlev kesinlikle doğru çalışıyor. (PositionGetInteger(POSITION_TYPE)) yalnızca İKİ değer döndürebildiğinden - POSITION_TYPE_BUY veya POSITION_TYPE_SELL . Ancak bir pozisyon seçmeden (ve onu seçmezsiniz - tam olarak neyin seçildiğini kontrol etmezsiniz) , (PositionGetInteger(POSITION_TYPE)) 'dan bir şey talep etmek pervasızlıktır .


Alt satır: kodunuz mantıksal bir hatayla yazıldığında, sistem işlevlerinden bir şey talep etme hakkınız yoktur.

Üzgünüm, birinin soruyu görmemesi benim suçum değil.

Bu kodda kasıtlı hata kabul edildi.

Ve nasıl düzelteceğimi biliyorum.

Ama soru farklı.

 

PositionGetInteger(POSITION_TYPE) işlevi hatalı giriş parametreleri olması durumunda neden bir satın alma değeri (0'a eşit) ve bir hata değeri (0'a eşit) döndürmez?