//+------------------------------------------------------------------+ extern double Lots = 1; extern int StopLoss = 30; extern int TakeProfit = 7; extern int TrailingStop = 5; int LastTotal; datetime LastTime; //+------------------------------------------------------------------+ int init() { return(0); } int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int cnt; double pos1pre,pos2cur,SLoss; pos1pre = iBullsPower(NULL,0,13,PRICE_WEIGHTED,1); pos2cur = iBullsPower(NULL,0,13,PRICE_WEIGHTED,0); if(pos1pre>pos2cur) //çàêðûâàåì äëèííóþ ïîçèöèþ { for(cnt=0; cnt<OrdersTotal(); cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderType()==OP_BUY) // îòêðûòà äëèííàÿ ïîçèöèÿ { if(Bid>(OrderOpenPrice())+TrailingStop*Point) { OrderClose(OrderTicket(),OrderLots(),Bid,3); // çàêðûâàåì ïîçèöèþ return(0); // âûõîäèì } } } } if(pos2cur<0) //çàêðûâàåì êîðîòêóþ ïîçèöèþ { for(cnt=0; cnt<OrdersTotal(); cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(Ask<OrderOpenPrice()-TrailingStop*Point) { if(OrderType()==OP_SELL) // îòêðûòà êîðîòêàÿ ïîçèöèÿ { OrderClose(OrderTicket(),OrderLots(),Ask,3); // çàêðûâàåì ïîçèöèþ return(0); // âûõîäèì } } } } if(OrdersTotal()<LastTotal) LastTime=Time[0]+Period()*60; LastTotal=OrdersTotal(); if(CurTime()<LastTime) return(0); SLoss=0; if(OrdersTotal()<1) // íåò íè îäíîãî îòêðûòîãî îðäåðà ïðîâåðÿåì íà âîçìîæíîñòü âñòàòü â êîðîòêóþ ïîçèöèþ (SELL) { if(pos1pre>pos2cur && pos2cur>0) { if(StopLoss!=0) SLoss=Ask+StopLoss*Point; OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SLoss,Bid-TakeProfit*Point,0,0,CLR_NONE); // Îòêðûâàåì êîðîòêóþ return(0); // âûõîäèì } if(pos2cur<0) { if(StopLoss!=0) SLoss=Bid-StopLoss*Point; OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SLoss,Ask+TakeProfit*Point,0,0,CLR_NONE); // Îòêðûâàåì êîðîòêóþ return(0); // âûõîäèì } } return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Indicator Curves created:
Indicators Used:
Bulls Power indicator
Custom Indicators Used:
Order Management characteristics:
Checks for the total of open orders
It Closes Orders by itself
It automatically opens orders when conditions are reached
Other Features: