Orders Execution
Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
Block_err_130_exp_cross_MA6ADX
//+------------------------------------------------------------------+
//| Block_err_130_exp_cross_MA+ADX.mq4 |
//| Roll |
//+------------------------------------------------------------------+
#property copyright "Roll"
#include <Block_err_130.mqh>
extern bool Expert_trade_allowed=false;//ðàçðåøåíèå òîðãîâëè
extern int lots=1.0;
extern int Stop_Loss=50;
extern int Take_Profit=360;
extern int Tralling_Stop=50;
int init()
{if(Digits==3||Digits==5)
{Tralling_Stop=Tralling_Stop*10;
Stop_Loss=Stop_Loss*10;
Take_Profit=Take_Profit*10;}return(0);}
int deinit(){return(0);}
int start()
{bool err=false;string Simvol=Symbol();
int i=0,Tip=-1,iTicket=0,spread=MarketInfo(Simvol,MODE_SPREAD);
double OPos=0,SLpos=0,TPpos=0,Closepos=0,SL=0,TP=0,point=MarketInfo(Simvol,MODE_POINT);
//--------------çàêðûòèå è ìîäèôèêàöèÿ------------
if(OrdersTotal()>0)
{for(i=0;i<OrdersTotal();i++)
{if(OrderSelect(i,SELECT_BY_POS))
{Tip=OrderType();
if(Tip>1||OrderSymbol()!=Simvol)continue;
iTicket=OrderTicket();
OPos=ND(OrderOpenPrice());
SLpos=ND(OrderStopLoss());
TPpos=ND(OrderTakeProfit());
Closepos=ND(OrderClosePrice());
if(Tip==OP_BUY)
{if(iMA(Simvol,0,40,0,MODE_SMA,0,1)>iMA(Simvol,0,10,0,MODE_SMA,0,1)&&
iMA(Simvol,0,40,0,MODE_SMA,0,2)<iMA(Simvol,0,10,0,MODE_SMA,0,2))
{if(Block_err_130(1,Tip,OPos,SLpos,TPpos,0,0,0))
{if(!OrderClose(iTicket,OrderLots(),Closepos,spread,White))
{Alert("Îøèáêà çàêðûòèÿ ¹ ",GetLastError());
Print("Îøèáêà çàêðûòèÿ îðäåðà ¹",
OrderTicket(),". Îøèáêà: ",GetLastError());}
}Sleep(1000);}
if(Tralling_Stop>0&&Bid-OPos>Tralling_Stop*point)//----òðàë ÁÓ Buy-----
{if(SLpos==0||SLpos<OPos)
{if(Block_err_130(3,Tip,OPos,SLpos,TPpos,OPos,OPos,TPpos))
{if(!OrderModify(iTicket,OPos,OPos,TPpos,0,Blue))
{Alert("Îøèáêà ìîäèôèêàöèè öåíû ¹ ",GetLastError());
Print("Íå óäàëîñü ìîäèôèöèðîâàòü öåíó îðäåðà Buy ¹",
OrderTicket(),". Îøèáêà: ",GetLastError());Sleep(3000);}}}}}
else if(Tip==OP_SELL)
{if(iMA(Simvol,0,40,0,MODE_SMA,0,1)<iMA(Simvol,0,10,0,MODE_SMA,0,1) &&
iMA(Simvol,0,40,0,MODE_SMA,0,2)>iMA(Simvol,0,10,0,MODE_SMA,0,2))
{if(Block_err_130(1,Tip,OPos,SLpos,TPpos,0,0,0))
{if(!OrderClose(iTicket,OrderLots(),Closepos,spread,White))
{Alert("Îøèáêà çàêðûòèÿ ¹ ",GetLastError());Print("Îøèáêà çàêðûòèÿ îðäåðà ¹",
OrderTicket(),". Îøèáêà: ",GetLastError());Sleep(1000);}}}
if(Tralling_Stop>0&&(OPos-Ask)>(point*Tralling_Stop))//----òðàë ÁÓ Sell-----
{if(SLpos==0||SLpos>OPos)
{if(Block_err_130(3,Tip,OPos,SLpos,TPpos,OPos,OPos,TPpos))
{if(!OrderModify(iTicket,OPos,OPos,TPpos,0,Red))
{Alert("Îøèáêà ìîäèôèêàöèè öåíû ¹ ",GetLastError());
Print("Íå óäàëîñü ìîäèôèöèðîâàòü öåíó îðäåðà SELL ¹",
OrderTicket(),". Îøèáêà: ",GetLastError());Sleep(3000);}}}}}}}}
//--------------BUY------------
if (OrdersTotal()==0&&Expert_trade_allowed)
{if(iADX(Simvol,0,14,0,MODE_MAIN,0)>iADX(Simvol,0,14,0,MODE_MAIN,1)&&
iADX(Simvol,0,14,0,MODE_MAIN,1)>iADX(Simvol,0,14,0,MODE_MAIN,2)&&
iADX(Simvol,0,14,0,MODE_MAIN,2)<30&&
iMA(Simvol,0,100,0,MODE_SMA,0,0)<Open[0]&&
iMA(Simvol,0,60,0,MODE_SMA,0,2)>iMA(Simvol,0,16,0,MODE_SMA,0,2)&&
iMA(Simvol,0,60,0,MODE_SMA,0,1)<iMA(Simvol,0,16,0,MODE_SMA,0,1))
{if(Stop_Loss!=0)SL=ND(Ask-Stop_Loss*point);else SL=0;
if(Take_Profit!=0)TP=ND(Ask+Take_Profit*point);else TP=0;
if(Block_err_130(2,OP_BUY,0,0,0,Ask,SL,TP))
{err=OrderSend(Simvol,OP_BUY,lots,Ask,3,SL,TP,"cross_MA+ADX",0,0,Blue);Sleep(3000);}
if(err==true)
{Alert("OP_BUY ",lots,"- ëîò, öåíà îòêðûòèÿ - ",Ask,
", SL - ",SL,", TP - ",TP," cross_MA+ADX ");
Print(" cross_MA+ADX ","OP_BUY ",lots,
"- ëîò, öåíà îòêðûòèÿ - ",Ask,", SL - ",SL,", TP - ",TP);}
else if(err<=0){Print("OrderSend failed with error #",GetLastError());return(0);}}
//--------------SELL------------
if(iADX(Simvol,0,14,0,MODE_MAIN,0)>iADX(Simvol,0,14,0,MODE_MAIN,1)&&
iADX(Simvol,0,14,0,MODE_MAIN,1)>iADX(Simvol,0,14,0,MODE_MAIN,2)&&
iADX(Simvol,0,14,0,MODE_MAIN,2)<30&&
iMA(Simvol,0,100,0,MODE_SMA,0,0)>Open[0]&&
iMA(Simvol,0,40,0,MODE_SMA,0,2)<iMA(Simvol,0,16,0,MODE_SMA,0,2)&&
iMA(Simvol,0,40,0,MODE_SMA,0,1)>iMA(Simvol,0,16,0,MODE_SMA,0,1))
{if(Stop_Loss!=0)SL=ND(Bid+Stop_Loss*point);else SL=0;
if(Take_Profit!=0)TP=ND(Bid-Take_Profit*point);else TP=0;
if(Block_err_130(2,OP_SELL,0,0,0,Bid,SL,TP))
{err=OrderSend(Simvol,OP_SELL,lots,Bid,3,SL,TP,"cross_MA+ADX",0,0,Red);Sleep(3000);}
if(err==true)
{Alert("OP_SELL ",lots,"- ëîò, öåíà îòêðûòèÿ - ",Bid,", SL - ",SL,", TP - ",TP," cross_MA+ADX ");
Print(" cross_MA+ADX ","OP_SELL ",lots,"- ëîò, öåíà îòêðûòèÿ - ",Bid,", SL - ",SL,", TP - ",TP);}
else if(err<=0){Print("OrderSend failed with error #",GetLastError());}}}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
---