[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 573

 
rigonich :

그는 누구인가?



조언자)

 
Frostr :



조언자)


고문은 분명하지만 무엇입니까?
 

나는 Advisor에서 당신의 데이터를 채점하고 그것을 시작했습니다)

그래야 하지 않았어?

 
파일://localhost/C:/Users/mv/Desktop/StrategyTester.htm
 
Frostr :

나는 Advisor에서 당신의 데이터를 채점하고 그것을 시작했습니다)

그래야 하지 않았어?


내가 이해하지 못하는 데이터는 무엇입니까? 방금 어드바이저 코드를 게시했습니다. 컴파일하고 실행하고 이름을 지정하십시오. 그러나 나는 그것을 테스트하지 않았으며, 결과적으로 당신의 것을 다시 편집하고 편집하고 게시했습니다. 제대로 작동하지 않으면 작성하고 살펴보고 이유를 알아 내려고 노력할 것입니다.
 
Frostr :
파일://localhost/C:/Users/mv/Desktop/StrategyTester.htm
멋진 링크. 글쎄, 그냥 눈을위한 잔치 :)
 
rigonich :

내가 이해하지 못하는 데이터는 무엇입니까? 방금 어드바이저 코드를 게시했습니다. 컴파일하고 실행하고 이름을 지정하십시오. 그러나 나는 그것을 테스트하지 않았으며, 결과적으로 당신의 것을 다시 편집하고 편집하고 게시했습니다. 제대로 작동하지 않으면 작성하고 살펴보고 이유를 알아 내려고 노력할 것입니다.



환호합니다 ... 인터넷에서 컴파일이 무엇을 의미하는지 찾고 있었는데))) 컴파일로 판명되었습니다.

나는 이미 Compile 테스트를 시작했습니다. 한 번에 500-1000개의 위치를 엽니다.

file://localhost/C:/Users/mv/Desktop/StrategyTester.htm 작성된 테스트 링크가 있으며 많은 위치를 엽니다.

 
Frostr :



환호합니다 ... 인터넷에서 컴파일이 무엇을 의미하는지 찾고 있었는데))) 컴파일로 판명되었습니다.

나는 이미 Compile 테스트를 시작했습니다. 한 번에 500-1000개의 위치를 엽니다.


글쎄, 우리는 볼 것이다.
 

오늘 주문에 대한 의견에 몇 개의 기호가 침해할 수 없는지 알려주십시오.

Z.Y. 중요하다면 Alpari입니다.

 
Frostr :



환호합니다 ... 인터넷에서 컴파일이 무엇을 의미하는지 찾고 있었는데))) 컴파일로 판명되었습니다.

나는 이미 Compile 테스트를 시작했습니다. 한 번에 500-1000개의 위치를 엽니다.

file://localhost/C:/Users/mv/Desktop/StrategyTester.htm 작성된 테스트 링크가 있으며 많은 위치를 엽니다.


다음은 코드입니다. 요청한 대로 작동합니다. 모든 마감 시 두 개의 반대 위치가 열립니다.
 //+------------------------------------------------------------------+
//|                                                  Trudnyaga_1.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link       ""
//+------------------------------------------------------------------+
extern int     stoploss   = 0 ,           // уровень выставления SL, если 0, то SL не выставляется
              takeprofit = 0 ,           // уровень выставления TP, если 0, то TP не выставляется
              Magic      = 123456 ;     // уникальный номер ордера
extern double Lot        = 0.1 ;         // объем ордера
extern int     slippage   = 3 ;           // Максимально допустимое отклонение цены для рыночных ордеров
extern int     MaxOrders  = 3 ;           // Максимально допустимое количество ордеров BUY или SELL
extern int     CycleCount = 5 ;           // количество попыток открытия ордера
//+------------------------------------------------------------------+
double SL,TP;
int     Total,LastTotal;
string ord;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
   {
   return ( 0 );
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
   {
   return ( 0 );
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
   {
   Total=fTotal();
   if ((Total==LastTotal&&LastTotal!= 0 )||Total>=MaxOrders) return ( 0 );
   if (takeprofit!= 0 )TP= NormalizeDouble (Ask+takeprofit* Point , Digits ); else TP= 0 ;
   if (stoploss!= 0 )SL= NormalizeDouble (Ask-stoploss* Point , Digits ); else SL= 0 ;
   OPENORDER( "Buy" );
   if (takeprofit!= 0 )TP= NormalizeDouble (Bid-takeprofit* Point , Digits ); else TP= 0 ;
   if (stoploss!= 0 )SL= NormalizeDouble (Bid+stoploss* Point , Digits ); else SL= 0 ;
   OPENORDER( "Sell" );
   LastTotal=fTotal();
   return ( 0 );
}
//+------------------------------------------------------------------+
void OPENORDER( string ord)
   {
   int error,err;
   while ( true )
      { 
      error=- 1 ;
       if (ord== "Buy" )error= OrderSend ( Symbol (),OP_BUY, Lot, NormalizeDouble (Ask, Digits ),slippage,SL,TP, "BUY" ,Magic, 0 ,Blue);
       if (ord== "Sell" )error= OrderSend ( Symbol (),OP_SELL,Lot, NormalizeDouble (Bid, Digits ),slippage,SL,TP, "SELL" ,Magic, 0 ,Red);
       if (error==- 1 ) //неудачная покупка OK
         { 
         ShowERROR();err++; Sleep ( 2000 );RefreshRates();
      }
       if (err>=CycleCount) break ;
   }
   return ;
} 
//+------------------------------------------------------------------+
void ShowERROR()
   {
   int err= GetLastError ();
   switch (err)
      { 
       case 1    : return ;
       case 2    : Alert ( "Нет связи с торговым сервером " , Symbol ()); return ;
       case 3    : Alert ( "Error неправильные параметры " , Symbol ()); return ;
       case 130 : Alert ( "Error близкие стопы Ticket " , Symbol ()); return ;
       case 134 : Alert ( "Недостаточно денег " , Symbol ()); return ;
       case 146 : Alert ( "Error Подсистема торговли занята " , Symbol ()); return ;
       case 129 : Alert ( "Error Неправильная цена " , Symbol ()); return ;
       case 131 : Alert ( "Error Неправильный объем " , Symbol ()); return ;
       case 4200 : Alert ( "Error Объект уже существует " , Symbol ()); return ;
       default   : Alert ( "Error " ,err, " " , Symbol ()); return ;
   }
}
//+------------------------------------------------------------------+
int fTotal()
   {
   int Tot= OrdersTotal ();
   int BuyCount= 0 ,SellCount= 0 ;
   if (Tot> 0 )
      {
       for ( int i= 0 ;i< OrdersTotal ();i++)
         {
         if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true )
            {
             if (OrderSymbol()== Symbol ()&&(Magic== 0 ||OrderMagicNumber()==Magic))
               {
               switch (OrderType())
                  {
                   case OP_BUY :BuyCount++; break ;
                   case OP_SELL:SellCount++; break ;
               }
            }
         }
      }
   }
   return (BuyCount+SellCount);
}
//+------------------------------------------------------------------+