[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 44

 
yar4i писал(а) >>

Expert Advisor를 최적화할 때 발생하는 오류를 해결하는 방법을 알려주십시오. "최적화 중에 1개의 패스가 수행되었으며 1개의 결과가 중요하지 않은 것으로 삭제되었습니다."

"최적화 결과" 탭에서 "쓸모 없는 결과 건너뛰기"를 선택 취소합니다.

 

정수로

친구는 영원히 기억할 것인가? :-)

 

정수로

최적화 결과에서 아무것도 보지 못했습니다 :(

이 기사에서 가장 간단한 Expert Advisor를 사용했습니다. My first "grail"

 
yar4i >> :

정수로

최적화 결과에서 아무것도 보지 못했습니다 :(

이 기사에서 가장 간단한 Expert Advisor를 사용했습니다. My first "grail"

간단한 실행으로 트랜잭션을 수행합니까?

 

안녕하세요!

여러분, 알려주세요. OrderSelect () 또는 OrderHistoryTotal() 함수를 사용하여 마지막으로 마감된 주문을 어떻게 선택합니까?

 

말해주세요!!!!!!!!

EA를 컴파일할 때 오류 'MagicNumber' - 변수가 정의되지 않음 C:\Program Files\MetaTrader - Alpari\experts\expertCCI_RSI.mq4 (40, 27)가 발생합니다.

다 해봤는데 안되네요....

 //+------------------------------------------------------------------+
//|                                                expertCCI_RSI.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

//---- input parameters
extern int        pCCI = 14 ;
extern int        pRSI = 14 ;
extern double     Lots = 0.1 ;
extern int        MagicNamber = 50001 ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init ( )
   {
//----
   
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit ( )
   {
//----
   
//----
   return ( 0 ) ;
   }
  
bool CheckOrders ( int Type )
{
 bool Result = True ;
 for ( int i = 0 ; i < OrdersTotal ( ) ; i + + )
   if ( OrderSelect ( i , SELECT_BY_POS ) )
   if ( OrderMagicNumber ( ) = = MagicNumber & & OrderSymbol ( ) = = Symbol ( ) )
       if ( OrderType ( ) = = Type )
         {
         if ( Type = = OP_BUY )
           if ( ! OrderClose ( OrderTicket ( ) , OrderLots ( ) , Bid , 0 ) )
             Result = False ;
         if ( Type = = OP_SELL )
           if ( ! OrderClose ( OrderTicket ( ) , OrderLots ( ) , Ask , 0 ) )
             Result = False ;
         } 
         else Result = False ;
 return ( Result ) ; 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start ( )
   {
//----
     double cci_0 = iCCI ( NULL , 0 , pCCI , 1 , 0 ) ;
     double cci_1 = iCCI ( NULL , 0 , pCCI , 1 , 1 ) ;
     double rsi_0 = iRSI ( NULL , 0 , pRSI , 1 , 0 ) ;
     double rsi_1 = iRSI ( NULL , 0 , pRSI , 1 , 1 ) ;
    
     if ( ( cci_0 < cci_1 & & cci_0 > 100 ) & & ( rsi_0 < rsi_1 & & rsi_0 > 70 ) )
     if ( CheckOrders ( OP_SELL ) )
       {
       if ( ! OrderSend ( Symbol ( ) , OP_BUY , Lots , Ask , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ( ) ) ; 
       }
       
     if ( ( cci_0 > cci_1 & & cci_0 < - 100 ) & & ( rsi_0 > rsi_1 & & rsi_0 < 30 ) )
     if ( CheckOrders ( OP_BUY ) )
       {
       if ( ! OrderSend ( Symbol ( ) , OP_SELL , Lots , Bid , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ( ) ) ; 
       }

//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
 
extern int       MagicNamber=50001;

 
xruss писал(а) >>

안녕하세요!

여러분, 알려주세요. OrderSelect() 또는 OrderHistoryTotal() 함수를 사용하여 마지막으로 마감된 주문을 어떻게 선택합니까?

 // ищем самый последний закрытый ордер
for ( i = OrdersHistoryTotal ( ) ; i > = 0 ; i - - ) {
   if ( OrderSelect ( i , SELECT_BY_POS , MODE_HISTORY ) ) {
     if ( OrderSymbol ( ) = = Symbol ( ) ) {
       if ( OrderMagicNumber ( ) = = MagicNumber ) {
         if ( OrderCloseTime ( ) ! = 0 ) {
           if ( OrderCloseTime ( ) > time ) {
            time = OrderCloseTime ( ) ;
            tikcet = OrderTicket ( ) ;
            profit = OrderProfit ( ) ;
           }
         }
       }
     }
   }
}
 

크런치하려면:

))

매직넘버를 사용하지 않는다면 무엇을 써야 할까요?

 
granit77 >> :

간단한 실행으로 트랜잭션을 수행합니까?

거래가 체결되지 않았고 오류 130이 팝업되어 중지 설정에 문제가있었습니다.

샅샅이 뒤져보니 스톱이 100으로 미리 설정되어 있는 걸 발견하고 1000으로 설정했는데 모든 것이 잘 됩니다.사실, 최적화가 작동하지 않습니다 :(

사유: