uzman danışman - çeşitli sorular - sayfa 35

 

#sparam - Aç

Sadece ana kodumda bu farklı "sparam" yöntemlerini yakalıyorum.
Şimdi onlardan bir yöntem seçmeye çalışıyorum ama birini seçmekte zorlanıyorum, hatta mql4 belgelerinde bunu araştırdım.

S: Hangi yöntem doğru ve neden lütfen?

Şimdiden teşekkürler.

// # 1
if (sparam==button)
{
   // here code
}

// # 2
if (id== CHARTEVENT_OBJECT_CLICK && sparam==button)
{
   // here code
}

// # 3 ( was 2 I just forgot to change )
if (id== CHARTEVENT_OBJECT_CLICK )
{
   if (sparam==button)
    {
     // here code
    }
}
 

#1 genellikle click olayının içine yerleştirilir, böylece size # 2 ile aynı şeyi verir Ve ayrıca diğer # 2 ile aynı

 
#sparam - Kapalı

Marco vd Heijden :

#1 genellikle click olayının içine yerleştirilir, böylece size # 2 ile aynı şeyi verir Ve ayrıca diğer # 2 ile aynı

Çok daha fazla teşekkürler.

 

#Delete Order Objects / OnTrade() - Aç

Son 2 saatimi OnTrade() işlevini araştırmak için harcadım, sonunda bu işlevin MT4'te çalışmadığını biliyorum. (lütfen biri desin: işe yaradığı konusunda yanılıyorsunuz)

Bu nedenle, fiyat her tikte, her saniye, her dakika (eğer haklıysam) Zarar Durdur ve Kâr Al seviyelerine ulaşmayacaktır.
Price, Stop Loss ve Take Profit'e ulaştığında, o #Ticket nesneleri silinebilir.
OnTimer() ve OnTick()'e " My_OrderObjectsDelete() " koyabileceğimi biliyorum - OnTrade() gibi bir fonksiyon bulmaya çalışıyorum.

Bunun için tavsiyeye ihtiyacım var, lütfen " My_OrderObjectsDelete() " öğesini nereye koyabilirim.

Şimdiden teşekkürler.

 
Ne istediğini anlamak benim için biraz zor.

Mt4'te açık bir sipariş STP veya TGT'ye ulaştıysa, bunu Sipariş Geçmişinde bulabilirsiniz. Bu nedenle, onu OrdersTotal() içinde daha fazla bulamazsanız , OrdersHistoryTotal listesini kontrol edin. ().

Ancak, STP ve TGT'yi tekrar izlerseniz, Teklif Ver ve Sor ve Siparişleri yalnızca bu kontroller başarılıysa kontrol ederseniz - InTick() veya OnTimer() içinde nereye yerleştirmiş olursanız olun.
 
Carl Schreiber :
Ne istediğini anlamak benim için biraz zor.
Mt4'te açık bir sipariş STP veya TGT'ye ulaştıysa, bunu Sipariş Geçmişinde bulabilirsiniz. Bu nedenle, onu OrdersTotal() içinde daha fazla bulamazsanız , OrdersHistoryTotal listesini kontrol edin. ().
Ancak, STP ve TGT'yi tekrar izlerseniz, Teklif Ver ve Sor ve Siparişleri yalnızca bu kontroller başarılıysa kontrol ederseniz - InTick() veya OnTimer() içinde nereye yerleştirmiş olursanız olun.

Beni doğru anladığınızı düşünüyorum, yorumunuz için teşekkürler.

Ancak endişem şu: Kodun sürekli çalışmasını istemiyorum, çünkü Fiyat göstergesi, Zarar Durdur ve Kâr Al Düzeylerimin her bir işaretine basmamalıdır.

(Sipariş kapatıldıktan sonra bu nesneleri nasıl silebileceğimi zaten biliyorum - ayrıca bu yorumu da kontrol edin - İşlev Adı " deleteobjs() " - #238 )

 

#Delete Order Objects / OnTrade() - Kapalı

Fonksiyonumu OnTick() veya OnTimer() olarak koyacağım.

 

#StringLen - Aç

Hala bu endişe hakkında araştırma yapıyorum - ancak benzer forumlar yapamam - ve başka bir şey.

Sayıları saymaya çalışıyorum. Aşağıdaki kod bana farklı sonuçlar veriyor, lütfen bana yardım edin.

Bid_Len = StringLen ( IntegerToString ( change_to_points( Bid ) ) );

// Results
// EURUSD = 1.23456 > 123456
// NZDUSD = 0.12345 > 12345
Şimdiden teşekkürler.
 
Max Enrik :

#StringLen - Aç

Hala bu endişeyi araştırıyorum - ama benzer forumları yapamam - ve başka bir şey.

Sayıları saymaya çalışıyorum. Aşağıdaki kod bana farklı sonuçlar veriyor, lütfen bana yardım edin.

Bid_Len = StringLen ( IntegerToString ( change_to_points( Bid ) ) );

// Results
// EURUSD = 1.23456 > 123456
// NZDUSD = 0.12345 > 12345
Şimdiden teşekkürler.
Lütfen burada ne yapmaya çalıştığınızı daha fazla açıklayabilir misiniz?
 
honest_knave :
Lütfen burada ne yapmaya çalıştığınızı daha fazla açıklayabilir misiniz?

Kısa sürede cevap verdiğiniz için teşekkür ederim.

Aşağıdaki resim ne yapmak istediğimi gösteriyor.

dizeLen-1

(sadece hızlı yapıldı)

Umarım beni daha net anlamanıza yardımcı olur.

// 2. kez düzenlendi

Umarım bu daha fazla yardımcı olabilir.

StringLen - açıkla - 1

Neden: