// Developed by www.forex-tsd.com // Idea from John Taylor // v.2.0 #include #define MySuperMagic 111020051110 extern int StartHour = 8; extern int EndHour = 20; extern double Lots = 0.1; double LastBarChecked; int init() { //---- LastBarChecked = Time[0]; //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //| expert start function | //+------------------------------------------------------------------+ int start() { string cm = "Volume "; if (Period() == 1) cm = cm + "1M"; if (Period() == 5) cm = cm + "5M"; if (Period() == 15) cm = cm + "15M"; if (Period() == 30) cm = cm + "30M"; if (Period() == 60) cm = cm + "1H"; if (Period() == 240) cm = cm + "4H"; if (Period() == 1440) cm = cm + "1D"; if (Period() == 10080) cm = cm + "1W"; if (Period() == 43200) cm = cm + "1M"; cm = cm + " - "; cm = cm + TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS); int EAMagic = MySuperMagic + Period(); //------------------------------------------------------------------------------------------------ bool doShort = false; bool doLong = false; bool hourValid = (Hour() >= StartHour) && (Hour() <= EndHour); if ( (Volume[1] < Volume[2]) && hourValid ) { doLong = true; Comment("Up trend"); } if ( (Volume[1] > Volume[2]) && hourValid ) { doShort = true; Comment("Down trend"); } if ( Volume[1] == Volume[2] ) { Comment("No trend..."); } if(LastBarChecked != Time[0]) { int cnt = 0; while (cnt Volume[2] ) { OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,cm,EAMagic,0,Red); } } LastBarChecked = Time[0]; } return(0); } //+------------------------------------------------------------------+