Sessions_v3

Orders Execution
It automatically opens orders when conditions are reached
Indicators Used
Indicator of the average true range
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
Sessions_v3
//+-----------------------------------------------------------------------------------------------+
//| HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH |
//| HH \    \                     ÑÀÌÛÉ ÊÐÓÒÎÉ ÒÎÐÃÎÂÛÉ ÐÎÁÎÒ                           /    / HH |
//| HH  )----)-------------------------------------------------------------------------(----(  HH |
//| HH /    /        Æàëîáû è ïðåäëîäåíèÿ îòïðàâëÿéòå íà:  sheverdinpavel@mail.ru       \    \ HH |
//| HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH |
//+-----------------------------------------------------------------------------------------------+

//------------------------------------------------------------------------------------------------+
//                                ÃËÎÁÀËÜÍÛÅ È ÂÍÅØÍÈÅ ÏÅÐÅÌÅÍÍÛÅ                                 |
//------------------------------------------------------------------------------------------------+
extern bool    Kapital   =false;                            //Âûêëþ÷àòåëü óïðàâëåíèÿ êàïèòàëîì
extern int     Risk      =5,                                //Ïðîöåíò ðèñêà íà ñäåëêó
               P_ATR     =21;                               //Ïåðèîä ATR
extern double  Profit    =0.0015;
//------------------------------------------------------------------------------------------------+
int            DAY0,
               DAY1,
               DAY2,
               DAY3,
               DAY4,
               DAY5,
               order_id_0,
               order_id_1,
               order_id_2,
               order_id_3,
               order_id_4,
               order_id_5;
double         Stop_min,                                    //Ðàçðåøåííûé óðîâåíü ñòîïîâ
               Pips,
               AL, AH, EL, EH, UL, UH;
datetime       Tm_O;                                        //Âðåìÿ îòêðûòèÿ òåêóùåé ïîçèöèè
//------------------------------------------------------------------------------------------------+
int init(){
     Pips=MarketInfo(Symbol(),17);
     if(!IsTesting() && IsExpertEnabled())   Alert("Ñîâåòíèê óñïåøíî óñòàíîâëåí.");
     if(!IsTesting() && !IsExpertEnabled())  Alert("Âíèìàíèå! îòæàòà êíîïêà íà âêëàäêå ñîâåòíèêè!");
     if(IsTesting())                         Print("ÍÀ×ÀËÎ ÍÎÂÎÃÎ ÒÅÑÒÈÐÎÂÀÍÈß.");
return;}
//------------------------------------------------------------------------------------------------+
int deinit(){
     if(!IsTesting())                        Alert("Ñîâåòíèê çàâåðøèë ðàáîòó.");
     if(IsTesting())                         Print("ÒÅÑÒÈÐÎÂÀÍÈÅ ÇÀÂÅÐØÅÍÎ.");
return;}
//------------------------------------------------------------------------------------------------+

//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
int start(){
     Stop_min=MathPow(10,-Digits) * MarketInfo(Symbol(),14);
//------------------------------------------------------------------------------------------------+
     if(TimeHour(Time[0]) == 10 && !(DAY0 == Day())){
     AL=MathMin( MathMin(MathMin(Low [1],Low [2]),MathMin(Low [3],Low [4])),
                 MathMin(MathMin(Low [5],Low [6]),MathMin(Low [7],Low [8])));
     OrderDelete(order_id_0);
     order_id_0=OrderSend(Symbol(),OP_SELLSTOP,Lots(SL_S(AL-Pips),AL-Pips),AL-Pips,3,SL_S(AL-Pips),TP_S(AL-Pips),NULL,0,0,Red  );
     DAY0 = Day();
                 }
//------------------------------------------------------------------------------------------------+
     if(TimeHour(Time[0]) == 10 && !(DAY1 == Day())){
     AH=MathMax( MathMax(MathMax(High[1],High[2]),MathMax(High[3],High[4])),
                 MathMax(MathMax(High[5],High[6]),MathMax(High[7],High[8])));
     OrderDelete(order_id_1);
     order_id_1=OrderSend(Symbol(),OP_BUYSTOP ,Lots(SL_B(AH+Pips),AH+Pips),AH+Pips,3,SL_B(AH+Pips),TP_B(AH+Pips),NULL,0,0,Green);
     DAY1 = Day();
                 }
//------------------------------------------------------------------------------------------------+
     if(TimeHour(Time[0]) == 16 && !(DAY2 == Day())){
     EL=MathMin( MathMin(MathMin(Low [1],Low [2]),MathMin(Low [3],Low [4])),
                 MathMin(MathMin(Low [5],Low [6]),MathMin(Low [7],Low [8])));
     OrderDelete(order_id_2);
     order_id_2=OrderSend(Symbol(),OP_SELLSTOP,Lots(SL_S(EL-Pips),EL-Pips),EL-Pips,3,SL_S(EL-Pips),TP_S(EL-Pips),NULL,0,0,Red  );
     DAY2 = Day();
                 }
//------------------------------------------------------------------------------------------------+
     if(TimeHour(Time[0]) == 16 && !(DAY3 == Day())){
     EH=MathMax( MathMax(MathMax(High[1],High[2]),MathMax(High[3],High[4])),
                 MathMax(MathMax(High[5],High[6]),MathMax(High[7],High[8])));
     OrderDelete(order_id_3);
     order_id_3=OrderSend(Symbol(),OP_BUYSTOP ,Lots(SL_B(EH+Pips),EH+Pips),EH+Pips,3,SL_B(EH+Pips),TP_B(EH+Pips),NULL,0,0,Green);
     DAY3 = Day();
                 }
//------------------------------------------------------------------------------------------------+
     if(TimeHour(Time[0]) == 23 && !(DAY4 == Day())){
     UL=MathMin( MathMin(MathMin(Low [1],Low [2]),MathMin(Low [3],Low [4])),
                 MathMin(MathMin(Low [5],Low [6]),MathMin(Low [7],Low [8])));
     OrderDelete(order_id_0);
     order_id_0=OrderSend(Symbol(),OP_SELLSTOP,Lots(SL_S(UL-Pips),UL-Pips),UL-Pips,3,SL_S(UL-Pips),TP_S(UL-Pips),NULL,0,0,Red  );
     DAY4 = Day();
                 }
//------------------------------------------------------------------------------------------------+
     if(TimeHour(Time[0]) == 23 && !(DAY5 == Day())){
     UH=MathMax( MathMax(MathMax(High[1],High[2]),MathMax(High[3],High[4])),
                 MathMax(MathMax(High[5],High[6]),MathMax(High[7],High[8])));
     OrderDelete(order_id_1);
     order_id_1=OrderSend(Symbol(),OP_BUYSTOP ,Lots(SL_B(UH+Pips),UH+Pips),UH+Pips,3,SL_B(UH+Pips),TP_B(UH+Pips),NULL,0,0,Green);
     DAY5 = Day();
                 }
//------------------------------------------------------------------------------------------------+
return;}
//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

//------------------------------------------------------------------------------------------------+
//                                ÔÓÍÊÖÈÈ ÐÀÑ×ÅÒÀ ÒÎÐÃÎÂÛÕ ÓÐÎÂÍÅÉ                                |
//------------------------------------------------------------------------------------------------+
double SL_B(double P){
     double A=P-4*iATR(NULL,0,P_ATR,1);
     double B=P-Stop_min;
     if(A > B)
return(B);
     else     
return(A);}
//------------------------------------------------------------------------------------------------+
double SL_S(double P){
     double A=P+4*iATR(NULL,0,P_ATR,1);
     double B=P+Stop_min;
     if(A < B)
return(B);
     else     
return(A);}
//------------------------------------------------------------------------------------------------+
double TP_B(double P){
     double A=P+Profit;
return(A);}
//------------------------------------------------------------------------------------------------+
double TP_S(double P){
     double A=P-Profit;
return(A);}
//------------------------------------------------------------------------------------------------+
//                                ÔÓÍÊÖÈß ÐÀÑ×ÅÒÀ ÐÀÇÌÅÐÀ ÏÎÇÈÖÈÈ                                 |
//------------------------------------------------------------------------------------------------+
double Lots(double sl, double pr){
     double A;
     if(Kapital)
     A=MarketInfo(Symbol(),24)*MathCeil(
      (MarketInfo(Symbol(),17)*AccountBalance()*Risk)/
      (MarketInfo(Symbol(),16)*MarketInfo(Symbol(),24)*MathAbs(sl-pr)*100));
     else
     A=0.05;
     if(A < MarketInfo(Symbol(),23))
     Alert("Ñëèøêîì ìàëåíüêèé ëîò. Lots = ",A);
return(A);}
//------------------------------------------------------------------------------------------------+
//                                ÔÓÍÊÖÈß ÎÁÐÀÁÎÒÊÈ ÎØÈÁÎÊ                                        |
//------------------------------------------------------------------------------------------------+
/*int ERROR(){
     int error = GetLastError();
     switch(error){
     case 2:   Alert("Îáùàÿ îøèáêà.");                                           break;
     case 4:   Alert("Òîðãîâûé ñåðâåð çàíÿò. Ïðîáóåì åù¸ ðàç.."); Sleep(3000);   break;
     case 64:  Alert("Ñ÷åò çàáëîêèðîâàí.");                                      break;
     case 133: Alert("Òîðãîâëÿ çàïðåùåíà");                                      break;
     case 137: Alert("Áðîêåð çàíÿò. Ïðîáóåì åù¸ ðàç..");          Sleep(3000);   break;
     case 139: Alert("Îðäåð çàáëîêèðîâàí è óæå îáðàáàòûâàåòñÿ");                 break;
     case 145: Alert("Ìîäèôèêàöèÿ çàïðåùåíà. ","Îðäåð ñëèøêîì áëèçîê ê ðûíêó");  break;
     case 146: Alert("Ïîäñèñòåìà òîðãîâëè çàíÿòà. Ïðîáóåì åù¸..");Sleep(500);    break;
     default:  Alert("Âîçíèêëà îøèáêà ¹",error);}
return;}*/
//                       +---------------------------------------------+
//                       | HHHHHH HH  HH HHHHH     HHHHH HH   HH HHHH  |
//                       | H HH H HH  HH HH        HH    HHH  HH HH HH |
//                       |   HH   HHHHHH HHHHH     HHHHH HH H HH HH HH |
//                       |   HH   HH  HH HH        HH    HH  HHH HH HH |
//                       |   HH   HH  HH HHHHH     HHHHH HH   HH HHHH  |
//                       +---------------------------------------------+

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