Price Data Components
Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
Invest_System_4_5
//----------------------------------------------------------------1--
extern double StopLoss =240; //Ñòîï è ïðîôèò äëÿ EURUSD íå ìåíÿòü!
extern double TakeProfit=40;
double Lots1 =0.1;
double Lots2 =0.2;
double Lots3 =0.7;
double Lots4 =1.4;
bool Work=true;
string Symb;
bool Opn_B=false;
bool Opn_S=false;
bool Vhod=false;
bool LTS=false;
bool PlanB=false;
bool L2Stop=true;
bool L3Stop=true;
bool L4Stop=true;
bool L5Stop=true;
bool L6Stop=true;
double Chas;
double Pribl;
double Lots=100;
double maxBalance=0.1;
double minBalanse=0.1;
//--------------------------------------------------------------- 2 --
int start()
{
int
Total, // Êîëè÷åñòâî îðäåðîâ â îêíå
Ticket; // Íîìåð îðäåðà
double
SL, // SL âûáðàííîãî îðäåðà
TP; // TP âûáðàííîãî îðäåðà
if (minBalanse==0.1){minBalanse=AccountBalance();}
if (AccountBalance()>(minBalanse*2) && L2Stop==true){Lots1=0.2;Lots2=0.4;Lots3=1.4;Lots4=2.8;L2Stop=false;}
if (AccountBalance()>(minBalanse*3) && L3Stop==true){Lots1=0.3;Lots2=0.6;Lots3=2.1;Lots4=4.2;L3Stop=false;}
if (AccountBalance()>(minBalanse*4) && L4Stop==true){Lots1=0.4;Lots2=0.8;Lots3=2.8;Lots4=5.6;L4Stop=false;}
if (AccountBalance()>(minBalanse*5) && L5Stop==true){Lots1=0.5;Lots2=1 ;Lots3=3.5;Lots4=7 ;L5Stop=false;}
if (AccountBalance()>(minBalanse*6) && L6Stop==true){Lots1=0.6;Lots2=1.2;Lots3=4.2;Lots4=8.4;L6Stop=false;}
double Lot1=Lots1;
double Lot2=Lots3;
//--------------------------------------------------------------- 3 --
if(Bars < 24) // Íåäîñòàòî÷íî áàðîâ
{
Alert("Íåäîñòàòî÷íî áàðîâ â îêíå. Ýêñïåðò íå ðàáîòàåò.");
return; // Âûõîä èç start()
}
if(Work==false) // Êðèòè÷åñêàÿ îøèáêà
{
Alert("Êðèòè÷åñêàÿ îøèáêà. Ýêñïåðò íå ðàáîòàåò.");
return; // Âûõîä èç start()
}
//--------------------------------------------------------------- 4 --
Symb=Symbol(); // Íàçâàíèå ôèí.èíñòð.
Total=0; // Êîëè÷åñòâî îðäåðîâ
for(int i=1; i<=OrdersTotal(); i++) // Öèêë ïåðåáîðà îðäåð
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Åñëè åñòü ñëåäóþùèé
{ // Àíàëèç îðäåðîâ:
if (OrderSymbol()!=Symb)continue; // Íå íàø ôèí. èíñòðóì
if (OrderType()>1) // Ïîïàëñÿ îòëîæåííûé
{
Alert("Îáíàðóæåí îòëîæåííûé îðäåð. Ýêñïåðò íå ðàáîòàåò.");
return; // Âûõîä èç start()
}
Total++; // Ñ÷¸ò÷èê ðûíî÷í. îðä
if (Total>1) // Íå áîëåå îäíîãî îðä
{
Alert("Íåñêîëüêî ðûíî÷íûõ îðäåðîâ. Ýêñïåðò íå ðàáîòàåò.");
return; // Âûõîä èç start()
}
Ticket=OrderTicket(); // Íîìåð âûáðàíí. îðä.
}
}
//--------------------------------------------------------------- 5 --
if(Symbol()!="EURUSD"){Comment("Ðåêîìåíäóåòñÿ èñïîëüçîâàòü ýêñïåðòà íå íà âàëþò.ïàðå ",Symbol(),",à íà EURUSD.Äëÿ ",Symbol()," íóæíî ïîäáèðàòü ñòîï è ïðîôèò.");}
for(int ii=1; ii<=OrdersHistoryTotal(); ii++) // Öèêë ïåðåáîðà îðäåð
{
if (OrderSelect(ii-1,SELECT_BY_POS,MODE_HISTORY)==true)// Åñëè åñòü ñëåäóþùèé
{
if (OrderSymbol()!=Symb)continue; // Àíàëèç îðäåðîâ
Pribl=OrderProfit();}}
double Balance=AccountBalance();
if (Lots==100){Lots=Lot1;}
if (Total!=0){LTS=true;}
if (Total==0 && Balance>maxBalance){PlanB=false;Lot1=Lots1;Lot2=Lots3;maxBalance=Balance;}
if (Total==0 && PlanB==true){Lot1=Lots2;Lot2=Lots4;}
if (LTS==true && Total==0 && Pribl<0 && Lots==Lot2){PlanB=true;LTS=false;}
if (LTS==true && Total==0 && Pribl<0 && Lots==Lot1){Lots=Lot2;LTS=false;}
if (LTS==true && Total==0 && Pribl>0){Lots=Lot1;LTS=false;}
if (LTS==true && Total==0 && Pribl<0){Lots=Lot2;LTS=false;}
if (iClose("EURUSD",PERIOD_H4,1)>iOpen("EURUSD",PERIOD_H4,1)){Opn_S=false;Opn_B=true;}
if (iClose("EURUSD",PERIOD_H4,1)<iOpen("EURUSD",PERIOD_H4,1)){Opn_S=true;Opn_B=false;}
if (Total!=0){Vhod=false;}
if (Chas!=iTime("EURUSD",PERIOD_H4,0)){Chas=iTime("EURUSD",PERIOD_H4,0);Vhod=true;}
//---------------------------------------------------------------- 6 --
while(true) // Öèêë çàêðûòèÿ îðä.
{
if (Total==0 && Opn_B==true && Minute()<=15
&& Vhod==true) // Îòêðûòûõ îðä. íåò +
{ // êðèòåðèé îòêð. Buy
RefreshRates(); // Îáíîâëåíèå äàííûõ
SL= Bid- StopLoss *Point; // Âû÷èñëåíèå SL îòêð.
TP= Bid+ TakeProfit *Point; // Âû÷èñëåíèå TP îòêð.
Comment("Ïîïûòêà îòêðûòü Buy. Îæèäàíèå îòâåòà..");
Ticket=OrderSend(Symb,OP_BUY,Lots,Ask,3,SL,TP,"Buy",173777,0,Blue);
if (Ticket>0) // Ïîëó÷èëîñü :)
{
Comment("Îòêðûò îðäåð Buy ",Ticket);
return; // Âûõîä èç start()
}
if (Fun_Error(GetLastError())==1) // Îáðàáîòêà îøèáîê
continue; // Ïîâòîðíàÿ ïîïûòêà
return; // Âûõîä èç start()
}
if (Total==0 && Opn_S==true && Minute()<=15
&& Vhod==true) // Îòêðûòûõ îðä. íåò +
{ // êðèòåðèé îòêð. Sell
RefreshRates(); // Îáíîâëåíèå äàííûõ
SL= Ask+ StopLoss *Point; // Âû÷èñëåíèå SL îòêð.
TP= Ask- TakeProfit *Point; // Âû÷èñëåíèå TP îòêð.
Comment("Ïîïûòêà îòêðûòü Sell. Îæèäàíèå îòâåòà..");
Ticket=OrderSend(Symb,OP_SELL,Lots,Bid,3,SL,TP,"Sell",174777,0,Red);
if (Ticket>0) // Ïîëó÷èëîñü :)
{
Comment("Îòêðûò îðäåð Sell ",Ticket);
return; // Âûõîä èç start()
}
if (Fun_Error(GetLastError())==1) // Îáðàáîòêà îøèáîê
continue; // Ïîâòîðíàÿ ïîïûòêà
return; // Âûõîä èç start()
}
break; // Âûõîä èç while
}
//--------------------------------------------------------------- 7 --
return; // Âûõîä èç start()
}
//--------------------------------------------------------------- 8 --
int Fun_Error(int Error) // Ô-èÿ îáðàáîò îøèáîê
{
switch(Error)
{ // Ïðåîäîëèìûå îøèáêè
case 4: Alert("Òîðãîâûé ñåðâåð çàíÿò. Ïðîáóåì åù¸ ðàç..");
Sleep(3000); // Ïðîñòîå ðåøåíèå
return(1); // Âûõîä èç ôóíêöèè
case 135:Alert("Öåíà èçìåíèëàñü. Ïðîáóåì åù¸ ðàç..");
RefreshRates(); // Îáíîâèì äàííûå
return(1); // Âûõîä èç ôóíêöèè
case 136:Alert("Íåò öåí. Æä¸ì íîâûé òèê..");
while(RefreshRates()==false) // Äî íîâîãî òèêà
Sleep(1); // Çàäåðæêà â öèêëå
return(1); // Âûõîä èç ôóíêöèè
case 137:Alert("Áðîêåð çàíÿò. Ïðîáóåì åù¸ ðàç..");
Sleep(3000); // Ïðîñòîå ðåøåíèå
return(1); // Âûõîä èç ôóíêöèè
case 146:Alert("Ïîäñèñòåìà òîðãîâëè çàíÿòà. Ïðîáóåì åù¸..");
Sleep(500); // Ïðîñòîå ðåøåíèå
return(1); // Âûõîä èç ôóíêöèè
// Êðèòè÷åñêèå îøèáêè
case 2: Alert("Îáùàÿ îøèáêà.");
return(0); // Âûõîä èç ôóíêöèè
case 5: Alert("Ñòàðàÿ âåðñèÿ òåðìèíàëà.");
Work=false; // Áîëüøå íå ðàáîòàòü
return(0); // Âûõîä èç ôóíêöèè
case 64: Alert("Ñ÷åò çàáëîêèðîâàí.");
Work=false; // Áîëüøå íå ðàáîòàòü
return(0); // Âûõîä èç ôóíêöèè
case 133:Alert("Òîðãîâëÿ çàïðåùåíà.");
return(0); // Âûõîä èç ôóíêöèè
case 134:Alert("Íåäîñòàòî÷íî äåíåã äëÿ ñîâåðøåíèÿ îïåðàöèè.");
return(0); // Âûõîä èç ôóíêöèè
default: Alert("Âîçíèêëà îøèáêà ",Error); // Äðóãèå âàðèàíòû
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
---