//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ//
//Ø                         N7S_AO_194694_0.mq4       v.77.2012                                                 Ø//
//Ø                         Hunter by profit                                                                    Ø//  
//Ø                         Balashiha         S&N@yandex.ru                                                     Ø//  
//Ø                         Version  Desember 20, 2007                                                          Ø// 
//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ//
//L2 âåðñèÿ ñ ÷åòêèì ðàçäåëåíèåì Buy & Sell
#property copyright "Copyright © 2007, Shooter777"
#property link      "S7N@mail.ru"
#include <WinUser32.mqh>
#include <stderror.mqh>
#include <stdlib.mqh>
//------------------------------------------------------------------//
int    HM_ALL     = 2;          //          
int    Trade      = 1;          //
//------------------------------------------------------------------//
extern bool   Trd_Up_X = true;  int           HM_Up_X    = 1;   //   
//------------------------------------------------------------------//
//extern
double tpx = 5;
extern double slx = 50; extern int px  = 10;
extern int x1  = 0;extern int x2  = 0;extern int x3  = 0;extern int x4  = 0;int tx  = 0;
//------------------------------------------------------------------//
extern bool   Trd_Dn_Y = true;  int           HM_Dn_Y    = 1;   //        
//------------------------------------------------------------------//
//extern
double  tpy = 5; extern double sly = 50;extern int py  = 10;
extern int  y1  = 0;extern int y2  = 0;extern int y3  = 0;extern int y4  = 0; int ty  = 0;
//------------------------------------------------------------------//
extern string       Text0="BTS  F=1";
extern int F   = 1; extern int pz  = 10;
extern int z1  = 0; extern int z2  = 0; extern int z3  = 0; extern int z4  = 0; int tz  = 0;
//------------------------------------------------------------------//
//------------------------------------------------------------------//
extern string Text1="Neyro  G=4";extern int G   = 4; extern string Text2="XXXXXXXXXXXXX";
//extern
double tpX = 5; extern double slX = 50;extern int pX  = 10;
extern int X1  = 0;extern int X2  = 0;extern int X3  = 0;extern int X4  = 0;int tX  = 0;
//------------------------------------------------------------------//
extern string  Text3="YYYYYYYYYYYYY";
//extern
double tpY = 5; extern double slY = 50;extern int pY  = 10;
extern int Y1  = 0; extern int Y2  = 0; extern int Y3  = 0; extern int Y4  = 0; int tY  = 0;
//------------------------------------------------------------------//
extern string Text4="ZZZZZZZZZZZZ";extern int pZ  = 10;
extern int Z1  = 0;extern int Z2  = 0;extern int Z3  = 0;extern int Z4  = 0;int tZ  = 0;
//------------------------------------------------------------------//
double       lots = 0.1;
int mn;int mnx1 = 772012055;int mny1 = 772012155;int mnX1 = 772012011;int mnY1 = 772012111;
static int prvtm = 0;static double sl = 10;static double tp = 10;
bool cm15=false; bool cmH1=false; bool cmH4=false;
int MMH1 ;int MN   ;
static int bu,sll;
int i;int ticket = -1;int total;int spread;
datetime LFB;
double prcptx1=0,prcpty1=0,prcptX1=0,prcptY1=0,prcptZ1=0;
static double       Delta_G12 ;
//+------------------------------------------------------------------+
//| expert init function                                             |
//+------------------------------------------------------------------+
int init(){MMH1 = Hour( );LFB  = iTime(Symbol(), 0, 0); H1();
Delta_G12 = iAO(NULL, 240, 1)-iAO(NULL, 240, 2);GlobalVariableSet("Delta_G12_L3 ",Delta_G12);}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{     total = OrdersTotal();spread = MarketInfo(Symbol(), MODE_SPREAD);
      int iTm = iTime(Symbol(), 0, 0);if(LFB == iTm) return(0); LFB  = iTime(Symbol(), 0, 0); 
      int MMM15 = MathMod(Minute( ) , 15);
      if(cm15) {if(MMM15 == 0 ) {cm15 =false; GlobalVariableSet("Buy_L3 ",bu);GlobalVariableSet("Sell_L3 ",sll);}} if(MMM15 !=0){cm15=true;}
      if(Hour() != MMH1)  {MMH1 = Hour( ); H1();}
      int MMH4 = MathMod(Hour( ) , 4);
      if(cmH4) {if(MMH4 == 0 ) {cmH4 =false; //Print ("H4");
        double       iCusAO_1     =  iAO(NULL, 240, 1);
        double       iCusAO_2     =  iAO(NULL, 240, 2);
                     Delta_G12    =  iCusAO_1 -iCusAO_2;GlobalVariableSet("Delta_G12_L3 ",Delta_G12); }}
      if(MMH4 !=0){cmH4=true;}
trl();      
startM1();}
//+ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ+
double BTS()    {
       if ((prcptrnz1() > 0 || F==0)&& bu<HM_Up_X) 
            {if (prcptx1 > 0 && Delta_G12>0) {sl = slx; tp = tpx*slx; mn= mnx1; return (1);}} 
       if ((prcptrnz1() < 0 || F==0)&& sll<HM_Dn_Y) 
            {if (prcpty1 > 0 && Delta_G12<0) {sl = sly; tp = tpy*sly; mn= mny1 ;return (-1);}}
      return (0);}
//+--------------------------------------------------------------------------------------+
double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at) 
  {double qw = ((q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(0));
   if (MathAbs(qw)>at) return(qw);else return(0);}
//+--------------------------------------------------------------------------------------+
double iA_C (int pr){int tmfr=60; return(iAO(Symbol(), tmfr, pr));}
//+--------------------------------------------------------------------------------------+
void BuSll ( int pl, int OrdTp, int mgnmb) // pl-èñòî÷íèê 0-äåéñòâóþùèå 1- çàêðûòûå  //  OrdTp=òèï îðäåðà 1-ðûíî÷íûå(0è1)  3-LIMIT(2è3)  5-STOP(4è5)
      { switch(pl)
            {case 0: bu=0; sll=0; int ChTpBu,ChTpSll; // Print (" OrdTp  ",OrdTp);            // âûáðàí ïîäñ÷åò B&S  ðûíî÷íûõ îðäåðîâ 
               switch(OrdTp)
                  {case 1:  ChTpBu=OP_BUY;     ChTpSll =OP_SELL;      break;
                   case 3:  ChTpBu=OP_BUYSTOP; ChTpSll =OP_SELLSTOP;  break;
                   case 5:  ChTpBu=OP_BUYLIMIT;ChTpSll =OP_SELLLIMIT; break;}
               for(int  i=0;i<OrdersTotal();i++)
                  {OrderSelect(i, SELECT_BY_POS, MODE_TRADES); int OMN=OrderMagicNumber();
                   if(OrderType()==ChTpBu  &&(OMN>=mgnmb && OMN<=mgnmb+99)){ bu++;}
                   if(OrderType()==ChTpSll &&(OMN>=mgnmb+100 && OMN<=mgnmb+199)){sll++;}
                   }break; 
              case 1:  int pstv=0, ngtv=0;                              // âûáðàí àíàëèç èñòîðèè 
                  Print ("Ïîäñ÷åò îðäåðîâ â èñòîðèè"); break;}}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double prcptrnz1()   {double qz =(z1-50)*(Close[0]-Open[pz])+(z2-50)*(Open[pz]-Open[pz*2])
                     +(z3-50)*(Open[pz*2]-Open[pz*3])+(z4-50)*(Open[pz*3]-Open[pz*4]);GlobalVariableSet("prcptrnz1_L3 ",qz);return(qz);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void trl(){
      total= OrdersTotal(); spread = MarketInfo(Symbol(), MODE_SPREAD);
  for(  i = total - 1; i >= 0; i--) 
     { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); MN=OrderMagicNumber();
       if(OrderSymbol() == Symbol() && MN>= 772012000 && MN<=772012199) 
         {  if (MN==772012055) {sl = slx; tp = tpx*slx; mn= mnx1;}
            if (MN==772012155) {sl = sly; tp = tpy*sly; mn= mny1;}
            if (MN==772012011) {sl = slX; tp = tpX*slX; mn= mnX1;}
            if (MN==772012111) {sl = slY; tp = tpY*slY; mn= mnY1;}
         
           int prevticket = OrderTicket();if(OrderType() == OP_BUY) 
             {if(DayOfWeek( ) == 5 && Hour( ) >=22)  { OrderClose(prevticket,OrderLots( ) ,Bid,3,Red);} 
              if(Bid > (OrderStopLoss() + (sl * 2  + spread) * Point)) 
                 { if(BTS()< 0) { OrderClose(prevticket,OrderLots( ) ,Bid,3,Red);} 
                   else { OrderModify(OrderTicket(), OrderOpenPrice(), Bid - sl * Point,0, 0, Blue);}}} 
           else {if(DayOfWeek( ) == 5 && Hour( ) >=22) { OrderClose(prevticket,OrderLots( ) ,Ask,3,Blue);} 
                  if(Ask < (OrderStopLoss() - (sl * 2 + spread) * Point)) 
                     {if(BTS() > 0) 
                           { OrderClose(prevticket,OrderLots( ) ,Ask,3,Blue);} 
                     else{ OrderModify(OrderTicket(), OrderOpenPrice(), Ask + sl * Point, 0, 0, Blue);}}}
          return(0);}}}
//+ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ+ 
void startM1() {ticket = -1;RefreshRates();
      if (total < HM_ALL) { BuSll (0,1,772012000); 
      if( !(DayOfWeek( ) == 1 && Hour( ) <2) && !(DayOfWeek( ) == 5 && Hour( ) >=18))
         {if (Trd_Up_X && VSR() > 0 && bu<HM_Up_X)  { 
            OrderSend(Symbol(), OP_BUY, lots, Ask, 1, Bid - sl * Point, Bid + tp * Point, WindowExpertName(), mn, 0, Blue); }
          if (Trd_Dn_Y && VSR() < 0  && sll<HM_Dn_Y) { 
            OrderSend(Symbol(), OP_SELL, lots, Bid, 1, Ask + sl * Point, Ask - tp * Point, WindowExpertName(), mn, 0, Red); }
}}}
double VSR() { if(G==4){ if(prcptZ1>0){if(prcptX1>0 && Delta_G12>0){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}}
                               else   {if(prcptY1>0 && Delta_G12<0){sl = slY; tp = tpY*slY; mn= mnY1;return (-1);}} 
                         return (BTS());}
               if(G==3){ if(prcptY1>0 && Delta_G12<0){sl = slY; tp = tpY*slY; mn= mnY1;return (-1);}           
               else   {return (BTS());}}
               if(G==2){ if(prcptX1>0 && Delta_G12>0){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}   
               else   {return (BTS());}}
               if(G==9){ if(prcptX1>0 && Delta_G12>0 && bu<HM_Up_X){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}
                         if(prcptY1>0 && Delta_G12<0 && sll<HM_Dn_Y){sl = slY; tp = tpY*slY; mn= mnY1;return (-1);} 
                         return (BTS());}
 return (BTS());}
void H1() { prcptx1 = prcptrnAC(x1,x2,x3,x4,px,tx) ; GlobalVariableSet("prcptx1_L3 ",prcptx1);
            prcpty1 = prcptrnAC(y1,y2,y3,y4,py,ty) ; GlobalVariableSet("prcpty1_L3 ",prcpty1);
            prcptX1 = prcptrnAC(X1,X2,X3,X4,pX,tX) ; GlobalVariableSet("prcptX1_L3 ",prcptX1);
            prcptY1 = prcptrnAC(Y1,Y2,Y3,Y4,pY,tY) ; GlobalVariableSet("prcptY1_L3 ",prcptY1);
            prcptZ1 = prcptrnAC(Z1,Z2,Z3,Z4,pZ,tZ) ; GlobalVariableSet("prcptZ1_L3 ",prcptZ1);}
             
            
Comments