Author: Evgeny I. SHCHERBINA
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reached
0 Views
0 Downloads
0 Favorites
hedger
#property copyright "Evgeny I. SHCHERBINA"
//hedger_vX.mq4
//17.12.2011

extern string comment;     //Ïåðâàÿ ÷àñòü êîììåíòàðèÿ, ëèáî áåç êîììåíòàðèÿ äëÿ îòñëåæèâàíèÿ âñåõ ñäåëîê
extern int drawdown = 20;  //Ïðîñàäêà â ïóíêòàõ ïðèáûëè
extern int step = 10;      //Âîçâðàò õåäæåâîé ñäåëêè â ïóíêòàõ ïðèáûëè

int init(){}

int start(){
  bool hb, hs;
  int i, j, ti;
  for(i=0; i<OrdersTotal(); i++){//Ñíà÷àëà ïåðåáðàòü è íàéòè óæå îòêðûòûå ñäåëêè õåäæåðà
    OrderSelect(i,SELECT_BY_POS);
    if(OrderSymbol() == Symbol()){
      if(OrderComment() == "hedger_sell"){
        hs = true;
        if(OrderProfit()/10 < -step){OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);}
      }else if(OrderComment() == "hedger_buy"){
        hb = true;
        if(OrderProfit()/10 < -step){OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);}
      }
    }
  }
  for(j=0; j<OrdersTotal(); j++){//Îòêðûâàòü õåäæ, òîëüêî åñëè õåäæà â ýòîì íàïðàâëåíèè è ïî ýòîìó èíñòðóìåíòó åùå íåò
    OrderSelect(j,SELECT_BY_POS);
    if(OrderSymbol() == Symbol() && OrderProfit()/10 < -drawdown){//Ïðîäâèãàåìñÿ, òîëüêî åñëè ïðîñàäêà ïðåâûøàåò çàäàííûé óðîâåíü
      if((comment != "" && StringFind(OrderComment(),comment,0) != -1) || (comment == "")){
        if(OrderType() == OP_BUY && !hs){OrderSend(Symbol(),OP_SELL,OrderLots(),NormalizeDouble(Bid,Digits),3,0,0,"hedger_sell",0,0,Red);}
        else if(OrderType() == OP_SELL && !hb){OrderSend(Symbol(),OP_BUY,OrderLots(),NormalizeDouble(Ask,Digits),3,0,0,"hedger_buy",0,0,Green);}
      }
    }
  }      
  if(comment == ""){comments("line1",5,15,StringConcatenate("Êîììåíò: íåò êîììåíòà; ïðîñàäêà: ",drawdown),Gold);}
  else{comments("line1",5,15,StringConcatenate("Êîììåíò: ",comment,"; ïðîñàäêà: ",drawdown),Gold);}
}
    
void comments(string name, int x, int y, string texto, color couleur){
  if(ObjectFind(name) == -1){ObjectCreate(name,OBJ_LABEL,0,0,0);}
  ObjectSet(name,OBJPROP_XDISTANCE,x);
  ObjectSet(name,OBJPROP_YDISTANCE,y);
  ObjectSet(name,OBJPROP_CORNER,1);
  ObjectSetText(name,texto,10,"Times New Roman",couleur);
}

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