order_id nedir? - sayfa 4

 
2012.11.01 00:13:27 2012.09.27 15:33 Test kullanıcısı: 1765.27'de (1765.27 / 1765.80) 13. kâr elde et
2012.11.01 00:13:27 2012.09.27 15:33 Test kullanıcısı: 1765.25'te (1765.27 / 1765.80) 12. kâr elde et
2012.11.01 00:13:27 2012.09.27 15:15 ADX XAUUSD,M15: açık #13 1762.27 sl'de 0.03 XAUUSD satın al: 1759.27 tp: 1765.27 tamam
2012.11.01 00:13:27 2012.09.27 15:15 ADX XAUUSD,M15: açık #12, 0.03 XAUUSD'yi 1762.25 sl'de satın alın: 1759.25 tp: 1765.25 tamam
2012.11.01 00:13:27 2012.09.27 13:20 Test eden: zararı durdur #11, 1754.73'te (1754.67 / 1755.20)
2012.11.01 00:13:25 2012.09.27 08:30 ADX XAUUSD,M15: açık #11 1757.73 sl'de 0.03 XAUUSD satın al: 1754.73 tp: 1760.73 tamam
2012.11.01 00:13:25 2012.09.27 08:24 Test eden: zararı durdur #10, 1757.50'de (1756.97 / 1757.50)
2012.11.01 00:13:24 2012.09.27 06:15 ADX XAUUSD,M15: #10 açık 1754.50 sl'de 0.03 XAUUSD sat: 1757.50 tp: 1751.50 tamam
2012.11.01 00:13:23 2012.09.27 04:15 Test eden: 1756.40'ta (1756.41 / 1756.94) kar al #8
2012.11.01 00:13:23 2012.09.27 04:14 Test kullanıcısı: 1755.93'te (1755.94 / 1756.47) kâr elde et #9
2012.11.01 00:13:22 2012.09.26 23:45 ADX XAUUSD,M15: açık #9 1752.93 sl'de 0.03 XAUUSD satın al: 1749.93 tp: 1755.93 tamam
2012.11.01 00:13:21 2012.09.26 21:45 ADX XAUUSD,M15: açık #8 0,03 XAUUSD'yi 1753,40 sl'de satın alın: 1750,40 tp: 1756,40 tamam
2012.11.01 00:13:14 2012.09.26 14:37 Test eden: zararı durdur #6, 1760.83'te (1760.80 / 1761.33)
2012.11.01 00:13:10 2012.09.26 07:32 Test kullanıcısı: zararı durdur #7, 1761.54'te (1761.52 / 1762.05)
2012.11.01 00:13:10 2012.09.26 05:15 ADX XAUUSD,M15: açık #7 1764.54 sl'de 0.03 XAUUSD satın al: 1761.54 tp: 1767.54 tamam
2012.11.01 00:13:10 2012.09.26 05:14 Test kullanıcısı: zararı durdur #4 1764.65'te (1764.14 / 1764.67)
2012.11.01 00:13:09 2012.09.26 04:45 ADX XAUUSD,M15: açık #6 1763.83 sl'de 0.03 XAUUSD satın al: 1760.83 tp: 1766.83 tamam
2012.11.01 00:13:09 2012.09.26 04:07 Test eden: 1762.74'te (1762.77 / 1763.30) 5. kâr al
2012.11.01 00:13:09 2012.09.26 03:15 ADX XAUUSD,M15: #5 açık 1759.74 sl'de 0.03 XAUUSD satın al: 1756.74 tp: 1762.74 tamam
2012.11.01 00:13:08 2012.09.26 02:00 ADX XAUUSD,M15: açık #4 1761.65 sl'de 0.03 XAUUSD sat: 1764.65 tp: 1758.65 tamam
2012.11.01 00:13:06 2012.09.25 19:42 Test eden: kaybı durdur #3, 1761.53'te (1761.51 / 1762.04)
2012.11.01 00:13:06 2012.09.25 19:30 ADX XAUUSD,M15: açık #3 1764.53 sl'de 0.03 XAUUSD satın al: 1761.53 tp: 1767.53 tamam
2012.11.01 00:12:57 2012.09.25 03:57 Test kullanıcısı: zararı durdur #2 1767.82 (1767.30 / 1767.83)

İşte burada. Gördüğünüz gibi, yakın sipariş yok


 

Bu kod satırının çıktısını görmüyorum. . . EA'nızın doğru sürümünü mü çalıştırıyorsunuz?

 Print ( "DIPlus1: " , DoubleToStr (DIPlus1, Digits ), " DIMinus1: " , DoubleToStr (DIMinus1, Digits ), " Main0: " , DoubleToStr (Main0, Digits ), " Rsi: " , DoubleToStr (Rsi, Digits ) );
 

Evet. MT4 yazılımımdan MetaEditor kullanıyorum.

Bu benim bütün kodum. benim için herhangi bir öneriniz var mı?

 int start()
{
   int i ,times;
   string DIPlus1;
   string DIPlus0;
 
   string DIMinus1;
   string DIMinus0;
   
   string Main1;
   string Main0;
   string Main2;
   
   string MACD_main;
   string MACD_signal;
   string Rsi;
   
   string err = 26 ;
   string x = 70 ;
   string xx = 30 ;
   
   double sl = 300 ;
   double tp = 300 ;
   
   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 );
Main2= iADX ( NULL , 0 , 14 , PRICE_CLOSE ,MODE_MAIN, 2 );

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 (DIPlus1 > DIMinus1)
         
           if ( Main0 > err && Main1 < err &&   Rsi < x )

    
                 OrderSend ( Symbol (),OP_BUY, 0.03 ,Ask, 5 ,Ask-sl* Point ,Ask+tp* Point , "" , 1234 , 0 , Blue );
    }      
   
    { if (DIPlus1 < DIMinus1)
             if (Main0 > err && Main1 < err &&    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 ;   
   
               Print ( "DIPlus1: " , DoubleToStr (DIPlus1, Digits ), " DIMinus1: " , DoubleToStr (DIMinus1, Digits ), " Main0: " , DoubleToStr (Main0, Digits ), " Rsi: " , DoubleToStr (Rsi, Digits ) );
   
               if ( OrderMagicNumber () == MagicNumber2      
               && OrderSymbol () == Symbol ()          
               && OrderType () == OP_BUY         
               || OrderType () == OP_SELL )  
                  {
                   if ( DIPlus1 > DIMinus1 || Main0 < err || Rsi < xx)
                     {
                         if (! OrderClose ( OrderTicket (), OrderLots (),Bid, 3 , Green ))
                           Print ( "Order Close failed, order number: " , OrderTicket (), " Error: " , GetLastError () );
                     } 
                  }
               if ( OrderMagicNumber () == MagicNumber1      
               && OrderSymbol () == Symbol ()          
               &&   OrderType () == OP_BUY          
               || OrderType () == OP_SELL )  
                  { 
                     if ( DIPlus1 < DIMinus1 || Main0 < err || Rsi > x  )
                        {
                           if (! OrderClose ( OrderTicket (), OrderLots (),Ask, 3 , Green ))  
                               Print ( "Order Close failed, order number: " , OrderTicket (), " Error: " , GetLastError () );
                        } 
                      
                  }

   
    }
 return ( 0 );
 }
   
 

Bence bir ihtiyacın var ! bu satırda. . .

 if ( ! OrderSelect (PositionIndex, SELECT_BY_POS, MODE_TRADES) ) continue ;   //  <--  modify this line
 

Bu satırı çözmeniz gerekiyor, hiçbir anlamı yok. . . ne yapması gerekiyor?

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

Bu satırı çözmeniz gerekiyor, hiçbir anlamı yok. . . ne yapması gerekiyor?

2012.11.01 19:16:00 2012.09.27 23:45 Yeni USDCAD,M15: DoubleToStr işlevi için parametre 1 olarak geçersiz çift sayı
Bu hatanın ne olduğunu söyleyebilir misiniz?
 
toi10005doi :
2012.11.01 19:16:00 2012.09.27 23:45 Yeni USDCAD,M15: DoubleToStr işlevi için parametre 1 olarak geçersiz çift sayı
Bu hatanın ne olduğunu söyleyebilir misiniz?
DoubleToStr() işlevine ilettiğiniz ilk parametre geçersiz. . . DoubleToSrt() işlevinin belgelerine baktınız mı? hatayı oluşturan kod satırını göster.
 
RaptorUK :
DoubleToStr() işlevine ilettiğiniz ilk parametre geçersiz. . . DoubleToSrt() işlevinin belgelerine baktınız mı? hatayı oluşturan kod satırını göster.

 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 = 25 ;
   string x = 70 ;
   string xx = 30 ;
   
   double sl = 300 ;
   double tp = 100 ;
   
   int MagicNumber1= 1234 ,MagicNumber2= 4321 ;
//----
 
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)
      {
       if ( DIPlus0 > DIMinus0  && Rsi < x )
         OrderSend ( Symbol (),OP_BUY, 0.03 ,Ask, 5 ,Ask-sl* Point ,Ask+tp* Point , "" ,MagicNumber1, 0 , Blue );
      
       if ( DIPlus0 < DIMinus0  && Rsi > xx )
         OrderSend ( Symbol (),OP_SELL, 0.03 ,Bid, 5 ,Bid+sl* Point ,Bid-tp* Point , "" ,MagicNumber2, 0 , Red );
      }     
      
   }
     
   //---
 int PositionIndex;    
 
int TotalNumberOfOrders;  

TotalNumberOfOrders = OrdersTotal ();   

for (PositionIndex = TotalNumberOfOrders - 1 ; PositionIndex >= 0 ; PositionIndex --)  
   {
   if ( ! OrderSelect (PositionIndex, SELECT_BY_POS, MODE_TRADES) ) continue ;   
   
     Print ( "DIPlus1: " , DoubleToStr (DIPlus1, Digits ), " DIMinus1: " , DoubleToStr (DIMinus1, Digits ), " Main0: " , DoubleToStr (Main0, Digits ), " Rsi: " , DoubleToStr (Rsi, Digits ) );
  
   if ( Minute () % 15 == 0 && Seconds () == 0 )
       {
         if ( OrderMagicNumber () == MagicNumber2      
            && OrderSymbol () == Symbol ()          
            && ( OrderType () == OP_BUY           
            ||   OrderType () == OP_SELL ) )   
           { if ( DIPlus0 > DIMinus0)
               { if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 ) )
                   Print ( "Order Close failed, order number: " , OrderTicket (), " Error: " , GetLastError () ); 
               }
            } 
         if ( OrderMagicNumber () == MagicNumber1      
            && OrderSymbol () == Symbol ()          
            && ( OrderType () == OP_BUY           
            ||   OrderType () == OP_SELL ) )   
          { if ( DIPlus0 < DIMinus0)
               {   if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 ) )               
                   Print ( "Order Close failed, order number: " , OrderTicket (), " Error: " , GetLastError () ); 
               }
          } 
        }          
    }
 return ( 0 );
 }
Bu benim bütün kodum. MetaEditor, her şeyin yolunda olduğunu fark etti.
 
toi10005doi :
Bu benim bütün kodum. MetaEditor, her şeyin yolunda olduğunu fark etti.

Bu sana yaptığım son yardım. . . Kitabı okumanız ve temel bilgileri öğrenmeniz gerekir. . .

Bu değişkenler neden dizelerdir?

   string DIPlus1;
   string DIPlus0;
 
   string DIMinus1;
   string DIMinus0;
   
   string Main1;
   string Main0;
   
   string MACD_main;
   string MACD_signal;
   string Rsi;
   
   string err = 25 ;
   string x = 70 ;
   string xx = 30 ;
 
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.

Bu yazıda onlar string değildi. . .

   double DIPlus1;
   double DIPlus0;
 
   double DIMinus1;
   double DIMinus0;
   
   double Main1;
   double Main0;
   
   double MACD_main;
   double MACD_signal;
   double Rsi;