Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
V5_MA_MACD
#define MagicNum1 65
#define MagicNum2 66
#define MagicNum3 67
#define MagicNum4 68
double TakeProfit = 40;
extern double Lots = 0.1;
extern double LotsDOL = 0.2;
double Osn = 9;
double Sig = 26;
double Sig2 = 52;
double Xs = 9;
double Xs2 = 10;
double Regul = 11;
double LMA1 = 0.00023;
double LMA2 = -0.00023;
double MA1;
double MA2;
double MA3;
double MA4;
double MA5;
double MA6;
int ticket=0;
int US1=0;
int SLD1=23;
int TPD1=39;
int AA=5;
int AB=7;
int AC=7;
int AD1=21;
int AD2=27;
int AD=13;
int AF=2;
int AG=26;
int AE=32;
double XX=1.95;
int XD=40;
int XF=8;
int SS=41;
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious;
int start()
{
int cnt, ticket, total;
MA1=iMA(NULL,0,Osn,0,MODE_SMA,PRICE_CLOSE,0);
MA2=iMA(NULL,0,Sig,0,MODE_SMMA,PRICE_CLOSE,0);
MA3=iMA(NULL,0,Xs,0,MODE_EMA,PRICE_CLOSE,0);
MA4=iMA(NULL,0,Xs2,0,MODE_SMA,PRICE_CLOSE,0);
MA5=iMA(NULL,0,Regul,0,MODE_SMA,PRICE_CLOSE,0);
MA6=iMA(NULL,0,Sig2,0,MODE_SMMA,PRICE_CLOSE,0);
MacdCurrent=iMACD(NULL,0,9,26,24,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,9,26,24,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,9,26,24,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,9,26,24,PRICE_CLOSE,MODE_SIGNAL,1);
total=OrdersTotal();
if(total<1)
{
if (US1<1 && SignalPrevious>MacdPrevious && Ask>MA3-AC*Point && Bid<MA4 && MA1<MA2 )
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid, Digits),4,0,0,"Ïðîäà¸ì",MagicNum1,0,Blue);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("Ïðîäàæà : ",OrderOpenPrice());
}
return;
}
if (US1<1 && SignalCurrent*AA<MacdCurrent && SignalCurrent>LMA1 && SignalCurrent>MacdCurrent/AB && MacdCurrent>MacdPrevious )
{
ticket=OrderSend(Symbol(),OP_SELL,LotsDOL,NormalizeDouble(Bid, Digits),4,0,0,"Ïðîäà¸ì",MagicNum2,0,Gold);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("Ïðîäàæà : ",OrderOpenPrice());
}
return;
}
if (US1>0 && MA3-AF*Point<Ask)
{
ticket=OrderSend(Symbol(),OP_BUY,LotsDOL,NormalizeDouble(Ask, Digits),4,0,0,"Ïîêóïàåìñ",MagicNum3,0,Black);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("Ïîêóïàåìñ : ",OrderOpenPrice());
}
US1--;
return;
}
if (US1<1 && SignalCurrent/MacdCurrent>XX && MA3<MA1 && MA6-AE*Point<MA2 && MA2<MA6 && MA5>MA1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask, Digits),4,0,0,"Ïîêóïàåìñ",MagicNum4,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("Ïîêóïàåìñ : ",OrderOpenPrice());
}
return;
}
return;
}
for(cnt=OrdersTotal()-1;cnt >= 0;cnt--)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderType()== OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNum1)
{
if ( SignalCurrent*AA<MacdCurrent && SignalCurrent>LMA1 && SignalCurrent>MacdCurrent/AB && MacdCurrent>MacdPrevious )
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),3,LawnGreen);
return(0);
}
if ( Ask<(OrderOpenPrice()-(TakeProfit*Point)) && SignalCurrent<MacdCurrent )
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),3,Gold);
return(0);
}
if ( Ask>(OrderOpenPrice()+(AG*Point)) && Bid>MA3 && MA2>MA6)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),3,Black);
return(0);
}
if ( SignalCurrent<SignalPrevious && MacdCurrent>SignalCurrent && Ask<MA3 && MA3<MA6 && Ask<(OrderOpenPrice()-(AD*Point)))
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),3,Red);
US1++;
return(US1);
}
}
if(OrderType()== OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNum2)
{
if ( Ask>(OrderOpenPrice()+(AD1*Point)) )
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),3,Black);
return(0);
}
if ( Ask<(OrderOpenPrice()-(AD2*Point)) )
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),3,Black);
return(0);
}
}
if(OrderType()== OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNum3)
{
if (Bid<OrderOpenPrice()-SLD1*Point)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),3,White);
return(0);
}
if (Bid>OrderOpenPrice()+TPD1*Point)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),3,White);
return(0);
}
if (SignalCurrent*AA<MacdCurrent && SignalCurrent>LMA1 && SignalCurrent>MacdCurrent/AB && MacdCurrent>MacdPrevious )
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),3,LawnGreen);
return(0);
}
}
if(OrderType()== OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNum4)
{
if ( SignalCurrent>0 && MacdCurrent>0 && MacdCurrent<SignalCurrent && Bid>OrderOpenPrice()+XD*Point && MA2>MA6 && MA2+XF*Point>MA1 && Bid>MA3)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),3,Blue);
return(0);
}
if ( Bid<OrderOpenPrice()-SS*Point )
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),3,Black);
return(0);
}
if ( SignalCurrent*AA<MacdCurrent && SignalCurrent>LMA1 && SignalCurrent>MacdCurrent/AB && MacdCurrent>MacdPrevious )
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),3,LawnGreen);
return(0);
}
}
}
else
Print("OrderSelect() âåðíóë îøèáêó - ",GetLastError());
return;
}
return;
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---