10pip boşluklu açık siparişler - sayfa 6

 
WHRoeder :
  1. En yüksek açılış fiyatını bulan kodu istedim. Bunu yapar? Kayma varlığında olur mu?
  2. Sizce bu ne anlama geliyor?
  3. Teklifin son açılıştan 10 pip yukarıda olup olmadığını test eden kodu göster o yüzden sordum. Piyasa herhangi bir emrin 10 puan üzerindeyken (en yüksek değil) neden bir satış açıyorsun?
  4. Kararınızı verin, 10 puan mı yoksa 10 pip mi istiyorsunuz?





evet 10 pip istiyorum

 
dan100 :

ve ayrıca eklediğim bu koşulu kontrol et haklıysam ................

 double highest_open_price= 0 ;
   int     highest_Ticket=- 1 ;
   for ( int pos= OrdersTotal ()- 1 ; pos>= 0 ; pos--)
       if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
         && OrderMagicNumber()== 0            // my magic number
         && OrderSymbol()== Symbol () // and my pair.
         && OrderOpenPrice()>=highest_open_price)
        {
         highest_open_price=OrderOpenPrice();
         highest_Ticket=OrderTicket();
        }
         RefreshRates();
           if (Bid>=highest_open_price+ 10 * Point )
   highest_Ticket= OrderSend ( Symbol (),OP_SELL,mylot(),Bid, 0 , 0 , 0 , "My Comment" , 0 , 0 ,Red);


     }

Lütfen başıboş bir kod göndermeyin }

Kafa karıştırıcı

EA'nızı strateji test cihazında deneyin ve haklı olup olmadığınızı göreceksiniz.


 
GumRai :

} -- WHRoeder işaret etti ve düzelttim, belirttiğiniz için teşekkürler.



bence WHRoeder : puan ve pip konusunda haklı, şimdi yüksek oldu bence pip dikkate alınmalı


 

şimdi bak yüksek aldığım için piplerimi nasıl hesapladım haklı mıyım..........


 double highest_open_price= 0 ;
   int     highest_Ticket=- 1 ;
   for ( int pos= OrdersTotal ()- 1 ; pos>= 0 ; pos--)
       if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
         && OrderMagicNumber()== 0            // my magic number
         && OrderSymbol()== Symbol () // and my pair.
         && OrderOpenPrice()>=highest_open_price)
        {
         highest_open_price=OrderOpenPrice();
         highest_Ticket=OrderTicket();
        }
        

 int look_pips= 0 ; 
for (pos= OrdersTotal ()- 1 ; pos>= 0 ; pos--) 

      highest_open_price= MathAbs (High[pos]-Low[pos])/ Point ;   //pips levels of the bar
       if (Bid>=highest_open_price && look_pips >=my_pips)
       Print ( "The last price movement more than " ,my_pips); 
 
         RefreshRates();
   highest_Ticket= OrderSend ( Symbol (),OP_SELL,mylot(),Bid, 0 , 0 , 0 , "My Comment" , 0 , 0 ,Red);



my_pips'in harici double my_pips =10'a eklendiğini unutmayın; ve ayrıca 5 basamaklı brokerlere uyacak şekilde hesaplamadım, bunu ekleyeceğim.

	          
 

ne yapmaya çalıştığın hakkında hiçbir fikrim yok

İlk döngüde en yüksek_open_price değerini alırsınız

Sonra siparişler arasında tekrar dolaşır ve ona farklı bir değer verirsiniz.

niye ya?????

 
GumRai :

ne yapmaya çalıştığın hakkında hiçbir fikrim yok

İlk döngüde en yüksek_open_price değerini alırsınız

Sonra siparişler arasında tekrar dolaşır ve ona farklı bir değer verirsiniz.

niye ya?????




Yazınızı görmeden önce yeniden yazmak üzereydim bir hata olduğu için özür dilerim. sadece kene değerine değiştirmek için üzerinde daha fazla çalıştı ......

şimdi pipleri hesaplamak için kene değerini kullanıyorum .....



 double highest_open_price= 0 ;
   int     highest_Ticket=- 1 ;
   for ( int pos= OrdersTotal ()- 1 ; pos>= 0 ; pos--)
       if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
         && OrderMagicNumber()== 0            // my magic number
         && OrderSymbol()== Symbol () // and my pair.
         && OrderOpenPrice()>=highest_open_price)
        {
         highest_open_price=OrderOpenPrice();
         highest_Ticket=OrderTicket();
        }
        
        
   double tickvalue = (MarketInfo( Symbol (),MODE_TICKVALUE));
   if ( Digits == 5 || Digits == 3 ){
      tickvalue = tickvalue* 10 ;
   }
       if (Bid>=highest_open_price + tickvalue* 10 )
       Print ( "The last price movement more than " ,tickvalue); 
 
         RefreshRates();
   highest_Ticket= OrderSend ( Symbol (),OP_SELL,mylot(),Bid, 0 , 0 , 0 , "My Comment" , 0 , 0 ,Red);




now to add my comment on this tick value. one thing i know is -----10pips is a movement of price upward or down to definite number point stored while 10tick 
is count of moving price without storing number

else 10tick can complete in 1 candle far below pips. while 10pips can complete in more than 20bars/candle or even 1bar/candle.

conclusion i dont think i got it right?


please point me through 



in addition double MYPIP= MarketInfo(Symbol(), MODE_DIGITS); can it work on this case to get pip
 
        
   double PipDecimal=Point;
   if(Digits == 5 || Digits == 3)
      PipDecimal = PipDecimal*10;

   if (Bid>=highest_open_price + PipDecimal *10)
 
GumRai :


düzeltmeleriniz için teşekkür ederim.


şimdi koda katıldım en yüksek kazanılan pip alınıyor...

sonra tekrar test ettim ama sonuç kodla eşleşmedi neden? bir şey mi kaçırıyorum herhangi bir şart var mı

hala koda eklemem gerekiyor yoksa pazar kapandığı için mi...teşekkürler

veya PipDecimal = (MarketInfo(Symbol(),MODE_DIGITS)); kabul edilebilir .


 double highest_open_price= 0 ;
   int     highest_Ticket=- 1 ;
   for ( int pos= OrdersTotal ()- 1 ; pos>= 0 ; pos--)
       if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
         && OrderMagicNumber()== 0            // my magic number
         && OrderSymbol()== Symbol () // and my pair.
         && OrderOpenPrice()>=highest_open_price)
        {
         highest_open_price=OrderOpenPrice();
         highest_Ticket=OrderTicket();
        }
        
   double PipDecimal= Point ;
   if ( Digits == 5 || Digits == 3 )
      PipDecimal = PipDecimal* 10 ;

   if (Bid>=highest_open_price + PipDecimal * 10 )
       Print ( "The last price movement more than " ,PipDecimal); 
 
         RefreshRates();
   highest_Ticket= OrderSend ( Symbol (),OP_SELL,mylot(),Bid, 0 , 0 , 0 , "My Comment" , 0 , 0 ,Red);





sonuç
 
   if (Bid>=highest_open_price + PipDecimal * 10 )
      {
       Print ( "The last price movement more than " ,PipDecimal); 
      RefreshRates();
      highest_Ticket= OrderSend ( Symbol (),OP_SELL,mylot(),Bid, 0 , 0 , 0 , "My Comment" , 0 , 0 ,Red);
      }
Kıvrımlı parantezler olmadan, her tikte yeni bir işlem açılacaktır.
 
GumRai :
Kıvrımlı parantezler olmadan, her tikte yeni bir işlem açılacaktır.


Bu harika! iyi çalıştı... mükemmel bir şekilde tespit edildi.


ancak tek sorun ikinci sipariş sırasında ilk başarılı sipariş iyi açıldıktan sonra tekrar çoklu sipariş açmaya devam etmesi..

lütfen yanlış yaptığım bir şey var mı?