order_id nedir? - sayfa 2

 
toi10005doi :

@Raptor:

Evet, Ama pek anlayamadım çünkü sadece EA yazmaya başladım. Rahatsız ettiğim için sr.

Siparişimin neden yıldızdan hemen sonra kapandığını anlamıyorum.

Eğer yazdığım konuyu anlamıyorsanız, Kitabı daha fazla okumalısınız. . . . iş parçacığı sadece bir döngü ve kapanış emirleri ile ilgili ve çok basit ve net ve hala buna dikkat etmediniz.


Neden Siparişinizi 4 kez Kapatmaya çalışıyorsunuz? Bid'de iki kez ve Ask'ta iki kez ?

 
Yakın durumum bir kobin. Ama yazdığımda çalışmıyor. O yüzden onu ayırıyorum.
 
toi10005doi :
Yakın durumum bir kobin. Ama yazdığımda çalışmıyor. O yüzden onu ayırıyorum.
Ancak aynı Siparişi (bilet numarasına göre) dört kez kapatmaya çalışıyorsunuz. . niye ya ?
 
toi10005doi :

Evet! Anladım.

Kodumu düzelttim ancak siparişim yıldızdan hemen sonra kapanıyor. Lütfen bana neyi yanlış yaptığımı göster

Siparişinizi kapattığınız döngüde bu değerleri yazdırın. . . DIPlus1 DIMinus1 Main0 Rsi, doğru sayıda ondalık basamak elde etmek için DoubleToStr() kullandığınızdan emin olun.
 
Raptor zaten sana ne yapacağını söyledi. Döngünüze tam değişken değerine sahip bazı print deyimleri ekleyin ve nedenini öğrenin
 
RaptorUK :
Siparişinizi kapattığınız döngüde bu değerleri yazdırın. . . DIPlus1 DIMinus1 Main0 Rsi, doğru sayıda ondalık basamak elde etmek için DoubleToStr() kullandığınızdan emin olun.

Bunu yap. Günlükte ne elde edersiniz?
 
RaptorUK :
Bunu yap. Günlükte ne elde edersiniz?

Bana kodu gösterebilir misin?

 
toi10005doi :

Bana kodu gösterebilir misin?

Dalga mı geçiyorsun ? Print() ve DoubleToStr() kullanan tek bir satırdır. . .

Kendiniz yazın, buraya gönderin ve sizin için incelemem için ücretsiz zaman vereceğim.
 
RaptorUK :
Dalga mı geçiyorsun ? Print() ve DoubleToStr() kullanan tek bir satırdır. . .

Kendiniz yazın, buraya gönderin ve sizin için incelemem için ücretsiz zaman vereceğim.

 int start()
{
   int i ,times;
   string DIPlus1;
   string DIPlus0;
 
   string DIMinus1;
   string DIMinus0;
   
   string Main1;
   string Main0;
   
   string MACD_main;
   string MACD_signal;
   string Rsi;
   
   string err = 26 ;
   string x = 70 ;
   string xx = 30 ;
   
   double sl = 300 ;
   double tp = 50 ;
   
   int MagicNumber1= 1234 ,MagicNumber2= 4321 ;
//----
/*DIPlus1=DoubleToStr(  DIPlus1, 4);
DIPlus0=DoubleToStr(    DIPlus0, 4);
DIMinus1=DoubleToStr(   DIMinus1, 4);
DIMinus0=DoubleToStr(   DIMinus0, 4);
Main1=DoubleToStr(      Main1, 4);
Main0=DoubleToStr(      Main0, 4);
Rsi=DoubleToStr(        Rsi, 4);
//err=DoubleToStr(err,4);
//x=DoubleToStr(x,4);
//xx=DoubleToStr(xx,4);*/

//---
 
DIPlus1= iADX ( NULL , 0 , 14 , PRICE_CLOSE ,MODE_PLUSDI, 1 );
DIPlus0= iADX ( NULL , 0 , 14 , PRICE_CLOSE ,MODE_PLUSDI, 0 );
 
DIMinus1= iADX ( NULL , 0 , 14 , PRICE_CLOSE ,MODE_MINUSDI, 1 );
DIMinus0= iADX ( NULL , 0 , 14 , PRICE_CLOSE ,MODE_MINUSDI, 0 );

Main1= iADX ( NULL , 0 , 14 , PRICE_CLOSE ,MODE_MAIN, 1 );
Main0= iADX ( NULL , 0 , 14 , PRICE_CLOSE ,MODE_MAIN, 0 );

Rsi = iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 );

times = Minute () % 15 == 0 && Seconds () == 0 ;

//MACD_main = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0); 
//MACD_signal = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   
//----
if ( Minute () % 15 == 0 && Seconds () == 0 )
{
   if ( Main0 > err && Main1 < err && DIPlus0 > DIMinus0 && Rsi < x )

    
       OrderSend ( Symbol (),OP_BUY, 0.03 ,Ask, 5 ,Ask-sl* Point ,Ask+tp* Point , "" , 1234 , 0 , Blue );
          
   

   if (Main0 > err && Main1 < err && DIPlus0 < DIMinus0  && Rsi > xx)
     
       OrderSend ( Symbol (),OP_SELL, 0.03 ,Bid, 5 ,Bid+sl* Point ,Bid-tp* Point , "" , 4321 , 0 , Red );
}
     
   //---
 int PositionIndex;    
 
int TotalNumberOfOrders;  

TotalNumberOfOrders = OrdersTotal ();   

for (PositionIndex = TotalNumberOfOrders - 1 ; PositionIndex >= 0 ; PositionIndex --)  
   {
   if (   OrderSelect (PositionIndex, SELECT_BY_POS, MODE_TRADES) ) continue ;   
   
   if ( OrderMagicNumber () == MagicNumber2      
     && OrderSymbol () == Symbol ()          
      && OrderType () == OP_BUY         
       || OrderType () == OP_SELL )  
       Print ( "DIPlus1" , DoubleToStr (     DIPlus1, 4 ));
         Print ( "DIMinus1" , DoubleToStr (  DIPlus1, 4 ));
           Print ( "Main0" , DoubleToStr (    DIPlus1, 4 ));
           Print ( "Rsi" , DoubleToStr (     DIPlus1, 4 ));  
     { if ( DIPlus1 > DIMinus1 || Main0 < err || Rsi < xx)
                   OrderClose ( OrderTicket (), OrderLots (),Bid, 3 , Green );
     } 
   if ( OrderMagicNumber () == MagicNumber1      
     && OrderSymbol () == Symbol ()          
      &&   OrderType () == OP_BUY          
        || OrderType () == OP_SELL )  
         Print ( "DIPlus1" , DoubleToStr (    DIPlus1, 4 ));
         Print ( "DIMinus1" , DoubleToStr (  DIPlus1, 4 ));
           Print ( "Main0" , DoubleToStr (    DIPlus1, 4 ));
           Print ( "Rsi" , DoubleToStr (     DIPlus1, 4 ));
    { if ( DIPlus1 < DIMinus1 || Main0 < err || Rsi > x  )
                   OrderClose ( OrderTicket (), OrderLots (),Ask, 3 , Green );   
   }
      {   if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 ) )               
         Print ( "Order Close failed, order number: " , OrderTicket (), " Error: " , GetLastError () ); 
    }           
    }
 return ( 0 );
 }
   
Bunu mu diyorsun ? Ama şimdi siparişi kapatmıyor.
 
toi10005doi :
Bunu mu diyorsun ? Ama şimdi siparişi kapatmıyor.
Bir satır ekle dedim. . . tek gereken buydu.

Kodunuza bakın. . . . satır satır takip edin, ne eklediğinize bakın, neden kırdığınıza bakın. . . bu şekilde öğrenirsin. Bir if ifadesinin nasıl çalıştığını anlıyor musunuz? { } parantezlerinin amacını anlıyor musunuz?