← Назад к списку файлов

noah10pips2006.mq4

Поиск по коду файла

#include <stdlib.mqh>

extern int    MAGICNUM=1;
extern double Lots = 0.1;
extern int StopLoss = 55;
extern int TakeProfit = 100;
extern int TrailingStop = 0;
extern int slippage = 3;

extern double MaximumRisk = 7.0;
extern double MaxLot = 100.0;
extern double MinLot = 1.0;
extern bool FixedLot = true;

extern int TimeZoneOfData=0; // NY 7,15;
extern int StartHour=2; // 9:00 PM EST
extern int StartMinute=0;
extern int EndHour=23;
extern int EndMinute=0;
extern int FridayEndHour=21;
extern int SecureProfit=10;
extern int TrailSecureProfit=16; 
extern int TradeFriday=1; // 0- dont open trades on friday, 1- Trade on friday
extern int DontReverse=1;
extern int StartYear=2005;
extern int StartMonth=6;
extern int TradesSet=2;
extern int TypeSet=0; // 0 = NONE, 1 = SELL, 2 = BUY
extern int ReverseSet=0;  // 0=False, 1=True

int Today, RefDate, LastBarOfDay, FirstBarOfDay, Loop;
double pre_lo, pre_hi, myC, myO, lotsi;
int Cnt;
int OpenTrades, FilledOrders;
double BuyPrice, SellPrice;
int TimetoOpen, TimetoClose, tmp, i;
int Trades=2; string Type="NONE"; bool Reverse=False;
int mode,tr;
int myEndHour, myFridayEndHour, myStartHour;
bool FirstTime=True;
double range;
double hi_pass;
double lo_pass;
double MP;
double er_hi;
double er_lo;
double erange,erange2;
double r3;
double diffs,diffb;
int res; bool bres;

