Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
Profitability Reports
GBP/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
ch_2006
//+------------------------------------------------------------------+
//| ch_2006.mq4 |
//| Copyright © 2006, Ðàìèëü Ñàôèóëëîâè÷ Èðãèçîâ |
//| popcorn@aaanet.ru |
//+------------------------------------------------------------------+
//| Automated Trading Championship 2006 |
//| Ïîäêëþ÷àåòñÿ ê ãðàôèêó USDCHF 1 ìèí |
//+------------------------------------------------------------------+
#define m 20050611
extern int takeprofit = 165;
extern int stoploss = 165;
extern double lots = 0.1;
extern double risk = 0.25;
extern int mm = 1;
extern int pu1 = 1;
extern int pu2 = 71;
extern int pu3 = 326;
extern int puu = 410;
extern int sl = 22;
extern int sl_min = 2;
extern double p = 0.22;
extern int dd = 7;
extern int ddma = 9;
extern double kr = 0.5;
//-----------------------------------------------------------------------------
int kol_buy()
{
int kol_ob=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_BUY) kol_ob++;
}
return(kol_ob);
}
//-----------------------------------------------------------------------------
int kol_sell()
{
int kol_os=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_SELL) kol_os++;
}
return(kol_os);
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
datetime lastt=0;
int slip=10;
int i,kol_sek,tic,total,gle,kk;
double mah1_1,mah2_1,mah3_1,mal1_1,mal2_1,mal3_1,mah1_2,mah2_2,mah3_2,mal1_2,mal2_2,mal3_2,ma1,ma2;
double lotsi,slp,slp_min;
int start()
{
if(Bars<100 || IsTradeAllowed()==false || Year()!=2006 || AccountFreeMargin()<AccountBalance()*kr) return;
if (mm!=0) lotsi=MathCeil(AccountFreeMargin()*risk/100)/10; else lotsi=lots;
if (lotsi>=5) lotsi=5-0.1;
mah1_1=iMA(NULL,0,pu1,1,MODE_SMA,PRICE_HIGH,1);
mal1_1=iMA(NULL,0,pu1,1,MODE_SMA,PRICE_LOW,1);
mah2_1=iMA(NULL,0,pu2,1,MODE_SMA,PRICE_HIGH,1);
mal2_1=iMA(NULL,0,pu2,1,MODE_SMA,PRICE_LOW,1);
mal3_1=iMA(NULL,0,pu3,1,MODE_SMA,PRICE_LOW,1);
mal3_2=iMA(NULL,0,pu3,1,MODE_SMA,PRICE_LOW,2);
mah3_1=iMA(NULL,0,pu3,1,MODE_SMA,PRICE_HIGH,1);
mah3_2=iMA(NULL,0,pu3,1,MODE_SMA,PRICE_HIGH,2);
mah1_2=iMA(NULL,0,pu1,1,MODE_SMA,PRICE_HIGH,2);
mal1_2=iMA(NULL,0,pu1,1,MODE_SMA,PRICE_LOW,2);
mah2_2=iMA(NULL,0,pu2,1,MODE_SMA,PRICE_HIGH,2);
mal2_2=iMA(NULL,0,pu2,1,MODE_SMA,PRICE_LOW,2);
ma1=iMA(NULL,0,puu,1,MODE_SMA,PRICE_MEDIAN,1);
ma2=iMA(NULL,0,puu,1,MODE_SMA,PRICE_MEDIAN,2);
slp=sl*Point;
slp_min=sl_min*Point;
bool sob=false,sos=false;
sob=CurTime()>lastt+60*61 &&
mah1_2<mah2_2 && mah1_1>=mah2_1 &&
ma1>ma2 && mah2_1>mah2_2 && mah3_1>mah3_2 &&
(mah2_1-mah2_2)>(mah3_1-mah3_2) &&
(mah3_1-mal3_1)<(mah2_1-mal2_1) &&
// ma1<mah3_1 && mah3_1<mah2_1 && mah2_1<mah1_1 &&
mah1_1>mah3_1 && mah1_1<=mah3_1+dd*Point &&
mah2_1>mah3_1 && High[1]<=ma1+ddma*Point &&
kol_buy()<2 && kol_buy()+kol_sell()<3;
sos=CurTime()>lastt+60*61 &&
mal1_2>mal2_2 && mal1_1<=mal2_1 &&
ma1<ma2 && mal2_1<mal2_2 && mal3_1<mal3_2 &&
(mal2_2-mal2_1)>(mal3_2-mal3_1) &&
(mah3_1-mal3_1)<(mah2_1-mal2_1) &&
// ma1>mal3_1 && mal3_1>mal2_1 && mal2_1>mal1_1 &&
mal1_1<mal3_1 && mal1_1>=mal3_1-dd*Point &&
mal2_1<mal3_1 && Low[1]>=ma1-ddma*Point &&
kol_sell()<1 && kol_buy()+kol_sell()<3;
tic=-1;kk=0;
if (sob)
{
while(tic==-1 && kk<3)
{
tic=OrderSend(Symbol(),OP_BUY,lotsi,Ask,slip,Ask-stoploss*Point,Ask+takeprofit*Point," ",m,0,Yellow);
if (tic==-1)
{
gle=GetLastError();
kk++;
Print("Îøèáêà ¹",gle," ïðè buy ",kk);
Sleep(6000);
RefreshRates();
}
}
lastt=CurTime();
return;
}
tic=-1;kk=0;
if (sos)
{
while(tic==-1 && kk<3)
{
tic=OrderSend(Symbol(),OP_SELL,lotsi,Bid,slip,Bid+stoploss*Point,Bid-takeprofit*Point," ",m,0,Red);
if (tic==-1)
{
gle=GetLastError();
kk++;
Print("Îøèáêà ¹",gle," ïðè sell ",kk);
Sleep(6000);
RefreshRates();
}
}
lastt=CurTime();
return;
}
total=OrdersTotal();
for(i=0;i<total;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
if(OrderStopLoss()<OrderOpenPrice() && High[1]>OrderOpenPrice()+slp)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+slp_min,OrderTakeProfit(),0,White);
return;
}
if(OrderStopLoss()>OrderOpenPrice()
&& OrderStopLoss()+1*Point<High[1]-(slp-slp_min)-(High[1]-slp-OrderOpenPrice())*p)
{
OrderModify(OrderTicket(),OrderOpenPrice(),High[1]-(slp-slp_min)-(High[1]-slp-OrderOpenPrice())*p,
OrderTakeProfit(),0,Yellow);
return;
}
}
if(OrderType()==OP_SELL)
{
if((OrderStopLoss()>OrderOpenPrice() || OrderStopLoss()==0) && Low[1]<OrderOpenPrice()-slp)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-slp_min,OrderTakeProfit(),0,White);
return;
}
if(OrderStopLoss()<OrderOpenPrice()
&& OrderStopLoss()-1*Point>Low[1]+(slp-slp_min)+(OrderOpenPrice()-Low[1]-slp)*p)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Low[1]+(slp-slp_min)+(OrderOpenPrice()-Low[1]-slp)*p,
OrderTakeProfit(),0,Red);
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
---