Hello mladen , i want to build a simple close ea follow by Bbandsstop .
I wish you can give advise for me and point me out where i have wrong in this code .
Thank you.
Code: Select all
//----- close order By Bbandsstop signal-----
int Bbandsstopclose() {
double trendCurr = iCustom(Symbol(),0,"@BBands stop v3",0,UpBandPrice, LoBandPrice, MA_Length, MA_Mode,Deviation,DeviationLength,MoneyRisk,SignalMode,LineMode,6,shift);
for (int cnt = OrdersTotal()-1 ; cnt >= 0; cnt--) {
if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumberBuy || OrderMagicNumber() == MagicNumberSell))
if (trendCurr ==-1 && OrderType() == OP_BUY) closeAll(OP_BUY);
if (trendCurr ==1 && OrderType() == OP_SELL) closeAll(OP_SELL);
}
}
return(0);
}
void closeAll(int OrdrType) {
double closePrice = 0;
for (int cnt = OrdersTotal()-1 ; cnt >= 0; cnt--) {
if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() != MagicNumberBuy && OrderMagicNumber() != MagicNumberSell && OrderSymbol() == Symbol() && OrderType() == OrdrType) {
for (int retries =0; retries<3; retries++) {
RefreshRates();
{
if((OrderType()==OP_BUY)&&(( OrdrType==0)||( OrdrType==1)))
if (OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)),5*Spread,Blue))
if((OrderType()==OP_SELL)&&(( OrdrType==0)||( OrdrType==-1)))
if (OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),5*Spread,Red))break;
}
}
}
}
}