//+------------------------------------------------------------------+
//| 222.mq4 |
//| Masha |
//| |
//+------------------------------------------------------------------+
#property copyright "Masha"
#property link ""
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
extern double lot = 0.01;
extern int profit = 180;
double price,val,val1,tempval,tempval1;
int digit,res,i;
int bar=10;
int start()
{
//----
if (Fractal(bar)>0)
{
if (OrdersTotal()>0)
{
for (i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS)==true)
{
RefreshRates();
if (OrderType()==OP_BUY)
{
price=MarketInfo(OrderSymbol(), MODE_BID);
digit=MarketInfo(OrderSymbol(), MODE_DIGITS);
res=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(price,digit),3);
}
}
}
}
if ( tempval!=val)
{
if (OrdersTotal()==0)
{
OrderSend(Symbol(),OP_SELL,lot,Bid,3,val,Ask-profit*Point);
tempval=val;
}
}
}
if (Fractal(bar)<0)
{
if (OrdersTotal()>0)
{
for (i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS)==true)
{
RefreshRates();
if (OrderType()==OP_SELL)
{
price=MarketInfo(OrderSymbol(), MODE_ASK);
digit=MarketInfo(OrderSymbol(), MODE_DIGITS);
res=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(price,digit),3);
}
}
}
}
if ( tempval1!=val1)
{
if (OrdersTotal()==0)
{
OrderSend(Symbol(),OP_BUY,lot,Ask,3,val1,Bid+profit*Point);
tempval1=val1;
}
}
}
//----
return(0);
}
//====================================================================
int Fractal( int bar)
{
for(int i=0; i<=bar;i++)
{
val=iFractals(NULL, 0, MODE_UPPER, i);
val1=iFractals(NULL, 0, MODE_LOWER, i);
if (val>0) return(1);
else if(val1>0)return(-1);
}
return(0);
}