Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
BB_TRL_3
//+------------------------------------------------------------------+
//| BB_TRL_3.MQ4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "kuk"
extern double Lot =0.1 ;
extern int TP=2000;
extern int period_BB=20;
extern int period_LWMA_LOW=14;
extern int period_LWMA_HIGH=14;
extern bool close_Fractal=false;
extern int tr_point=10;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int Tip=-1;
int Ticket;
double tpb,tps,slb,sls;
double Price;
bool opn_b=false;
bool clz_b=false;
bool opn_s=false;
bool clz_s=false;
if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)
{
Ticket=OrderTicket();
Tip =OrderType();
Price =OrderOpenPrice();
double sl=OrderStopLoss();
double tp=OrderTakeProfit();
datetime pt=OrderOpenTime();
}
tpb=Bid+TP*Point;
tps=Ask-TP*Point;
//------------------------------------------------------------------------------------------------------êðèòåðèè
if( iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,0)>iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,1) && iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,1)<=iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,2) && iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,0)<iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,1) && iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,1)>=iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,2) &&
iMA(NULL,0,period_BB,0,MODE_SMA,0,0)>iMA(NULL,0,period_BB,0,MODE_SMA,0,1) && iMA(NULL,0,period_BB,0,MODE_SMA,0,1)>iMA(NULL,0,period_BB,0,MODE_SMA,0,2) && Low[1]<iMA(NULL,0,period_BB,0,MODE_SMA,0,1) &&
High[1]>iMA(NULL,0,period_BB,0,MODE_SMA,0,1) )
{
clz_s=true;
opn_b=true;
slb=0;
}
if( iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,0)>iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,1) && iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,1)<=iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_UPPER,2) &&
iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,0)<iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,1) && iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,1)>=iBands(NULL,0,period_BB,2,0,PRICE_CLOSE,MODE_LOWER,2) &&
iMA(NULL,0,period_BB,0,MODE_SMA,0,0)<iMA(NULL,0,period_BB,0,MODE_SMA,0,1) && iMA(NULL,0,period_BB,0,MODE_SMA,0,1)<iMA(NULL,0,period_BB,0,MODE_SMA,0,2) && Low[1]<iMA(NULL,0,period_BB,0,MODE_SMA,0,1) && High[1]>iMA(NULL,0,period_BB,0,MODE_SMA,0,1) )
{
clz_b=true;
opn_s=true;
sls=0;
}
//----------------close_Fractal=true
if(close_Fractal==true)
{
if(Tip==0 && iFractals(NULL, 0, MODE_UPPER, 3)!=0 && TimeToStr(pt)!=TimeToStr(Time[0]))
{
clz_b=true;
}
if(Tip==1 && iFractals(NULL, 0, MODE_LOWER, 3)!=0 && TimeToStr(pt)!=TimeToStr(Time[0]))
{
clz_s=true;
}
}
//----------------------------------------------------------------------------------modification
int Min_Dist=MarketInfo(Symbol(),MODE_STOPLEVEL);
int freeze=MarketInfo(Symbol(),MODE_FREEZELEVEL);
//---------------------------------------------------------------------------------------------------------------------------SELL
if(close_Fractal==false )
{
if(Tip==1 && sl==0)
{
if( Ask<iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0) && iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0)<Price &&
(iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0)-Ask)/Point>= Min_Dist && (iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0)-Ask)/Point>freeze )
{
OrderModify(Ticket,Price,iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0),tp,0);
}
}
if(Tip==0 && sl!=0 &&
(iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0)-Ask)/Point>= Min_Dist && (iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0)-Ask)/Point>freeze &&
(sl-iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0))/Point>=tr_point)
{
OrderModify(Ticket,Price,iMA(NULL,0,period_LWMA_LOW,0,MODE_LWMA,PRICE_LOW,0),tp,0);
}
//------------------------------------------------------------------------------------------------------------------Buy
if(Tip==0 && sl==0)
{
if( Bid>iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0) && iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0)>Price &&
(Bid-iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0))/Point>= Min_Dist && (Bid-iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0))/Point>freeze )
{
OrderModify(Ticket,Price,iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0),tp,0);
}
}
if(Tip==0 && sl!=0 &&
(Bid-iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0))/Point>= Min_Dist && (Bid-iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0))/Point>freeze &&
(iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0)-sl)/Point>=tr_point)
{
OrderModify(Ticket,Price,iMA(NULL,0,period_LWMA_HIGH,0,MODE_LWMA,PRICE_HIGH,0),tp,0);
}
}
// --------------------------------------------------Çàêðûòèå
if(Tip==1 && clz_s==true)
{
OrderClose(Ticket,Lot,Ask,2);
}
if(Tip==0 && clz_b==true)
{
OrderClose(Ticket,Lot,Bid,2);
}
//---------------------------------------OrderSend
if (OrdersTotal()==0)
{
if(opn_b==true)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,2,slb,tpb,0,0,0);
if (Ticket > 0)
{
Alert ("Îòêðûò îðäåð Buy ",Ticket);
return;
}
}
if(opn_s==true)
{
OrderSend(Symbol(),OP_SELL,Lot,Bid,2,sls,tps,0,0,0);
if (Ticket > 0)
{
Alert ("Îòêðûò îðäåð Sell ",Ticket);
return;
}
}
}
//----
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
---