Acemi soruyor! - sayfa 23

 
Михаил :
long değişkenin türüdür, ancak bunun doğru olmadığını tekrarlıyorum.

Her şey doğru. PositionGetInteger() uzun bir tür döndürür. ENUM_POSITION_TYPE gibi uzun türlerle neden uğraşasınız ki?

Her iki durumda da tek tip döküm gerçekleştirir. Bu yüzden daha kısa yazmak daha iyidir.

Yeni başlayanlar için tavsiyeler...

 

Nextor257 :

...

POSITION_TYPE_BUY'dan önce neden (uzun) var?

...

Bu, anında değişiklik içeren bir tür değişikliğidir.

 
Dmitry Fedoseev :

Her şey doğru. PositionGetInteger() uzun bir tür döndürür. ENUM_POSITION_TYPE gibi uzun türlerle neden uğraşasınız ki?

Her iki durumda da tek tip döküm gerçekleştirir. Bu yüzden daha kısa yazmak daha iyidir.

Yeni başlayanlara tavsiyeler...

Doğru değil, çünkü bir karşılaştırma var:

 if (type==( long ) POSITION_TYPE_BUY

POSITION_TYPE uzun değil ama

ENUM_POSITION_TYPE

tanımlayıcı

Tanım

POSITION_TYPE_BUY

Satın almak

POSITION_TYPE_SELL

Satış

 
Михаил :

Doğru değil, çünkü bir karşılaştırma var:

POSITION_TYPE uzun değil ama

ENUM_POSITION_TYPE

tanımlayıcı

Tanım

POSITION_TYPE_BUY

Satın almak

POSITION_TYPE_SELL

Satış

Evet.. çok derin bir programlama bilginiz var.
 
Dmitry Fedoseev :
Evet .. çok derin bir programlama bilginiz var.

Görünüşe göre hiç bilgin yok - sadece hırs!

ENUM_POSITION_PROPERTY_INTEGER

tanımlayıcı

Tanım

Tip

POSITION_TIME

Pozisyon açılış zamanı

tarih saat

POSITION_TIME_MSC

01/01/1970 tarihinden bu yana milisaniye cinsinden pozisyon açılış süresi

uzun

POSITION_TIME_UPDATE

01/01/1970 tarihinden itibaren saniye cinsinden konum değiştirme süresi

uzun

POSITION_TIME_UPDATE_MSC

01/01/1970 tarihinden itibaren milisaniye cinsinden konum değiştirme süresi

uzun

POZİSYON TÜRÜ

Pozisyon Türü

ENUM_POSITION_TYPE

POSITION_MAGIC

Konum için sihirli sayı (bkz. ORDER_MAGIC)

uzun

POSITION_IDENTIFIER

Pozisyon Kimliği, her yeni açılan pozisyona atanan ve kullanım ömrü boyunca değişmeyen benzersiz bir numaradır. Bir pozisyonun tersine çevrilmesi, pozisyon tanımlayıcısını değiştirmez.

uzun

 
Михаил :

Görünüşe göre hiç bilgin yok - sadece hırs!

ENUM_POSITION_PROPERTY_INTEGER

tanımlayıcı

Tanım

Tip

POSITION_TIME

Pozisyon açılış zamanı

tarih saat

POSITION_TIME_MSC

01/01/1970 tarihinden bu yana milisaniye cinsinden pozisyon açılış süresi

uzun

POSITION_TIME_UPDATE

01/01/1970 tarihinden itibaren saniye cinsinden konum değiştirme süresi

uzun

POSITION_TIME_UPDATE_MSC

01/01/1970 tarihinden itibaren milisaniye cinsinden konum değiştirme süresi

uzun

POZİSYON TÜRÜ

Pozisyon Türü

ENUM_POSITION_TYPE

POSITION_MAGIC

Konum için sihirli sayı (bkz. ORDER_MAGIC)

uzun

POSITION_IDENTIFIER

Pozisyon Kimliği, her yeni açılan pozisyona atanan ve kullanım ömrü boyunca değişmeyen benzersiz bir numaradır. Bir pozisyonun tersine çevrilmesi, pozisyon tanımlayıcısını değiştirmez.

uzun

PositionGetDouble() işlevi için

İnsanların "Kitaba bakar, incir görür" dediği durum budur.

İlk önce, derlemeyi deneyin:

 ENUM_POSITION_TYPE z= PositionGetInteger ( POSITION_TYPE );

Bir uyarı olacak.

Bir fonksiyon farklı durumlarda farklı tipler üretemez, her durumda uzun olacaktır. Aynı işlevin farklı türler döndürdüğüne inanıyor muydunuz? Evet ... bu forumdaki batıl inançlara kimse şaşırmayacak, bu normal ...

Tür sütunundaki ENUM_POSITION_TYPE, olası tüm dönüş değerlerinin karşılık gelen numaralandırıcıda olduğu anlamına gelir.

Yine de, daha fazla dikkat zarar vermez, verilen plaka PositionGetInteger()'i ifade eder ve aşağıda yazılan PositionGetDouble() hiç iş yapmaz.

 

"İncir" i kimin gördüğünü merak ediyorum ....

şöyle yazdım:

 ENUM_POSITION_TYPE pos_type = ENUM_POSITION_TYPE ( PositionGetInteger ( POSITION_TYPE ));
 
Dmitry Fedoseev :

Bu, anında değişiklik içeren bir tür değişikliğidir.

Çok teşekkürler.
 
Михаил :

"İncir" i kimin gördüğünü merak ediyorum ....

şöyle yazdım:

ENUM_POSITION_TYPE pos_type = ENUM_POSITION_TYPE ( PositionGetInteger ( POSITION_TYPE ));

Neden PositionGetInteger'dan önce ENUM_POSITION_TYPE yazmalısınız ? Gerçekten de, inancınıza göre, POSITION_TYPE tanımlayıcısına sahip PositionGetInteger işlevi zaten ENUM_POSITION_TYPE türünü döndürür.

 
Dmitry Fedoseev :

Neden PositionGetInteger'dan önce ENUM_POSITION_TYPE yazmalısınız ? Gerçekten de, inancınıza göre, POSITION_TYPE tanımlayıcısına sahip PositionGetInteger işlevi zaten ENUM_POSITION_TYPE türünü döndürür.

Programlamada bir GURU'sunuz - kendinize cevap verin ....

Ve bu benim "inancım" değil, belgeler ...

Ancak PositionGetInteger() işlevinin her zaman LONG bir değer döndürdüğünü düşünüyorum ve "içeride" INTRGER veya LONG'un ne olduğu önemli değil.

Geliştiriciler bunu iki fonksiyon yazmamak için yaptılar.

Bu nedenle, konum türünü ( ve INTEGER'dir ) almak için yazdığım gibi yapmak doğrudur:

 ENUM_POSITION_TYPE pos_type = ENUM_POSITION_TYPE ( PositionGetInteger ( POSITION_TYPE ));
Neden: