Доделать помогите!

 

//+------------------------------------------------------------------+
//| 45.mq4 |
//| FOReignEXchange2008 |
//| http://forexsignal.sk6.ru |
//+------------------------------------------------------------------+
#property copyright "FOReignEXchange2008"
#property link "http://forexsignal.sk6.ru"

extern double Lot = 0.1;
extern int TP=4;
extern int SL=50;



int ticket_Sell,
t_close_Buy,
t_close_Sell,
ticket_Buy;


int start()
{

if (ticket_Sell==0 && ticket_Buy==0)
{
ticket_Sell=OrderSend(Symbol(),OP_SELL,Lot,Bid,5,Bid+SL*Point,Bid-TP*Point);
ticket_Buy=OrderSend(Symbol(),OP_BUY,Lot,Ask,5,Bid-SL*Point,Ask+TP*Point);
}


if(OrderSelect(ticket_Buy, SELECT_BY_TICKET,MODE_HISTORY)==true)
{
t_close_Buy=OrderCloseTime();
if (t_close_Buy!=0)
{
t_close_Buy=0;
ticket_Buy=0;
}
}
if(OrderSelect(ticket_Sell, SELECT_BY_TICKET,MODE_HISTORY)==true)
{
t_close_Sell=OrderCloseTime();
if (t_close_Sell!=0)
{
t_close_Sell=0;
ticket_Sell=0;
}
}



}

Нужно чтобы после закрытия последнего ордера всё повторялось.И чтобы при открытия терминала ордера не открывались,а открывались после того,как оставшиеся закрывались

 
//+------------------------------------------------------------------+
//| 45.mq4 |
//| FOReignEXchange2008 |
//| http://forexsignal.sk6.ru |
//+------------------------------------------------------------------+
#property copyright "FOReignEXchange2008"
#property link "http://forexsignal.sk6.ru"

extern double Lot = 0.1;
extern int TP=4;
extern int SL=50;



int ticket_Sell,
    t_close_Buy,
    t_close_Sell,
    ticket_Buy;


int start()
{ 

if (ticket_Sell==0 && ticket_Buy==0)
   {
   ticket_Sell=OrderSend(Symbol(),OP_SELL,Lot,Bid,5,Bid+SL*Point,Bid-TP*Point);
   ticket_Buy=OrderSend(Symbol(),OP_BUY,Lot,Ask,5,Bid-SL*Point,Ask+TP*Point);
   } 


if (OrderSelect(ticket_Buy, SELECT_BY_TICKET,MODE_HISTORY)==true)
   {
   t_close_Buy=OrderCloseTime();
   if (t_close_Buy!=0) 
      {
      t_close_Buy=0;
      ticket_Buy=0;
      }
   } 

if (OrderSelect(ticket_Sell, SELECT_BY_TICKET,MODE_HISTORY)==true)
   {
   t_close_Sell=OrderCloseTime();
   if (t_close_Sell!=0) 
      {
      t_close_Sell=0;
      ticket_Sell=0;
      }
   } 



}


Всё и так повоторяется. Ещё надо сделать учёт ордеров, что при загрузге терминала проверялось наличие ордеров. Чуть позже может сделаю.

 
FOReignEXchange >>:


Всё и так повоторяется. Ещё надо сделать учёт ордеров, что при загрузге терминала проверялось наличие ордеров. Чуть позже может сделаю.

Помогите пожалуйста

 
Так всё же повторяется. По-позже сделаю учёт ордеров и всё будет норм при перегрузке терминала. Чуть позже только.
 
//+------------------------------------------------------------------+
//| 45.mq4 |
//| FOReignEXchange2008 |
//| http://forexsignal.sk6.ru |
//+------------------------------------------------------------------+
#property copyright "FOReignEXchange2008"
#property link "http://forexsignal.sk6.ru"

extern double Lot = 0.1;
extern int TP=4;
extern int SL=50;


//+--------------------------------------------------------------------------------------------+
int ticket_Sell,
    Kol,
    t_close_Buy,
    t_close_Sell,
    ticket_Buy;

//+--------------------------------------------------------------------------------------------+
int start()
{ 

//+--------------------------------------------------------------------------------------------+
                                      //Учёт ордеров
//+--------------------------------------------------------------------------------------------+
Kol=0;
for (int i=0; i<5; i++)
    {
    if ((OrderSelect(i, SELECT_BY_POS)==true) && (OrderSymbol()==Symbol()))                                                      
       {                                                                     
       Kol=Kol+1;
       }
    }
if (Kol==0 && ticket_Buy==1 && ticket_Sell==1)
   {
   ticket_Sell=0;
   ticket_Buy=0;   
   }
if (Kol>0 && ticket_Buy==1 && ticket_Sell==1) return;    
if (Kol>0 && ticket_Buy==0 && ticket_Sell==0) 
   {
   Alert ("Открытых ордеров ", Kol, ", ждём закрытия");
   ticket_Sell=1;
   ticket_Buy=1;
   return;
   }    
//+--------------------------------------------------------------------------------------------+


//+--------------------------------------------------------------------------------------------+
                                      //Открытие позиций
//+--------------------------------------------------------------------------------------------+
if (ticket_Sell==0 && ticket_Buy==0)
   {
   ticket_Sell=OrderSend(Symbol(),OP_SELL,Lot,Bid,5,Bid+SL*Point,Bid-TP*Point);
   ticket_Buy=OrderSend(Symbol(),OP_BUY,Lot,Ask,5,Bid-SL*Point,Ask+TP*Point);
   } 
//+--------------------------------------------------------------------------------------------+


//+--------------------------------------------------------------------------------------------+
                                      //Закрытие ордеров
//+--------------------------------------------------------------------------------------------+
if (OrderSelect(ticket_Buy, SELECT_BY_TICKET,MODE_HISTORY)==true)
   {
   t_close_Buy=OrderCloseTime();
   if (t_close_Buy!=0) 
      {
      t_close_Buy=0;
      ticket_Buy=0;
      }
   } 

if (OrderSelect(ticket_Sell, SELECT_BY_TICKET,MODE_HISTORY)==true)
   {
   t_close_Sell=OrderCloseTime();
   if (t_close_Sell!=0) 
      {
      t_close_Sell=0;
      ticket_Sell=0;
      }
   } 
//+--------------------------------------------------------------------------------------------+


}


Вот тут всё нормально. Игрушка должна работать. Но послушайте. Всё равно сольёте, если будете торговать на этом.