Author: Copyright � 2009, ������ �������.
Price Data Components
Series array that contains open time of each bar
Orders Execution
Checks for the total of open ordersIt can change open orders parameters, due to possible stepping strategyIt Closes Orders by itself It automatically opens orders when conditions are reached
Indicators Used
Movement directional index
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
ADXM15
//+------------------------------------------------------------------+
//|
//|                                Copyright © 2009, Ùåðáàê Àëåêñåé. |
//|                                        http://www.metaquotes.net |
//-----------------------------------------------------------------+
#property copyright "Copyright © 2009, Ùåðáàê Àëåêñåé."
#property link      "http://www.metaquotes.net"

extern double    porogadx =58;//îòêðûòèå îðäåðà
extern double    porogadx4=31;//îòêðûòèå îðäåðà
extern double    porogadx1=49;//çàêðûòèå îðäåðà
extern double    porogadx2=99;//çàêðûòèå îðäåðà
extern double    porogadx3=17;//òðèããåð  îðäåðà 
extern double    porog5   =17;//
extern int       stop=1283;//ñòîï ëîñ
extern int       profit=1231;//ïðîôèò
extern double    lot=0.01;
double openord,macdd,taimsign,neotkr,perewor,quw1,dlit,adxh4;
double pribs,diwer2,diwer3,diwer4,maxopenord,minopenord,smaxopenord,sminopenord;
double maxrsi4,kolsel,kolbuy,prom,prom1;
double ordst,ordst1,ordst2,pribys,cen1,cen2,cen3,wers,tim;
int ticket,x,y,kols,trigigrn,trigigrw,colory,sqtaimregr,tiketmin,tiketminbuy,tiketminsel,stox,stox1,ster,signw,alsw,sign,signn,alsn,tol;
double rabstop,urotkr,rabprof,vol,volm,korsel,korbuy,adx5,volmax,prof1,prof2;
double orderstar,maksprof,otstup1,porog,zentr,adx,adxw,adxn,adx1,adxw1,adxn1,adx2,adxw2,adxn2,adx3,adxw3,adxn3,adx4,adxn4,adxw4;

 //__________èíèöèàëèçàöèÿ
 int init()
 {if(OrdersTotal( )!=0){OrderSelect(0,SELECT_BY_POS);tim=NormalizeDouble((TimeCurrent( )-OrderOpenTime( ))/900,0);
 wers=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,0,tim);
 for(y=tim;y>0;y--) 
 {adx  =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,0,y);
 if (MathAbs(wers-adx)>=porogadx3){wers=0;}}
 Alert("Îáíàðóæåí îòêðûòûé îðäåð . âðåìÿ îòêðûòèÿ =",TimeDay(OrderOpenTime( )), " ",TimeHour(OrderOpenTime( )),",",TimeMinute(OrderOpenTime( )),",",TimeSeconds(OrderOpenTime( ))," wers=",wers);
  
 // íîðìàëèçóåì îðäåð ïîä íàøè ñòîïû 
 if (OrderType( )==OP_BUY )
{colory=Blue;
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-stop*Point,Digits),NormalizeDouble(OrderOpenPrice()+profit*Point,Digits),0,colory);}
if (OrderType( )==OP_SELL )
{colory=Red;
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+stop*Point,Digits),NormalizeDouble(OrderOpenPrice()-profit*Point,Digits),0,colory);} 
 }else{Alert("Îòêðûòûé ÎÐäåð íå îáíàðóæåí");}
             
   return(0);}
   
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  // ÌÀÒÅÌÀÒÈ×ÅÑÊÈÉ ÁËÎÊ
  RefreshRates();  
  //Îïðåäåëåíèå âîçìîæíîñòè âõîäà 
   adxh4  = iADX(NULL,PERIOD_H4,14,PRICE_CLOSE,0,0);
   adx  =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,0,0);
   adxw =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,1,0);
   adxn =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,2,0);
   adx1 =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,0,1);
   adxw1=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,1,1);
   adxn1=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,2,1);
   adx2 =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,0,2);
   adxw2=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,1,2);
   adxn2=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,2,2);
   adx3 =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,0,3);
   adxw3=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,1,3);
   adxn3=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,2,3);
   adx4 =iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,0,4);
   adxw4=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,1,4);
   adxn4=iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,2,4);
   if (adx-porogadx4>0 && adx-porogadx<0 && adx1-adx<0 && adx2-adx1>0 && adx4-adx3>0 && adx3-adx2>0 && OrdersTotal( )==0){wers=adx;
   Print("ïðîøëî íîðìàëüíî");if(adxn-adxw>0  && adxh4-porog5>0){otkrniz ();}
                             if(adxw-adxn>0  && adxh4-porog5>0){otkrverx();}}
    if (adx-porogadx4>0 && adx-porogadx<0 && adx1-adx>0 && adx2-adx1<0 && adx4-adx3<0 && adx3-adx2<0){
                             if(adxn-adxw>0){signw=1;alsw=0;}else{sign=0;Alert("äëèëñÿ ",TimeCurrent()-dlit," ñåêóíä  wers=",MathAbs(wers-adx));tol=0;}
                             if(adxw-adxn>0){signn=1;alsn=0;}else{sign=0;Alert("äëèëñÿ ",TimeCurrent()-dlit," ñåêóíä  wers=",MathAbs(wers-adx));tol=0;}} 
                             if(signw==1 && alsw==0){Alert("Ñèãíàë îòêðûòèÿ ââåðõ",Close[0]);alsw=1;dlit=TimeCurrent( );tol= 1;}
                             if(signn==1 && alsn==0){Alert("Cèãíàë îòêðûòèÿ âíèç ",Close[0]);alsn=1;dlit=TimeCurrent( );tol=-1;}
      
 ObjectCreate ("wers", OBJ_TEXT, 0,iTime(NULL,PERIOD_M15,0),WindowPriceMax(0)-0.0045);
 ObjectSetText("wers",DoubleToStr(wers,0),20,"Times New Roman",Red);//ÏÅ×ÀÒÀÅÌ ÂÅÐÑ
 ObjectMove   ("wers",0,iTime(NULL,PERIOD_M15,0),WindowPriceMax(0)-0.0045);                                                
    if (MathAbs(wers-adx)>=porogadx3){wers=0;}
    if (OrdersTotal( )==0){wers=0;}                          
 // ÄÈÑÏÅÒ×ÅÐ ÎÐÄÅÐÎÂ
  if(!IsTesting() && !IsConnected()){return(0);}// âîçâðàò åñëè íåòó ñâÿçè
  //Print("ÎÒÊÐÛÒÎ ",x," ÎÐÄÅÐÎÂ");  
  for(x=OrdersTotal( );x>0;x--)
  {if (OrdersTotal( )>0) {if (OrderSelect(x-1, SELECT_BY_POS,MODE_TRADES)==false)
                 {continue;}
              if (OrderSymbol( )!=Symbol( )){ continue;}
              else  {  ticket=OrderTicket( );}}
    obrabotka(); }      
                 return(0);}
 void obrabotka(){                                             
 if (adx-porogadx2<0 && adx-porogadx1>0 && adx-adx1>0 && wers==0){                            

  //Çàêðîåì îòêðûòûå îðäåðàwers
  
  if(OrderType( )==OP_SELL && adxn1-adxn>0)
  {colory=Red;OrderClose(ticket,OrderLots(),NormalizeDouble(Ask,Digits),3 ,colory);}
  if(OrderType( )==OP_BUY  && adxw1-adxw>0)
  {colory=Blue;OrderClose(ticket,OrderLots(),NormalizeDouble(Bid,Digits),3 ,colory);}}
                              
   return(0);}    
  
 //ïîäïðîãðàììà îòêðûâàòåëü îðäåðà
void otkrverx()
{RefreshRates();colory=MediumBlue;ticket=OrderSend(Symbol(),OP_BUY,lot,NormalizeDouble(Ask,Digits),3,NormalizeDouble(Bid-stop*Point,Digits),NormalizeDouble(Ask+profit*Point,Digits),"My order #",16384,7,colory);
 Alert(ticket);analiz();}
void otkrniz()
{RefreshRates();colory=Red;ticket=OrderSend(Symbol(),OP_SELL,lot,NormalizeDouble(Bid,Digits),3,NormalizeDouble(Ask+stop*Point,Digits),NormalizeDouble(Bid-profit*Point,Digits),"My order #",16384,7,colory);
  Alert(ticket);analiz();
  }
  void analiz()
 {if (ticket==-1)
  {Print("îøèáêà=",GetLastError());}}

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 ---