[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 573

 
rigonich :

Kim o?



danışman)

 
Frostr :



danışman)


Danışman olduğu açık, ama ne?
 

Verilerinizi danışmanda puanladım ve başlattım)

olması gerekmiyor muydu?

 
file://localhost/C:/Users/mv/Desktop/StrategyTester.htm
 
Frostr :

Verilerinizi danışmanda puanladım ve başlattım)

olması gerekmiyor muydu?


Neyi anlamadım, hangi veri? Danışman kodunu az önce gönderdim. derleyin ve çalıştırın, sadece bir isim verin. Ancak, test etmedim, sadece sizinkini yeniden düzenledim, ortaya çıktığı gibi derledim ve yayınladım. Düzgün çalışmazsa yaz, bakarım, nedenini bulmaya çalışırım.
 
Frostr :
file://localhost/C:/Users/mv/Desktop/StrategyTester.htm
Harika bağlantı. Eh, sadece gözler için bir şölen :)
 
rigonich :

Neyi anlamadım, hangi veri? Danışman kodunu az önce gönderdim. derleyin ve çalıştırın, sadece bir isim verin. Ancak, test etmedim, sadece sizinkini yeniden düzenledim, ortaya çıktığı gibi derledim ve yayınladım. Düzgün çalışmazsa yaz, bakarım, nedenini bulmaya çalışırım.



şerefe aklıma geldi ... İnternette derlemenin ne anlama geldiğini araştırıyordum))) Compile olduğu ortaya çıktı.

Derlemeyi test etmeye başladım, bir kerede 500-1000 pozisyon açıyor

file://localhost/C:/Users/mv/Desktop/StrategyTester.htm yazılı bir test bağlantısı var, birçok pozisyon açıyor

 
Frostr :



şerefe aklıma geldi ... İnternette derlemenin ne anlama geldiğini araştırıyordum))) Compile olduğu ortaya çıktı.

Derlemeyi test etmeye başladım, bir kerede 500-1000 pozisyon açıyor


Bakalım.
 

Lütfen bugün siparişin yorumlarında kaç sembolün dokunulmaz kaldığını söyle?

ZY Eğer önemliyse, o zaman Alpari.

 
Frostr :



şerefe aklıma geldi ... İnternette derlemenin ne anlama geldiğini araştırıyordum))) Compile olduğu ortaya çıktı.

Derlemeyi test etmeye başladım, bir kerede 500-1000 pozisyon açıyor

file://localhost/C:/Users/mv/Desktop/StrategyTester.htm yazılı bir test bağlantısı var, birçok pozisyon açıyor


İşte kod. İstediğiniz gibi çalışır. Herhangi bir kapanışta iki zıt pozisyon açar.
 //+------------------------------------------------------------------+
//|                                                  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);
}
//+------------------------------------------------------------------+