Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
V3_MA_MACD
extern double TakeProfit = 35;
extern double Lots = 0.1;
extern double Osn = 12;
extern double Sig = 24;
extern double Sig2 = 43;
extern double Xs = 6;
extern double Xs2 = 8;
extern double Regul = 14;
extern double LMACD = 0.0006;
double MA1;
double MA2;
double MA3;
double MA4;
double MA5;
double MA6;
int Or=0;
int ticket=0;
int US1=0;
int S=0;
int B=0;
int Dol=0;
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious;
int start()
{
MA1=iMA(NULL,0,Osn,0,MODE_SMA,PRICE_CLOSE,0); //MA 12 îñíîâíîé òðåíä
MA2=iMA(NULL,0,Sig,0,MODE_SMMA,PRICE_CLOSE,0); //MA 24 ïîääåðæèâàþùàÿ
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);
if (Dol<1 && SignalPrevious>MacdPrevious && Ask>MA3-7*Point && Or<1 && US1<1 && Bid<MA4 && MA1<MA2 )
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,4,0,0,"Ïðîäà¸ì",16384,0,Blue);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ïðîäàæà : ",OrderOpenPrice());
}
Or=Or+1;
US1=US1+1;
S=S+1;
return;
}
if (S>0 && Ask<(OrderOpenPrice()-(TakeProfit*Point)) && Or>0 && US1>0 && SignalCurrent<MacdCurrent )
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Gold);
Or=Or-1;
US1=US1-1;
S=S-1;
return(0);
}
if (S>0 && Or>0 && US1>0 && Ask>(OrderOpenPrice()+(25*Point)) && Bid>MA3 && MA2>MA6)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Black);
Or=Or-1;
US1=US1-1;
S=S-1;
return(0);
}
if (SignalCurrent<SignalPrevious &&MacdCurrent>SignalCurrent && Or>0 && US1>0 && S>0 && Ask<MA3 && MA3<MA6 && Ask<(OrderOpenPrice()-(10*Point)))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
Or=Or-1;
US1=US1-1;
S=S-1;
Dol=Dol+1;
return(0);
}
if (Dol>0 && Or<1 && US1<1 && MA3-2*Point<Ask)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,4,0,0,"Ïîêóïàåìñ",16384,0,Black);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ïîêóïàåìñ : ",OrderOpenPrice());
}
Or=Or+1;
US1=US1+1;
return;
}
if (Dol>0 && Bid<OrderOpenPrice()-20*Point&& Or>0 && US1>0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
Or=Or-1;
US1=US1-1;
Dol=Dol-1;
return(0);
}
if (Dol>0 && Bid>OrderOpenPrice()+20*Point && Or>0 && US1>0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
Or=Or-1;
US1=US1-1;
Dol=Dol-1;
return(0);
}
if (Dol<1 && SignalCurrent/MacdCurrent>3 && MA3<MA1 && Or<1 && US1<1 && MA6-10*Point<MA2 && MA2<MA6 && MA5>MA1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,4,0,0,"Ïîêóïàåìñ",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ïîêóïàåìñ : ",OrderOpenPrice());
}
Or=Or+1;
US1=US1+1;
B=B+1;
return;
}
if (B>0 && SignalCurrent>0 && MacdCurrent>0 && MacdCurrent<SignalCurrent && Bid>OrderOpenPrice()+36*Point && MA2>MA6 && Or>0 && US1>0 && MA2+15*Point>MA1 && Bid>MA3)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue);
Or=Or-1;
US1=US1-1;
B=B-1;
return(0);
}
if (B>0 && Bid<OrderOpenPrice()-40*Point && Or>0 && US1>0 )
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Black);
Or=Or-1;
US1=US1-1;
B=B-1;
return(0);
}
return (0);
}
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
---