order_id 란 무엇입니까? - 페이지 4

 
2012.11.01 00:13:27 2012.09.27 15:33 테스터 : 1765.27 (1765.27 / 1765.80)에서 13번째 수익
2012.11.01 00:13:27 2012.09.27 15:33 테스터: 1765.25(1765.27 / 1765.80)에 12번째 수익
2012.11.01 00:13:27 2012.09.27 15:15 ADX XAUUSD,M15: 오픈 #13 매수 0.03 XAUUSD 1762.27 sl: 1759.27 tp: 1765.27 ok
2012.11.01 00:13:27 2012.09.27 15:15 ADX XAUUSD,M15: 오픈 #12 매수 0.03 XAUUSD 1762.25 sl: 1759.25 tp: 1765.25 ok
2012.11.01 00:13:27 2012.09.27 13:20 테스터: 손절매 #11 at 1754.73 (1754.67 / 1755.20)
2012.11.01 00:13:25 2012.09.27 08:30 ADX XAUUSD,M15: 오픈 #11 매수 0.03 XAUUSD 1757.73 sl: 1754.73 tp: 1760.73 ok
2012.11.01 00:13:25 2012.09.27 08:24 테스터: 손절매 #10 at 1757.50 (1756.97 / 1757.50)
2012.11.01 00:13:24 2012.09.27 06:15 ADX XAUUSD,M15: 오픈 #10 매도 0.03 XAUUSD 1754.50 sl: 1757.50 tp: 1751.50 ok
2012.11.01 00:13:23 2012.09.27 04:15 테스터: 1756.40(1756.41 / 1756.94)에서 8번째 이익
2012.11.01 00:13:23 2012.09.27 04:14 테스터 : 1755.93 (1755.94 / 1756.47)에서 9번째 수익
2012.11.01 00:13:22 2012.09.26 23:45 ADX XAUUSD,M15: 오픈 #9 매수 0.03 XAUUSD 1752.93 sl: 1749.93 tp: 1755.93 ok
2012.11.01 00:13:21 2012.09.26 21:45 ADX XAUUSD,M15: 오픈 #8 매수 0.03 XAUUSD 1753.40 sl: 1750.40 tp: 1756.40 ok
2012.11.01 00:13:14 2012.09.26 14:37 테스터: 손절매 #6 at 1760.83 (1760.80 / 1761.33)
2012.11.01 00:13:10 2012.09.26 07:32 테스터: 손절매 #7 at 1761.54 (1761.52 / 1762.05)
2012.11.01 00:13:10 2012.09.26 05:15 ADX XAUUSD,M15: 오픈 #7 매수 0.03 XAUUSD 1764.54 sl: 1761.54 tp: 1767.54 ok
2012.11.01 00:13:10 2012.09.26 05:14 테스터: 손절매 #4 at 1764.65 (1764.14 / 1764.67)
2012.11.01 00:13:09 2012.09.26 04:45 ADX XAUUSD,M15: 오픈 #6 매수 0.03 XAUUSD 1763.83 sl: 1760.83 tp: 1766.83 ok
2012.11.01 00:13:09 2012.09.26 04:07 테스터 : 1762.74 (1762.77 / 1763.30)에서 5번째 수익
2012.11.01 00:13:09 2012.09.26 03:15 ADX XAUUSD,M15: 오픈 #5 매수 0.03 XAUUSD 1759.74 sl: 1756.74 tp: 1762.74 ok
2012.11.01 00:13:08 2012.09.26 02:00 ADX XAUUSD,M15: 오픈 #4 매도 0.03 XAUUSD에서 1761.65 sl: 1764.65 tp: 1758.65 ok
2012.11.01 00:13:06 2012.09.25 19:42 테스터: 손절매 #3 at 1761.53 (1761.51 / 1762.04)
2012.11.01 00:13:06 2012.09.25 19:30 ADX XAUUSD,M15: 오픈 #3 매수 0.03 XAUUSD 1764.53 sl: 1761.53 tp: 1767.53 ok
2012.11.01 00:12:57 2012.09.25 03:57 테스터: 손절매 #2 at 1767.82 (1767.30 / 1767.83)

바로 여기입니다. 보시다시피 마감 주문이 없습니다.


 

이 코드 줄의 출력이 표시되지 않습니다. . . 올바른 버전의 EA를 실행하고 있습니까?

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

네. MT4 소프트웨어에서 MetaEditor를 사용합니다.

이것은 내 전체 코드입니다. 저를 위한 조언이 있으신가요?

 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 );
 }
   
 

나는 당신이 필요하다고 생각합니다 ! 이 줄에서 . . .

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

이 줄을 정리해야 합니다. 의미가 없습니다. . . 그것은 무엇을해야합니까?

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

이 줄을 정리해야 합니다. 의미가 없습니다. . . 그것은 무엇을해야합니까?

2012.11.01 19:16:00 2012.09.27 23:45 새로운 USDCAD,M15: DoubleToStr 함수 에 대한 매개변수 1로 잘못된 이중 숫자
이 오류가 무엇인지 알려주실 수 있습니까?
 
toi10005doi :
2012.11.01 19:16:00 2012.09.27 23:45 새로운 USDCAD,M15: DoubleToStr 함수에 대한 매개변수 1로 잘못된 이중 숫자
이 오류가 무엇인지 알려주실 수 있습니까?
DoubleToStr() 함수에 전달하는 첫 번째 매개변수가 잘못되었습니다. . . DoubleToSrt() 함수에 대한 설명서를 보셨습니까? 오류를 생성하는 코드 줄을 표시합니다.
 
RaptorUK :
DoubleToStr() 함수에 전달하는 첫 번째 매개변수가 잘못되었습니다. . . DoubleToSrt() 함수에 대한 설명서를 보셨습니까? 오류를 생성하는 코드 줄을 표시합니다.

 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 );
 }
이것은 내 전체 코드입니다. MetaEditor는 모두 정상임을 알았습니다.
 
toi10005doi :
이것은 내 전체 코드입니다. MetaEditor는 모두 정상임을 알았습니다.

이것이 내가 당신에게 주는 마지막 도움입니다. . . 을 읽고 기본 사항을 배워야 합니다. . .

이러한 변수가 문자열인 이유는 무엇입니까?

   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 :

@랩터:

예, 하지만 EA를 쓰기 위해 별표를 던졌기 때문에 이해했습니다. 당신을 귀찮게 하는 씨.

왜 내 주문이 별표 표시 후 즉시 종료되는지 이해할 수 없습니다.

이 포스트에서 그것들은 문자열이 아닙니다. . .

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