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

 
Max Enrik :


if
(id== CHARTEVENT_OBJECT_CLICK && ( StringFind (sparam,Button_1, 0 )>= 0 || StringFind (sparam,Button_2, 0 )>= 0 ))
  {
   ticketnumber=( int ) StringSubstr (sparam, 1 );

    Print(ticketnumber);

Bilet numaranızı yazdırın - doğru göründüğünden emin olun.

-----

Max Enrik :

if (id== CHARTEVENT_OBJECT_CLICK && ( StringFind (sparam,Button_1, 0 )>= 0 || StringFind (sparam,Button_2, 0 )>= 0 ))
  {
   ticketnumber=( int ) StringSubstr (sparam, 1 );

   if ( OrderSelect (ticketnumber, SELECT_BY_TICKET ))
     {
       if ( StringFind (sparam,Button_1, 0 )>= 0 )
        {
         // ...
        }

       if ( StringFind (sparam,Button_2, 0 )>= 0 )
        {
         //...
        }

       for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
        {
         if (! OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) continue ;
         if ( Symbol ()!= OrderSymbol ()) continue ;

         update_1();
         update_2();
         update_3();
        }
     }
    else printf("OrderSelect failed for %i",ticketnumber);  

}

OrderSelect'in çalışıp çalışmadığını kontrol edin.

-----

Max Enrik :
if (id== CHARTEVENT_OBJECT_CLICK && ( StringFind (sparam,Button_1, 0 )>= 0 || StringFind (sparam,Button_2, 0 )>= 0 ))
  {
   ticketnumber=( int ) StringSubstr (sparam, 1 );

   if ( OrderSelect (ticketnumber, SELECT_BY_TICKET ))
     {
       if ( StringFind (sparam,Button_1, 0 )>= 0 )
        {
         // ...
        }

       if ( StringFind (sparam,Button_2, 0 )>= 0 )
        {
         //...
        }

       for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
        {
         if (! OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) continue ;
         if ( Symbol ()!= OrderSymbol ()) continue ;

         update_1();
         update_2();
         update_3();

        }
     }
  }

Bunu anlamıyorum.

Bunun her siparişten aynı Sembol ile geçtiğini ve update_1() update_2() update_3() çalıştırdığını biliyor musunuz? Sadece bilet numarası ile bulduğunuz sipariş değil.

 
honest_knave :

Bilet numaranızı yazdırın - doğru göründüğünden emin olun.
-----
OrderSelect'in çalışıp çalışmadığını kontrol edin.
-----
Bunu anlamıyorum.
Bunun her siparişten aynı Sembol ile geçtiğini ve update_1() update_2() update_3() çalıştırdığını biliyor musunuz? Sadece bilet numarası ile bulduğunuz sipariş değil.

Acil yorumunuz için teşekkürler.
Yorumunuzdan sonra tekrar kontrol ettim. Güzel görünüyor.

#1 - Bilet numarası - doğru.
#2 - OrderSelect() çalışır.
#3 - Evet! haklısın ama kullanmazsam update_*()'lar çalışmaz.

Bu yöntemi Sürüklemeler için kullanıyorum, bu yöntem işe yarıyor. Ancak bu yöntem CHARTEVENT_OBJECT_CLICK için iyi çalışmaz. (Tek sıralıyken iyi çalışıyor, ters sırayı açtığımda çalışıyor.)

Gerçekten yardıma ihtiyacım var, lütfen.

 
Bana olmasını istediğin şeyin ekran görüntüsünü göster. Sorun konusunda net değilim.
 
honest_knave :
Bana olmasını istediğin şeyin ekran görüntüsünü göster. Sorun konusunda net değilim.

Ekran görüntüsü alırken bir çözüm buldum, vay be! (Zaten bunun için 2 saatten fazla harcadım)
Yani şu ana kadar iyi gibi görünüyor, eğer bu konuda bir şeyler ters giderse daha net yorum yazacağım.

Zaman ayırdığınız için teşekkürler.

(Bu gerçekten büyülüydü.)

 
Max Enrik :

Ekran görüntüsü alırken bir çözüm buldum, vay be! (Zaten bunun için 2 saatten fazla harcadım)
Yani şu ana kadar iyi gibi görünüyor, bu konuda bir şeyler ters giderse daha net yorum yazacağım.

Zaman ayırdığınız için teşekkürler.

(Bu gerçekten büyülüydü.)

düzelttiğine sevindim
 

#Kar Para Birimi Hesapla - Açık

Para Birimi Karını nasıl hesaplayabilirim diye bir çözüm bulmaya başladım. örneğin: 100 pip = USDJPY cinsinden 0,89 USD

S: Pip cinsinden Sipariş Karını Para Birimi cinsinden Sipariş Karına nasıl dönüştürebilirim, lütfen?

(Piyasa kapanana kadar çözüm bulamayacağım için endişeleniyorum)

Açıkça herhangi bir yorum daha iyi olurdu, lütfen.

Şimdiden teşekkürler.

//--- 2. kez düzenlendi

Bir sürü benzer forum buldum ama bu tür konuları bulamıyorum.

 

Piplerde nasıl kar elde edersiniz?

OrderProfit ()

Döndürülen değer:

Seçilen sipariş için net kar değeri (swap veya komisyon olmadan).

Açık siparişler için, mevcut gerçekleşmemiş kârdır.

Kapalı siparişler için sabit kârdır.

 
Marco vd Heijden :

Piplerde nasıl kar elde edersiniz?

OrderProfit ()

Döndürülen değer:

Seçilen sipariş için net kar değeri (swap veya komisyon olmadan).

Açık siparişler için, mevcut gerçekleşmemiş kârdır.

Kapalı siparişler için sabit kârdır.

Yorumun için teşekkürler.

Üzgünüm Marco, sorunumu daha açık bir şekilde açıklamadım.
Aşağıdaki kodlarla, Pip ve Para Birimi cinsinden Sipariş Karını kolayca elde edebilirim.

DoubleToString ( OrderProfit (), 2 )
DoubleToString ( change_to_points( Bid - OrderOpenPrice () ), 0 );

Ama Dövizde Zarar Durdur ve Kâr Al için çözüm bulmaya çalışıyorum.

Üzerinde çalışıyorum ve hala yardıma ihtiyacım var, lütfen.

Şimdiden teşekkürler.

 
Max Enrik : ut Zarar Durdur ve Dövizde Kâr Al için çözüm bulmaya çalışıyorum.
Bunlardan biri için OrderStopLoss'u değiştirin.
  • Stop'u olması gereken yere, yani takas sebebinin artık geçerli olmadığı yere yerleştirirsiniz. Örneğin, bir destek sıçraması ticareti, durdurma desteğin altına düşer.
  • Hesap Bakiyesi * yüzde/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Not OOP-OSL, SPREAD'i içerir ve DeltaPerLot genellikle 10$/pip civarındadır, ancak çiftin döviz kurlarını hesaba katar. hesap para biriminize kıyasla.)
  • TickValue'u tek başına KULLANMAYIN - DeltaPerLot
  • Partileri düzgün bir şekilde normalleştirmeli ve min ve max değerlerine göre kontrol etmelisiniz.
  • Stop out'tan kaçınmak için FreeMargin'i de kontrol etmelisiniz.
 
whroeder1 :
Bunlardan biri için OrderStopLoss'u değiştirin.
  • Stop'u olması gereken yere, yani takas sebebinin artık geçerli olmadığı yere yerleştirirsiniz. Örneğin, bir destek sıçraması ticareti, durdurma desteğin altına düşer.
  • Hesap Bakiyesi * yüzde/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Not OOP-OSL, SPREAD'i içerir ve DeltaPerLot genellikle 10$/pip civarındadır, ancak çiftin döviz kurlarını hesaba katar. hesap para biriminize kıyasla.)
  • TickValue'u tek başına KULLANMAYIN - DeltaPerLot
  • Partileri düzgün bir şekilde normalleştirmeli ve min ve max değerlerine göre kontrol etmelisiniz.
  • Stop out'tan kaçınmak için FreeMargin'i de kontrol etmelisiniz.

Daha bilgilendirici yorumunuz için teşekkürler.
onu okuyorum...

//--- 2. kez düzenlendi

Belki de kod bilgisi eksikliği, hesaplama yönteminizi anlamama izin vermiyor.
Ama sanırım çözüme yakınım. Ve (Satın Alma Emri için) Para Biriminde Zararı Durdur'u aldığım aşağıdaki kodu deniyorum.
Sonra bu sonuçları alıyorum (bir şeyi geçtiğimi biliyorum... çünkü onları ima edemem... ) örneğin: Kar: 7,67 USD - Pips: 1001 / USDCAD için. Ama aslında Kar: 7.69 USD. ( Zaten kontrol ettim ( Takas ve Komisyon ) )

double   tickvalue               = MarketInfo ( Symbol (), MODE_TICKVALUE ) / MarketInfo ( Symbol (), MODE_TICKSIZE ),
        buy_stoploss_incurrency = OrderOpenPrice () - OrderStopLoss ();
string   stoploss_incurrency     = DoubleToString ( OrderLots () * buy_stoploss_incurrency * tickvalue + OrderCommission (), 2 );

Print ( "stop loss in currency: " , stoploss_incurrency );

Bu yüzden tavsiyeye ihtiyacım var, lütfen.

Şimdiden teşekkürler.

//--- 3. kez düzenlendi

Lütfen kodlayıcı veya programcı yukarıdaki kodun doğru olduğunu bana bildirin. Çünkü şimdi GBPCHF için para biriminde doğru Stop Loss'u görüyorum, ancak USDCAD için doğru değil. Neyin yanlış olduğunu anlamıyorum?! (not: USDCAD açık pozisyon, ancak GBPCHF Bekleyen emirler.)

Şimdilik her şey yolunda. Çok teşekkürler Bay William.

Neden: