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

 
    &&  OrderMagicNumber()  == 0            // my magic number

0 varsayılan sihirli sayıdır, bu nedenle durumunuz manuel olarak açılan hiçbir işlemi dışlamaz

         Tip   =OrderType();                     // Type of selected order
         Price =OrderOpenPrice();               // Price of selected order
         SL    =OrderStopLoss();                 // SL of selected order 
         TP    =OrderTakeProfit();               // TP of selected order
         Lot   =OrderLots();                     // Amount of lots

Burada, son seçilen sıradaki değerleri saklıyorsunuz. LastTicket'ten gelen değerleri saklamak istiyorsanız, onu yeniden seçmelisiniz.

 

Son siparişi bulmak için neden siparişler arasında dolaşıyorsunuz, sonuçta hiçbir şey yapmıyorsunuz?

2 kod bloğunuz birbirinden tamamen bağımsızdır

 
GumRai :

0 varsayılan sihirli sayıdır, bu nedenle durumunuz manuel olarak açılan hiçbir işlemi dışlamaz

Burada, son seçilen sıradaki değerleri saklıyorsunuz. LastTicket'ten gelen değerleri saklamak istiyorsanız, onu yeniden seçmelisiniz.

 

Son siparişi bulmak için neden siparişler arasında dolaşıyorsunuz, sonuçta hiçbir şey yapmıyorsunuz?

2 kod bloğunuz birbirinden tamamen bağımsızdır




GumRai : tespitlerinize göre yanıtınız için teşekkürler

OrderMagicNumber() == 0 ------------ kodumu test ettiğim için buraya 0 koydum, bu yüzden değer numarası olmadan gönderdim, öneriler ve düzeltmeler için teşekkürler

OrderMagicNumber() == 1234

lastTicket siparişlerime yerleştirdim


lastTicket =OrderSend(Symbol(),OP_BUY,mylot(),Sor,0,0,0,"Yorumum",sihir,0,Yeşil);

if( lastTicket >0)
{
bool b=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(StopLoss*Point),Digits),NormalizeDouble(Ask-(PakeProfit*Point),Digits),0,Red);
}



ama gerçekten doğru yapıp yapmadığımı bilmiyorum çünkü ea'mın tek yapmak istediğim birden fazla satış emri türü yerleştirmek, bu yüzden ea'nın mevcut grafik sembolünde en yüksek açık fiyatı almasını ve 10pip üzerinde açmasını istiyorum.ve mevcut herhangi bir ticaret körüğü son sipariş reddetme .

bu yüzden istediğimi elde etmek için adım adım ilerliyorum. ilk önce, WHRoeder'ın bana verdiği formüle göre son açık siparişi almaya çalışıyorum.

bu yüzden benim döngü düzenim sadece 1 açık ticaret ayarlamak değil, birden fazla açık ticaret yapmaktır, bu yüzden son açık bileti yüksek almak istiyorum.



 // Orders accounting 

{
     datetime lastTime  = 0 ;
     int       lastTicket = - 1 ; // None open.
     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.
    &&  OrderOpenTime()     >=  lastTime
    &&  OrderTicket()       >   lastTicket
    ){
      lastTime   = OrderOpenTime();
      lastTicket = OrderTicket();
    }
 
}

         Tip   =OrderType();                     // Type of selected order
         Price =OrderOpenPrice();               // Price of selected order
         SL    =OrderStopLoss();                 // SL of selected order 
         TP    =OrderTakeProfit();               // TP of selected order
         Lot   =OrderLots();                     // Amount of lots
   
////////////////////////////////////////////////////////////////////////////////////////////////////////
//---------------------------------------- 5 ------------------------------------//
/*this is the poinnt where main formular or trading system EA-MA is based*/
//---------------------------------------------------------------------------
// Trading criteria
       
rsi1= iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 );
rsi2= iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ); 
     
 if (rsi2> 70 && Ask > High[ 1 ] + ( 10 *pips2dbl) )
  {
      Opn_S= true ;
     } 
     else 
   if (rsi2> 70 && Ask < High[ 1 ] + ( 10 *pips2dbl)) 
      {
      Opn_S= false ;
     }


lastTicket= OrderSend ( Symbol (),OP_BUY,mylot(),Ask, 0 , 0 , 0 , "My Comment" ,magic, 0 ,Green);

         if(lastTicket>0)
     {
      bool b=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(StopLoss*Point),Digits),
                         NormalizeDouble(Ask-(TakeProfit*Point),Digits),0,Red);
     }
 

Lütfen gönderilerinize uzun kod satırları eklememeye çalışın, bu onların okunmasını zorlaştırır.

   if (lastTicket> 0 )
     {
       bool b=OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble (Ask+(StopLoss* Point ), Digits ),
                         NormalizeDouble (Ask-(TakeProfit* Point ), Digits ), 0 ,Red);
     }

Yukarıdaki gibi 2 satır kullanmanıza engel olacak hiçbir şey yok

 
dan100 :

WHRoeder bu kodun tamamı benim sipariş yürütme hesaplamamdadır, lütfen hatalarımı değiştirmeme ve beni gerçekleştirmeme yardım etmemi rica ediyorum. yardım etme isteğin için teşekkür ederim



dan100 :

WHRoeder bu kodun tamamı benim sipariş yürütme hesaplamamdadır, lütfen hatalarımı değiştirmeme ve beni gerçekleştirmeme yardım etmemi rica ediyorum. yardım etme isteğin için teşekkür ederim






GumRai düzeltmeleriniz için teşekkürler. ama yukarıdaki kodu doğru mu anladım

 
dan100 : lütfen hala yardımınızı bekliyorum. WHRoeder
Uzun bir süre bekleyeceksin.
  1. Sana yapman gerekeni söyledim , yapmadın.
  2. Hala yapmadığını burada hatırlattım .
  3. Şimdi tekrar soruyorsun ama hala yapmadın.
 
WHRoeder :
dan100 : lütfen hala yardımınızı bekliyorum. WHRoeder
Uzun bir süre bekleyeceksin.
  1. Sana yapman gerekeni söyledim , yapmadın.
  2. Hala yapmadığınızı burada hatırlattım .
  3. Şimdi tekrar soruyorsun ama hala yapmadın.



WHRoeder artık anlamadım, bu benim ea'mın tüm mantık kısmı ve ayrıca kod bilgim şimdilik burada.

bu yüzden yardım için buradayım. ama bütün kodu sana göndermeme izin verirsen iyi olacağım lütfen, lütfen WHRoeder lütfen bana yardım et, yapabileceğini biliyorum.

tüm kodları göndermek için onay ve bağlantı.


ayrıca resmi olarak bana bu formülü vermeden önce......

  1. En yüksek açık fiyata sahip açık ticareti bulun.
  2. Piyasa fiyat + 10 pip'e ulaşmadıysa, dönüş
  3. yeni bir sipariş aç.


son fiyatı yalnızca ASK fiyatını veya BID fiyatını geçen hareketli ortalama ile test ediyorum ve daha sonra bazen açık siparişlerin mevcut grafiğin yüksek fiyatının altında olduğunu keşfediyorum, bu yüzden düzeltmek istediğim şey bu

Yüksek kod testim yok, sadece MA ve Sor ve 10 puan, bu yüzden testte tekrar kod kullanmıyorum.

 
dan100 :

GumRai düzeltmeleriniz için teşekkürler. ama yukarıdaki kodu doğru mu anladım

İlk olarak, ne yapmaya çalıştığınız belli değil.

Diyorsun

" ama gerçekten doğru anlayıp anlamadığımı bilmiyorum çünkü ea'mın tek yapmak istediğim birden fazla satış emri türü yerleştirmek, bu yüzden ea'nın mevcut grafik sembolünde en yüksek açık fiyatı almasını ve bunun 10pip üzerinde açmasını istiyorum.ve herhangi bir ticaret körüğü mevcut son sipariş reddi.

bu yüzden istediğimi elde etmek için adım adım ilerliyorum. ilk önce, formülleri izleyerek son açık siparişi almaya çalışıyorum   WHRoeder bana verdi."

Peki bulmak istediğin şey nedir?

En yüksek açılış fiyatına sahip sipariş?

veya

En son açılan sipariş?

Ne istediğinizi tarif edemediğinizde, biri size nasıl yardımcı olabilir?

     datetime lastTime  = 0 ;
     int       lastTicket = - 1 ; // None open.
     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.
    &&  OrderOpenTime()     >=  lastTime
    &&  OrderTicket()       >   lastTicket
    ){
      lastTime   = OrderOpenTime();
      lastTicket = OrderTicket();
    }

Bu kod, son açılan siparişi bulur, ancak fiyatı hiçbir yerde saklamaz.

      
rsi1= iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 );
rsi2= iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ); 
     
 if (rsi2> 70 && Ask > High[ 1 ] + ( 10 *pips2dbl) )
  {
      Opn_S= true ;
     } 
     else 
   if (rsi2> 70 && Ask < High[ 1 ] + ( 10 *pips2dbl)) 
      {
      Opn_S= false ;
     }

Burada Opn_S'ye değer veriyorsunuz, ancak onunla hiçbir şey yapmıyorsunuz

   lastTicket= OrderSend ( Symbol (),OP_BUY,mylot(),Ask, 0 , 0 , 0 , "My Comment" ,magic, 0 ,Green);

Burada sipariş açmak için herhangi bir koşul yoktur ve lastTicket değerinin üzerine yazarsınız.

Kodunuzun mantığı yok, birbiriyle tamamen alakasız sadece 3 kod bölümü

 
GumRai , göstergeler ve özet için tekrar teşekkürler. bulmak istediğim şey

mevcut grafik sembolündeki en yüksek açık fiyat ve eğer alırsa 10pip'i açın / satarsa 10pip'i açın

lütfen bana yardım et

 
dan100 :
GumRai , göstergeler ve özet için tekrar teşekkürler. bulmak istediğim şey

mevcut grafik sembolündeki en yüksek açık fiyat

lütfen bana yardım et

Bu konuda neden yardıma ihtiyacınız var?

En son (en yüksek) OrderOpenTime ile emri bulmak için kod yazabiliyorsanız, en yüksek OrderOpenPrice ile emri bulmak basit bir mesele olmalıdır.

Bu basit ikame.

 
GumRai :

Bu konuda neden yardıma ihtiyacınız var?

En son (en yüksek) OrderOpenTime ile emri bulmak için kod yazabiliyorsanız, en yüksek OrderOpenPrice ile emri bulmak basit bir mesele olmalıdır.

Bu basit ikame.



evet kodlarımı yazarım ve bazılarını araştırırım ama istediğim sonucu bulamayınca çözüm ararım ama yolun yarısındayım henüz hatalarım

bazen, ne kadar basit veya küçük olursa olsun, çözülmesi zor olabilir.lütfen GumRai bana yardım edin, minnettar olacağım.

Neden: