N7S_AO_772012_L1

Author: Copyright � 2007, Shooter777
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It can change open orders parameters, due to possible stepping strategyIt automatically opens orders when conditions are reached
Indicators Used
Bill Williams Awesome oscillator
1 Views
0 Downloads
0 Favorites

Profitability Reports

AUD/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 125
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -2.63
Gross Profit 0.00
Gross Loss -329.18
Total Net Profit -329.18
-100%
-50%
0%
50%
100%
N7S_AO_772012_L1
//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ//
//Ø                         N7S_AO_194694_0.mq4       v.77.2012                                                 Ø//
//Ø                         Hunter by profit                                                                    Ø//  
//Ø                         Balashiha         S&N@yandex.ru                                                     Ø//  
//Ø                         Version  Desember 20, 2007                                                          Ø// 
//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ//
#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 = 50; 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 = 50; 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 = 50;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 = 50; 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.02;
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);}
//+------------------------------------------------------------------+
//| 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; trl();}} 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;}}
      if(MMH4 !=0){cmH4=true;}
startM1();}
//+ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ+
double BTS()    {
       if (prcptrnz1() > 0 || F==0) 
            {if (prcptx1 > 0 && Delta_G12>0) {sl = slx; tp = tpx*slx; mn= mnx1; return (1);}} 
       if (prcptrnz1() < 0 || F==0) 
            {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]);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){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}}
                               else   {if(prcptY1>0){sl = slY; tp = tpY*slY; mn= mnY1;return (-1);}} 
                         return (BTS());}
               if(G==3){ if(prcptY1>0){sl = slY; tp = tpY*slY; mn= mnY1;return (-1);}           
               else   {return (BTS());}}
               if(G==2){ if(prcptX1>0){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}   
               else   {return (BTS());}}
               if(G==9){ if(prcptX1>0 && bu<HM_Up_X){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}
                         if(prcptY1>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) ;
            prcpty1 = prcptrnAC(y1,y2,y3,y4,py,ty) ;
            prcptX1 = prcptrnAC(X1,X2,X3,X4,pX,tX) ;
            prcptY1 = prcptrnAC(Y1,Y2,Y3,Y4,pY,tY) ;
            prcptZ1 = prcptrnAC(Z1,Z2,Z3,Z4,pZ,tZ) ; }

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---