//+------------------------------------------------------------------+ //| OpenTiks.mq4 | //| Copyright © 2008, ZerkMax | //| zma@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, ZerkMax" #property link "zma@mail.ru" extern int TrailingStop = 30; extern int StopLoss = 0; extern double Lots = 0.1; extern int magicnumber = 777; extern bool PolLots = true; extern int MaxOrders = 1; int prevtime; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- int i=0; int total = OrdersTotal(); for(i = 0; i <= total; i++) { if(TrailingStop>0) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == magicnumber) { TrailingStairs(OrderTicket(),TrailingStop); } } } bool BuyOp=false; bool SellOp=false; if (High[0]>High[1]&&High[1]>High[2]&&High[2]>High[3]&&Open[0]>Open[1]&&Open[1]>Open[2]&&Open[2]>Open[3]) BuyOp=true; if (High[0](Point*trldistance)) { if(OrderStopLoss()MarketInfo(Symbol(), MODE_MINLOT)) { OrderClose(ticket,NormalizeDouble(OrderLots()/2,2),Ask,3,Green); } else { OrderClose(ticket,OrderLots(),Ask,3,Green); } } } } else { if((OrderOpenPrice()-Ask)>(Point*trldistance)) { if((OrderStopLoss()>(Ask+Point*trldistance)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*trldistance,OrderTakeProfit(),0,Red); if (PolLots) if (NormalizeDouble(OrderLots()/2,2)>MarketInfo(Symbol(), MODE_MINLOT)) { OrderClose(ticket,NormalizeDouble(OrderLots()/2,2),Bid,3,Green); } else { OrderClose(ticket,OrderLots(),Bid,3,Green); } } } } }