Profit factor:
0.93
6 Views
0 Downloads
0 Favorites
misterfx
#define MagicNumber 712008

extern int TakeProfit = 50;
extern int StopLoss = 50;
extern double Lots = 0.1;
extern int slippage = 3;
extern int TrailingStop = 30;
extern int TimeToTrade = 1;

double point = 0;
int day = -1;

int init()
{
   point = Point*MathPow(10,Digits%2);
   return(0);
}

void start()
{
   if( OrdersTotal() <= 0)
   {
      if (Hour() == TimeToTrade && Minute() == 0 && day != DayOfYear())
      {
         day = DayOfYear();
         OrderSend(Symbol(),OP_BUY,Lots,Ask,slippage,Ask-StopLoss*point,Ask+TakeProfit*point,"misterfx",MagicNumber,0,Lime);
         OrderSend(Symbol(),OP_SELL,Lots,Bid,slippage,Bid+StopLoss*point,Bid-TakeProfit*point,"misterfx",MagicNumber,0,Red);
      }
   } else {
      ManageTrades();
   }
   return(0);
}

void ManageTrades()
{
   for (int i = 0; i<OrdersTotal(); i++)
   {
      if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES) == true)
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
         {
            if (OrderType() == OP_BUY)
            {
               if (Bid-OrderOpenPrice() > TrailingStop * point)
               {
                  if (OrderStopLoss() < Bid-TrailingStop * point || OrderStopLoss() == 0)
                  {
                     ModifyStopLoss(Bid-TrailingStop * point);
                  }
               }
            }
            if (OrderType() == OP_SELL)
            {
               if (OrderOpenPrice()-Ask > TrailingStop * point)
               {
                  if (OrderStopLoss() < Ask+TrailingStop * point || OrderStopLoss() == 0)
                  {
                     ModifyStopLoss(Ask+TrailingStop * point);
                  }
               }
            }
         }
      }
   }
   return(0);
}

void ModifyStopLoss(double newStopLoss)
{
   OrderModify(OrderTicket(), OrderOpenPrice(), newStopLoss, OrderTakeProfit(), 0, CLR_NONE); 
   return(0);
}

Comments