Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
DigiDon
//+------------------------------------------------------------------+
//| DigiDon.mq4 |
//| Last_Don |
//| http://www.mql4.com/ru/users/Last_Don |
//+------------------------------------------------------------------+
#property copyright "Last_Don"
#property link "http://www.mql4.com/ru/users/Last_Don"
//---- input parameters ---------
extern int stopLOSS=80;
extern int dif = 1480;
extern double LOTs =0.1;
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
string s[6]={"_____"," AO "," ADX "," MFI "," MA "," Ichimoku "};
//---- other parameters ---------
static int prevtime=0; int ticket=0;int x=1;
int Magic_BUY =120;int Magic_SELL =220;
//+---------- expert initialization function -------------+
int init(){ if(Digits == 5) x=10;MathSrand(GetTickCount());return(0);} // ---
//+-------------expert start function------------------------------------+
int start() { if (Time[0] == prevtime) return(0);
prevtime = Time[0];
if (!IsTradeAllowed()) {
prevtime=Time[1]; Sleep(30000 + MathRand()); //--- ôîðìèðóåì áàð---
}
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
int n=Qn(Rand_10(MathRand()));int period_=Qp(n);int m=Rand_10(MathRand());
Trade( Magic_BUY,i_(n,period_,0),i_(n,period_,1),n,period_,m,stopLOSS);//--òîðãè ïî ëîíãàì
n=Qn(Rand_10(MathRand())); period_=Qp(n); m=Rand_10(MathRand());
Trade(Magic_SELL,i_(n,period_,1),i_(n,period_,0),n,period_,m,stopLOSS);//--òîðãè ïî øîðòàì
return(0); } //-----------âûõîä èç ñòàðòîâîé ôóíêöèè------------
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
void Trade(int mn,double a,double aa,int n_,int per_,int m_,int step){
int total=OrdersTotal();
for (int i=0; i<total; i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);//---ïðîõîä ïî îðäåðàì--
if (OrderSymbol() == Symbol() && OrderMagicNumber() == mn) { return(0); }
}
//--------------------------------
ticket = -1; string dir="?";
if ( a > aa && Q(MathRand()) && OrdersTotal()==0 && IsTradeAllowed()) { //---âõîä â ðûíîê ---
if (mn<200) {
ticket= OrderSend(Symbol(), OP_BUY,lot(),Ask,5*x,Bid-x*step*Point,
Ask+(1.5+m_*0.1)*x*step*Point,DoubleToStr(mn,0),mn,0,Blue);
dir="BUY"; }
else {
ticket= OrderSend(Symbol(),OP_SELL,lot(),Bid,5*x,Ask+x*step*Point,
Bid-(1.5+m_*0.1)*x*step*Point,DoubleToStr(mn,0),mn,0, Red);
dir="SELL"; }
RefreshRates(); //---îñâåæàåì êîòèðû
if ( ticket > 0) Print(s[0]+s[n_]+s[0]+ToStr(per_)+s[0]+DoubleToStr(1.5+m_*0.1,1)+s[0]+dir+s[0]);
if ( ticket < 0) { Sleep(30000); prevtime = Time[1]; }
} //-- Exit ---
return(0); }
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
double lot() { return(LOTs); }
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
string ToStr( int num) { if (num==1440) return ("D1"); return("W");}
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
int Rand_10(int l) {
if(l>3000 && l< 3500) return(1); if(l> 6000 && l<6500) return(2);
if(l>9000 && l< 9500) return(3); if(l>12000 && l<12500) return(4);
if(l>15000 && l<15500) return(5); if(l>18000 && l<18500) return(6);
if(l>21000 && l<21500) return(7); if(l>24000 && l<24500) return(8);
if(l>27000 && l<27500) return(9); if(l>30000 && l<30500) return(10);
return (Rand_10(MathRand())); //---ðåêóðñèÿ âû÷èñëåíèé---
}
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
int Qn (int qx) { if(qx==1 || qx==6) return (1);if(qx==2 || qx==7) return (2);
if(qx==3 || qx==8) return (3); if (qx==4 || qx==9) return (4); if (qx==5 || qx==10) return (5);}
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
int Qp (int qy) { if (qy==5 || qy==2) return (1440 ); return (10080); }
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
double i_(int in, int ip, int is ) { if (in==1) return (iAO(NULL,ip, is));
if (in==2) if (is==0) { return (iADX(NULL,ip,14,PRICE_TYPICAL,MODE_PLUSDI,0)); }
else
{ return (iADX(NULL,ip,14,PRICE_TYPICAL,MODE_MINUSDI,0)); }
if (in==3) return (iMFI(NULL,ip,14,is));
if (in==4) return (iMA(NULL,ip,8,3,MODE_SMA,PRICE_TYPICAL,is));
if (in==5) if (is==0) {return (iIchimoku(NULL, ip, 9, 26, 52, MODE_TENKANSEN, 0)); }
else
{return (iIchimoku(NULL, ip, 9, 26, 52, MODE_KIJUNSEN, 0)); }
return (0); }
//$$$$$$$$$$$$$$$$$$$$$$$$$$$ - ðàíäîìíûé ìåõàíèçì - $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
bool Q(int u) {
if(u> 3000 && u< 4500-dif) return (true); if(u>6000 && u< 7500-dif) return (true);
if(u> 9000 && u<10500-dif) return (true); if(u>12000 && u<13500-dif) return (true);
if(u>15000 && u<16500-dif) return (true); if(u>18000 && u<19500-dif) return (true);
if(u>21000 && u<22500-dif) return (true); if(u>24000 && u<25500-dif) return (true);
if(u>27000 && u<28500-dif) return (true); if(u>30000 && u<31500-dif) return (true);
return(false); //------
}
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
---