Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
e-Skoch_Zakritie_KagBar
//+------------------------------------------------------------------+
//| e-Skoch_Zakritie_KagBar.mq4 |
//| Copyright © 2011, Skoch. |
//| http://www.fxgeneral.com |
//| http://fxgeneral.com/forum/index.php?showtopic=254&st=0 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Skoch."
#property link "http://www.fxgeneral.com"
extern int _magic = 1000;
extern string _timeStart = "00:00";
extern string _timeStop = "23:59";
datetime _lastBar;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
datetime _endTrade, _startTrade;
_startTrade=StrToTime(_timeStart);
_endTrade=StrToTime(_timeStop);
if (_endTrade<_startTrade){
Alert("Íåâåðíî óêàçàíî âðåìÿ íà÷àëà è îêîí÷àíèÿ òîðãîâ! Òîðãîâëÿ çàïðåùåíà!");
return;
}
bool _tradeAllowed=(TimeCurrent()>_startTrade && TimeCurrent()<_endTrade);
if (!_tradeAllowed){
Comment("Òîðãîâëÿ çàïðåùåíà!" + "\n FXGeneral.com");
return;
}
//----
if (_lastBar==Time[0]) return;//if (Volume[0]>1) return;
if (OrdersTotal()>0) _OrdersClose();
//----
_lastBar=Time[0];
return(0);
}
//+------------------------------------------------------------------+
void _OrdersClose(){
int i;
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if (OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==_magic) {
while (IsTradeContextBusy()) Sleep(1000);
RefreshRates();
OrderClose(OrderTicket(),OrderLots(),Bid,5,Green);
}
if (OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==_magic){
while(IsTradeContextBusy()) Sleep(1000);
RefreshRates();
OrderClose(OrderTicket(),OrderLots(),Ask,5,Red);
}
}
}
return;
}
//+------------------------------------------------------------------+
Comments