int start() {
      // код доступен только после оплаты
   }

   if (TimeYear(Time[0])<StartYear) return;

   lotsi=LotsRisk(StopLoss);

   if (FirstTime) {
	   if (TradesSet!=2 || TypeSet!=0 || ReverseSet!=0)  {
		   Trades  = TradesSet;
		   if (TypeSet == 0) Type = "NONE";
		   if (TypeSet == 1) Type = "SELL";
		   if (TypeSet == 2) Type = "BUY";
		   if (ReverseSet ==0) Reverse = False;
		   if (ReverseSet ==1) Reverse = True;
	   }
	   FirstTime=False;
   }

   Today=MathFloor(CurTime()/86400)*86400;
   Cnt=1;
   if (Today!=RefDate) {
	   RefDate=Today;
		   while ( Cnt<(Bars-1) && (Time[Cnt]-TimeZoneOfData*3600>=RefDate) ) {
			   Cnt++;
		   }
		   LastBarOfDay=Cnt;
		   if (DayOfWeek()==1) RefDate=Today-86400*3;
		   else RefDate=Today-86400;
		   while ( Cnt<(Bars-1) && (Time[Cnt]-TimeZoneOfData*3600>=RefDate) ) {
			   Cnt++;
		   }
	   FirstBarOfDay=Cnt-1;
   }

   pre_hi=High[Highest(NULL,0,MODE_HIGH,FirstBarOfDay-LastBarOfDay+1,LastBarOfDay)];
   pre_lo=Low[Lowest(NULL,0,MODE_LOW,FirstBarOfDay-LastBarOfDay+1,LastBarOfDay)];
   myC=Close[LastBarOfDay];

   hi_pass = pre_hi + 0.002 ;
   lo_pass = pre_lo - 0.002 ;
   MP = (((pre_hi - pre_lo) / 2.0) + pre_lo);
   MP = NormalizeDouble(MP,Digits);
   hi_pass = NormalizeDouble(hi_pass,Digits);
   lo_pass = NormalizeDouble(lo_pass,Digits);

   erange = (pre_hi - pre_lo);

   if (erange <= 0.016) 
     r3 = 0.004; 
   else
     r3 = erange * 0.25;

   er_hi = (pre_hi - r3);
   er_lo = (pre_lo + r3);
   erange2= (er_hi - er_lo)*10000.0;

   if (erange <= 0.008) {
	     ObjectDelete("LT80_txt");
	     ObjectCreate("LT80_txt",OBJ_TEXT,0,Time[35],MP);
	     ObjectSetText("LT80_txt","RANGE<80 ",10,"Arial",White);

   }

   ObjectDelete("MP");
   ObjectCreate("MP", OBJ_HLINE,0,Time[25],MP);
   ObjectSetText("MP","MP Range ",8,"Arial",White);
   ObjectSet("MP",OBJPROP_COLOR,Blue);
   ObjectSet("MP",OBJPROP_STYLE,STYLE_DOT);

   ObjectDelete("ER_Hi");
   ObjectCreate("ER_Hi", OBJ_HLINE,0,Time[25],er_hi);
   ObjectSetText("ER_Hi","Below Here BUYZONE ->MP ",8,"Arial",White);
   ObjectSet("ER_Hi",OBJPROP_COLOR,Green);
   ObjectSet("ER_Hi",OBJPROP_STYLE,STYLE_DASH);

   ObjectDelete("ER_Lo");
   ObjectCreate("ER_Lo", OBJ_HLINE,0,Time[25],er_lo);
   ObjectSetText("ER_Lo","Above Here SELLZONE ->MP ",8,"Arial",White);
   ObjectSet("ER_Lo",OBJPROP_COLOR,Red);
   ObjectSet("ER_Lo",OBJPROP_STYLE,STYLE_DASH);

   ObjectDelete("Hi_Pass");
   ObjectCreate("Hi_Pass", OBJ_HLINE,0,Time[25],hi_pass);
   ObjectSetText("Hi_Pass","HiPASS ",8,"Arial",White);
   ObjectSet("Hi_Pass",OBJPROP_COLOR,Green);
   ObjectSet("Hi_Pass",OBJPROP_STYLE,STYLE_DOT);

   ObjectDelete("Lo_Pass");
   ObjectCreate("Lo_Pass", OBJ_HLINE,0,Time[25],lo_pass);
   ObjectSetText("Lo_Pass","LoPASS ",8,"Arial",White);
   ObjectSet("Lo_Pass",OBJPROP_COLOR,Red);
   ObjectSet("Lo_Pass",OBJPROP_STYLE,STYLE_DOT);

   ObjectDelete("Pre_Hi");
   ObjectCreate("Pre_Hi", OBJ_HLINE,0,Time[25],pre_hi);
   ObjectSetText("Pre_Hi","PreHI ",8,"Arial",White);
   ObjectSet("Pre_Hi",OBJPROP_COLOR,Blue);
   ObjectSet("Pre_Hi",OBJPROP_STYLE,STYLE_DASH);

   ObjectDelete("Pre_Lo");
   ObjectCreate("Pre_Lo", OBJ_HLINE,0,Time[25],pre_lo);
   ObjectSetText("Pre_Lo","PreLO ",8,"Arial",White);
   ObjectSet("Pre_Lo",OBJPROP_COLOR,Blue);
   ObjectSet("Pre_Lo",OBJPROP_STYLE,STYLE_DASH);

   if ( (Ask > MP) && (Ask < er_hi) ) { 
      Comment("Entry Price In BUYZONE");
   } else {
      if ( (Bid < MP) && (Bid > er_lo) ) {
         Comment("Entry Price In SELLZONE");
      }
   }

   OpenTrades=0;
   for (Cnt=0; Cnt<OrdersTotal(); Cnt++) {
      if (!OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES)) continue;
	   if ( OrderSymbol()==Symbol() ) {
		   OpenTrades++;
		   if (OrderType()==OP_SELL || OrderType()==OP_BUY)
			   FilledOrders++;
	   }
   }

   Cnt=0;
   i=TimeZoneOfData;
   while (Cnt<=EndHour) {
	   if (i>23) i=0;	
	   myEndHour=i;
	   i++;
	   Cnt++;
   }

   myFridayEndHour=FridayEndHour;

   if ( (Hour()==myEndHour && Minute()>=EndMinute) || (DayOfWeek()==6 && Hour()==myFridayEndHour && Minute()>=EndMinute) ) {

      for (Cnt=OrdersTotal()-1; Cnt>=0; Cnt--) {
         if (!OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES)) continue;
	      if ( OrderSymbol()==Symbol() ) {
		      mode = OrderType();
			   Trades=2;
			   Type="NONE";
			   Reverse=False;
            tr=0; while (tr<5 && !IsTradeAllowed()) { tr++; Sleep(5000); }
 			   if (mode == OP_BUYSTOP)  bres=OrderDelete(OrderTicket());
 		      if (mode == OP_SELLSTOP)  bres=OrderDelete(OrderTicket());
 			   if (mode == OP_BUYLIMIT)  bres=OrderDelete(OrderTicket());
 		      if (mode == OP_SELLLIMIT)  bres=OrderDelete(OrderTicket());
 			   if (mode == OP_BUY)  bres=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); //CloseOrder(ord(cnt,VAL_TICKET),ord(cnt,VAL_LOTS),bid,Slippage,Blue);
 			   if (mode == OP_SELL) bres=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); //CloseOrder(ord(cnt,VAL_TICKET),ord(cnt,VAL_LOTS),ask,Slippage,red);
   		   if (!bres) Print("Error closing or deleting order : ",ErrorDescription(GetLastError())); 
		   }
	   }
   }

   Cnt=0;
   i=TimeZoneOfData;
   while (Cnt<=StartHour) {
	   if (i>23) i=0;	
	   myStartHour=i;
	   i++;
	   Cnt++;
   }

   if (TradeFriday ==1 || DayOfWeek()!=5) {
      if (Hour()==myStartHour && Minute()>=StartMinute) {
	     if (Op

Показано первые 50% кода (символов: 10178)

Как получить полную версию?

Введите ваш email и нажмите кнопку, чтобы перейти к оплате.