Price Data Components
Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
2_05_2
//+------------------------------------------------------------------+
//| Pendulum 2_05.mq4 |
//| Copyright © BFE2006 |
//| http://BFE2006@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © BFE2006"
#property link "http://BFE2006@yandex.ru"
//+------------------------------------------------------------------+
//| Ïàðàìåòðû ðàáîòû |
//| - Âûñòàâëÿåò äâà ñòàðòîâûõ îòëîæåííûõ îðäåðà íà ïîêóïêó è ïðîäàæó|
//| (ðàçìåð ëîò ðàñ÷èòûâàåòñÿ àâòîìàòè÷åñêè èñõîäÿ èç ðàçìåðîâ |
//| äåïîçèòà è ìàêñèìàëüíîãî óâåëå÷åíèÿ "ïëå÷à"îò 0.01 äî 0.07ëîòà)|
//| ñ ó÷åòîì ðàçìåðà 2-õ ïðåäèäóùèõ äíåâíûõ áàðîâ (ðàññòîÿíèå îò |
//| òåêóùåé öåíû, âåëè÷èíà òðàëëà è ïèïñîâêè) |
//| |
//| - Òðàëëèò îòëîæåííûå îðäåðà âñëåä çà öåíîé äî ñðàáàòûâàèÿ |
//| îäíîãî èç íèõ |
//| |
//| - Ïèïñóåò ñðàáîòàâøèé îðäåð, èçìåíèâ ïðîòèâîïîëîæíûé îðäåð íà |
//| óðîâåíü "ïëå÷à". Îòëþ÷àåò òðàëë, òàêèì îáðàçîì îáàçíà÷èâ |
//| ãðàíèöû òîðãîâëè |
//| |
//| - Ïðè ðàçâîðîòå öåíû è îòêðûòèè îðäåðà ñ "ïëå÷îì", â |
//| ïðîòèâîïîëîæíóþ ñòîðîíó ñòàâèò îòëîæåííûé îðäåð ñ áîëüøèì |
//| ïëå÷îì â îáðàòíóþ ñòîðîíó ïî öåíå ïåðâîãî îòêðûòîãî îðäåðà è |
//| ò.ä.. (ìàêñèìàëüíûé ëîò óâåëè÷èâàåòñÿ íà 2*128). |
//| Ñîçäàâàÿ ìàÿòíèê. Ïèïñîâêà îòêëþ÷àåòñÿ. |
//| |
//| - Êîíòðîëèðóåò îáùóþ ïðèáûëü è óáûòîê (àâòîìàòè÷åñêè |
//| ðàñ÷èòûâàåòñÿ ïðîöåíò ïðèáûëè îò 2% äî 0.2%). Ïðè íàëè÷èè |
//| ïðèáûëè çàêðûâàåò âñå îðäåðà. |
//+------------------------------------------------------------------+
// ============== Ïàðàìåòðû, íàñòðàèâàèìûå ïîëüçîâàòåëåì =============
// ---------------- Ïàðàìåòðû, îáùèå äëÿ âñåõ îðäåðîâ ----------------
int MAGIC=0; //Ó îðäåðîâ îòêðûòûõ âðó÷íóþ MAGIC=0.
double Lot; //Ëîò äëÿ óñòàíîâêè îðäåðà.
extern string text1="--- Âûáîð êîýôôèöèåíòà óâåëè÷åíèÿ ëîòà ---";
extern double ruka=9; //Ðóêà èçìåííåíèÿ ëîòà ïðè îòðèöàòåëüíîì ðàçâèòèè ñîáûòèé.
extern string text2="--- Âûáîð óðîâíÿ ðèñêà ---";
extern string text3="risk = 0: óðîâåíü ðèñêà ïîíèæàåòñÿ, ïðîöåíò ïðîôèòà íèæå";
extern string text4="Äèàïàçîí: 1% - 0.1%";
extern string text5="risk = 1: ðèñê áîëüøå, ïðîöåíò ïðîôèòà âûøå";
extern string text6="Äèàïàçîí: 1.7% - 0.5%";
//extern double risk=1;
extern string text7="--- Âûáîð ðàññòîÿíèÿ ìåæäó îðäåðàìè ---";
extern string text8="--- Åñëè 0, ïîäáèðàåòñÿ àâòîìàòè÷åñêè (îò 70-100 ïóíêòîâ) ---";
extern double rastoyanie=0;
extern string text9="--- Âûáîð ðàñ÷¸òà ïðîôèòà ---";
extern string text10="--- Åñëè procent=0, ïðîôèò - ïðîöåíò îò äåïîçèòà ---";
extern string text11="--- Åñëè procent=1, èñïîëüçóåì ÒÐÅÉËÈÍÃ ÑÒÎÏ ---";
extern double PP=100;
extern double procent=1;
extern string text12="--- Óðîâåíü ÒÐÅÉËÈÍÃ ÑÒÎÏ ---";
extern string text13="--- Åñëè TRS=0, ìèíèìàëüíûé ---";
extern double TRS=0;
extern string text14="--- Ñòàðòîâûé äåïîçèò ---";
extern double Start_Depo=1000;
bool Auto=true; //Åñëè âêë., àâòîìàòè÷åñêè ðàññ÷èòûâàåòñÿ ðàçìåð ëîòà, ðóêè è
//ãëîáàëüíûõ ñòîïîâ.
bool Ustan_BuyStop=true; //Ìîæíî ëè ñòàâèü Áàé-Còîï åñëè â ðûíêå òàêîãî ó íàñ íåò.
bool Ustan_SellStop=true; //Ìîæíî ëè ñòàâèü Cåëë-Cñòîï åñëè â ðûíêå òàêîãî ó íàñ íåò.
int st_Step; //Ðàññòîÿíèå â ïóíêòàõ îò óðîâíÿ òåêóùåé öåíû
//äî óîðâíÿ óñòàíîâêè ñòîïîâîãî îðäåðà.
int st_TrStop; //Òðåéëèíã-Ñòîï ñòîïîâûõ îðäåðîâ.
//Åñëè = 0 òî òàðëà íåò è st_TrStep íå âàæåí.
int st_TrStep; //Øàã òðàëà ñòîïîâûõ îðäåðîâ.
int PipsProfit; //Ïðîôèò ïðè ïèïñîâêå ìîæíî ñòàâèòü 1, 2, 3, ...
int Proskalz=5; //Ïðîñêàëüçûâàíèå â ïóíêòàõ (íóæíî òîëüêî êîãäà PipsProfit>0).
double pipsruka; //Ïèïñîâêà äëÿ îðäåðîâ ñ ðóêîé.
bool UseGlobalLevels=true; //Âêë./Âûêë. îòñëåæèàíèÿ ãëîáàëüíûõ óðîâíåé ïðèáûëè/óáûòêà
//åñëè UseGlobalLevels=false, òî çíà÷åíèò
//Global_TakeProfit è Global_StopLoss íå âàæíî.
double Global_TakeProfit; //Ãëîáàëüíûé Òåéê-Ïðîôèò (çàäà¸òñÿ â ïðîöåíòàõ).
double Global_StopLoss; //Ãëîáàëüíûé Ñòîï-Ëîññ (çàäà¸òñÿ â ïðîöåíòàõ).
// ---------- Ïðî÷èå ïåðåìåííûå ---------------------------------------
double lot,sts,PNT,NewPrice,Price,Balans,Free,pips,glp,klv,prb,sred_profit;
double s_buy,s_sell,s_buystop,s_sellstop,s_buy_lot,s_buystop_lot,s_sell_lot,s_sellstop_lot; //îòêðûòûå è îòëîæåííûå îðäåðà
string SMB,com1,com2,com3,com4,com5;
int MinLevel;
bool fm,b,s;
double prc2,prc1,prc08,prc06,prc04,prc02,l1,l2,raznost,t_raznost,L,H,sr,zzz;
double risk,prov,price_buy,price_sell,uroven_stop,izm,buy_sell,lll,mmm,nnn,vvv,min_lot,lot_ruka,MRG,T,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,balanc1,balanc2,balanc3,balanc4,balanc5,balanc6,balanc7,balanc8,balanc9,balanc10;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//------------ Ïðîâåðÿåì âêë. ñîâåòíèêà ------------------------------
if(!IsExpertEnabled())//åñëè ëîæü
{Alert("Îøèáêà! Íå íàæàòà êíîïêà *Ñîâåòíèêè*");}
else
{Comment("Êàê òîëüêî öåíà èçìåíèòñÿ, Ñîâåòíèê íà÷í¸ò ðàáîòó.");}
//------------- Çàïîìèíàåì íà÷àëüíûå çíà÷åíèÿ ------------------------
SMB=Symbol(); //Ñèìâîë âàëþòíîé ïàðû
PNT=MarketInfo(SMB,MODE_POINT); //Ðàçìåð ïóíêòà â âàëþòå êîòèðîâêè.
//Äëÿ òåêóùåãî èíñòðóìåíòà õðàíèòñÿ â ïðåäîïðåäåëåííîé
//ïåðåìåííîé Point.
MinLevel=MarketInfo(SMB,MODE_STOPLEVEL);//Ìèíèìàëüíî äîïóñòèìûé óðîâåíü
//ñòîï-ëîññà/òåéê-ïðîôèòà â ïóíêòàõ
//--------------------------------------------------------------------
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
ObjectCreate("label_object1", OBJ_LABEL, 0, 0, 0);
ObjectSet("label_object1", OBJPROP_XDISTANCE, 500);
ObjectSet("label_object1", OBJPROP_YDISTANCE, 17);
ObjectSetText("label_object1", "Pendulum version 2_05_2",9, "Verdana", Red);
//---- Ïðîâåðêà ðàáîòû â àâòîìàòè÷åñêîì ðåæèìå
if (Auto==true){Auto();}
MinLevel=MarketInfo(SMB,MODE_STOPLEVEL);//Ìèíèìàëüíî äîïóñòèìûé óðîâåíü
//ñòîï-ëîññà/òåéê-ïðîôèòà â ïóíêòàõ
if (TRS==0){TRS=MinLevel;}
//---- Îïðåäåëÿåì ïðîöåíò äëÿ ãëîáàëüíîãî ïðîôèòà
l1=lot;l2=Lot*ruka;
raznost=l2-l1;//íàõîäèì ðàçíîñòü ìåæäó ñòàðòîâûì ëîòîì è ëîòîì ñ ðóêîé
t_raznost=MarketInfo(SMB,MODE_TICKVALUE)*raznost;
prc2=(AccountBalance()/100)*2; //2%
prc1=(AccountBalance()/100)*1; //1%
prc08=(AccountBalance()/100)*0.8; //0.8%
prc06=(AccountBalance()/100)*0.6; //0.6%
prc04=(AccountBalance()/100)*0.4; //0.4%
prc02=(AccountBalance()/100)*0.2; //0.2%
if(risk==1)
{
Global_TakeProfit=3;
}
if(risk==0)
{
Global_TakeProfit=0.1;
}
for(int i=1;i<=48;i++)
{
L=L+iLow(Symbol(),PERIOD_D1,1);
H=H+iHigh(Symbol(),PERIOD_D1,1);
}
//----
sr=((H-L)/i)*100000;
sr=(NormalizeDouble((sr),0));
PipsProfit=sr/10;
PipsProfit=(NormalizeDouble((PipsProfit),0)); if(PipsProfit<1){PipsProfit=1;}
st_Step=(sr-PipsProfit-Proskalz)/2; if(st_Step<1000){st_Step=1000;}
//if(st_Step>100){st_Step=100;}
st_TrStop=(sr-PipsProfit-Proskalz)/2; if(st_TrStop<1000){st_TrStop=1000;}
//if(st_TrStop>100){st_TrStop=100;}
if(rastoyanie>0){st_TrStop=rastoyanie;st_TrStop=rastoyanie;}
vvv=st_TrStop;
L=0;H=0;
//---- Çàïîìèíàåì íà÷àëüíûå çíà÷åíèÿ:
lot=Lot; //Ëîòà
sts=st_TrStop; //Òðàëëà ñòîïîâûõ îðäåðîâ
Balans=AccountBalance();
Free=AccountEquity();
// pips=PipsProfit;
glp=Balans+(Balans/100*Global_TakeProfit);
glp=(NormalizeDouble((glp),2));
if(OrdersHistoryTotal()>0){chet();}
//--------------------------------------------------------------------
//----------------- Ñ÷èòàåì îòêðûòûå è îòëîæåííûå îðäåðà -------------
for (int q=OrdersTotal(); q>=0; q--)
{
if (OrderSelect(q,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC)continue;
{
if(OrderType()==OP_BUY) {s_buy++; s_buy_lot=s_buy_lot+OrderLots();}
if(OrderType()==OP_BUYSTOP) {s_buystop++; s_buystop_lot=s_buystop_lot+OrderLots();}
if(OrderType()==OP_SELL) {s_sell++; s_sell_lot=s_sell_lot+OrderLots();}
if(OrderType()==OP_SELLSTOP) {s_sellstop++;s_sellstop_lot=s_sellstop_lot+OrderLots();}
}
}
}
//------- Ïðîâåðÿåì íåîáõîäèìîñòü âûñòàâëåíèÿ ñòàðòîâûõ îðäåðîâ ------
if (s_buy+s_sell==0) {ustorder();}
//------- Ïðîâåðÿåì íåîáõîäèìîñòü òðàëëà ñòàðòîâûõ îðäåðîâ -----------
if (s_buy+s_sell>0){st_TrStop=0;com1="Òðàëë ñòîïîâûõ îðäåðîâ - âûêë. (";} //Åñëè åñòü îòêðûòûé îðäåð âûêë. òðàëë ñòîïîâûõ
if(st_TrStop>0){tr_stop();com1="Òðàëë ñòîïîâûõ îðäåðîâ - âêë. (";}//Ïåðåõîäèì ê òðàëëó
//------------ Ïðîâåðÿåì íåîáõîäèìîñòü óâåëå÷åíèÿ ïëå÷à --------------
//- 1
if (s_buy+s_sell==1){risk=1;}
//- 2
if (s_buy+s_sell==2){Global_TakeProfit=1;}
//- 3
if (s_buy+s_sell==3){Global_TakeProfit=1;}
//- 4
if (s_buy+s_sell==4){Global_TakeProfit=1;}
//- 5
if (s_buy+s_sell>4){Global_TakeProfit=0.05;}
if (s_buy+s_sell>4 && AccountBalance()>50000){Global_TakeProfit=0.005;}
if (s_buy+s_sell>2 && AccountBalance()>10000){Global_TakeProfit=0.0005;}
if (s_buy+s_sell>2 && AccountBalance()>20000){Global_TakeProfit=0.00025;}
if (s_buy+s_sell>2 && AccountBalance()>30000){Global_TakeProfit=0.0001;}
//------------------------------------------
//- 1
if (s_buy+s_sell==1){plecho1();}
//- 2
if (s_buy+s_sell==2){plecho2();}
//- 3
if (s_buy+s_sell==3){plecho3();}
//- 4
if (s_buy+s_sell==4){plecho4();}
//- 5
if (s_buy+s_sell==5){plecho5();}
//- 6
if (s_buy+s_sell==6){plecho6();}
//- 7
//if (s_buy+s_sell==7){plecho7();}
//- 8
//if (s_buy+s_sell==8){plecho8();}
//- 9
//if (s_buy+s_sell==9){plecho9();}
//- 10
//if (s_buy+s_sell==10){plecho10();}
//--- Åñëè åñòü íåîáõîäèìîñòü, êîë-âî êîëåáàíèé ìàÿòíèêà ìîæíî óâåëè÷èòü
//--------------- Ïðîâåðÿåì âêë/âûêë ïèïñîâêè ------------------------
if (s_buy+s_sell>1 && UseGlobalLevels==true){PipsProfit=0;com2="Ïèïñîâêà - âûêë. (";}
if (s_buy+s_sell>1 && UseGlobalLevels==false){pips();com2="Ïèïñîâêà - âêë. (";}
if (s_buy+s_sell==1){pips();com2="Ïèïñîâêà - âêë. (";}
if (s_buy+s_sell==0){com2="Ïèïñîâêà - âêë. (";}
if (PipsProfit==0 || PipsProfit>4)com3=" ïóíêòîâ";
if (PipsProfit==1)com3=" ïóíêò";
if (PipsProfit>2 && PipsProfit<5)com3=" ïóíêòa";
//-------------- Ðàñ÷èòûâàåì ñòîïû -----------------------------------
if(s_buy_lot-s_sell_lot>0)
{
buy_sell=MathAbs(s_buy_lot-s_sell_lot);
izm=MarketInfo(SMB,MODE_TICKVALUE)*buy_sell;
uroven_stop=zzz/izm;
uroven_stop=(NormalizeDouble((uroven_stop),0));
// for(int wy=OrdersTotal();wy>=0;wy--)
// {
// if (OrderSelect(wy,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderType()==OP_BUY)
// {price_buy=OrderOpenPrice();
// OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()+(uroven_stop)*Point,0);}
// if(OrderType()==OP_SELL)
// {price_sell=OrderOpenPrice();
// OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+(uroven_stop+vvv)*Point,0,0);}
// }
// }
}
if(s_buy_lot-s_sell_lot<0)
{
buy_sell=MathAbs(s_buy_lot-s_sell_lot);
izm=MarketInfo(SMB,MODE_TICKVALUE)*buy_sell;
uroven_stop=zzz/izm;
uroven_stop=(NormalizeDouble((uroven_stop),0));
// for(int wyi=OrdersTotal();wyi>=0;wyi--)
// {
// if (OrderSelect(wyi,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderType()==OP_BUY)
// {price_buy=OrderOpenPrice();
// OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-(uroven_stop+vvv)*Point,0,0);}
// if(OrderType()==OP_SELL)
// {price_sell=OrderOpenPrice();
// OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()-(uroven_stop)*Point,0);}
// }
// }
}
//--------------- Ïðîâåðÿåì ãëîáàëüíûå óðîâíè ------------------------
if (s_buy+s_sell>0 && s_buy+s_sell<11 && UseGlobalLevels==true && (Free-Balans)>=(Balans/100*Global_TakeProfit)){glob_profit();}
if ((Balans-Free)>=((Balans-Start_Depo)/100*PP)){glob_stop();}
//----------------- Âûâîäèì èíôîðìàöèþ -------------------------------
if(Lot>0)
{
zzz=glp-AccountEquity();
Comment("Îòêðûòûõ îðäåðîâ äëÿ ",SMB,":","\n",
"buy - ",s_buy," (",s_buy_lot,")"," sell - ",s_sell," (",s_sell_lot,")","\n",
"buystop - ",s_buystop," (",s_buystop_lot,")"," sellstop - ",s_sellstop," (",s_sellstop_lot,")","\n",
com1,vvv,")","\n",
"--- Ãëîáàëüíûé ïðîôèò ---","\n",glp," ",AccountCurrency()," (",Global_TakeProfit," %)","\n","Îñòàëîñü äî óðîâíÿ ",zzz," ",AccountCurrency(),
" (",uroven_stop," ïóíêòà(îâ)","\n","Êîë-âî ñäåëîê - ",klv,"\n","Ïðèáûëü - ",prb," ",AccountCurrency(),"\n",
"Ñðåäíÿÿ ïðèáûëü - ",sred_profit," ",AccountCurrency(),"\n");
}
if(Lot==0)
{
balanc1=(NormalizeDouble((balanc1),2));
Comment(com4,"\n",com5,"\n","Ìèíèìóì - ",balanc1," ",AccountCurrency());
}
//----------------- Îáíóëÿåì ñ÷åò÷èêè --------------------------------
if (s_buy+s_sell==1) {TRS=200;}
if (s_buy+s_sell> 1) {TRS=200;}
s_buy=0;s_buystop=0;s_sell=0;s_sellstop=0;s_buy_lot=0;s_buystop_lot=0;s_sell_lot=0;s_sellstop_lot=0;
st_TrStop=sts;Lot=lot;PipsProfit=pips;sred_profit=0;
sred_profit=prb/klv;
sred_profit=(NormalizeDouble((sred_profit),2));
klv=0;prb=0;price_buy=0;price_sell=0;
return(0);
}
//====================================================================
//----------------- Ñòàâèì ñòàðòîâûå îòëîæåííûå îðäåðà ---------------
void ustorder()
{
if(s_sellstop==0 && st_Step>=MinLevel)
{
NewPrice=Bid-st_Step*Point;
fm=OrderSend(SMB,OP_SELLSTOP,Lot,NewPrice,3,0,0,NULL,MAGIC,0,Red);
PlaySound("Wait.wav");
}
if(s_buystop==0 && st_Step>=MinLevel)
{
NewPrice=Ask+st_Step*Point;
fm=OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,0,0,NULL,MAGIC,0,Blue);
PlaySound("Wait.wav");
}
}
//----------------- Òðàëëèì ñòîïîâûé îðäåð ---------------------------
void tr_stop()
{
for(int w=OrdersTotal();w>=0;w--)
{
if (OrderSelect(w,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderType()==OP_BUYSTOP && OrderOpenPrice()>Ask+(st_TrStop+st_TrStep)*Point)
{NewPrice=Ask+st_TrStop*Point;fm=OrderModify(OrderTicket(),NewPrice,0,0,0);
PlaySound("Expert.wav");}
if(OrderType()==OP_SELLSTOP && OrderOpenPrice()<Bid-(st_TrStop+st_TrStep)*Point)
{NewPrice=Bid-st_TrStop*Point;fm=OrderModify(OrderTicket(),NewPrice,0,0,0);
PlaySound("Expert.wav");}
}
}
}
//---------------------------- Ïèïñóåì -------------------------------
void pips()
{
//for(int e=OrdersTotal();e>=0;e--)
// {
// if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderType()==OP_BUY && OrderOpenPrice()<Bid-(PipsProfit)*Point)
// {OrderClose(OrderTicket(),OrderLots(),Bid,10);zachistka();}
// if(OrderType()==OP_SELL && OrderOpenPrice()>Ask+(PipsProfit)*Point)
// {OrderClose(OrderTicket(),OrderLots(),Bid,10);zachistka();}
// }
// }
}
//------------------------ Óáèðàåì ëèøüíèå îðäåðà --------------------
void zachistka()
{
for(int e=OrdersTotal();e>=0;e--)
{
if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderLots()>lot){OrderDelete(OrderTicket());}
if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,5);PlaySound("Error.wav");}
if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,5);PlaySound("Error.wav");}
// for(int we=OrdersTotal();we>=0;we--)
// {
// if (OrderSelect(we,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderType()==OP_BUY && OrderOpenPrice()<Bid-(PipsProfit+Proskalz)*Point)
// {OrderClose(OrderTicket(),OrderLots(),Bid,3);}
// if(OrderType()==OP_SELL && OrderOpenPrice()>Ask+(PipsProfit+Proskalz)*Point)
// {OrderClose(OrderTicket(),OrderLots(),Bid,3);}
// }
// }
}
}
}
//------------------ Ðàáîòà ñ ãëîáàëüíûìè óðîâíÿìè -------------------
//====================================================================
void glob_profit()
{
TRS=70;
if (procent==0)
{
for (int i=OrdersTotal();i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderType()==OP_BUY){OrderClose(OrderTicket(),OrderLots(),Bid,3);PlaySound("Error.wav");}
if(OrderType()==OP_SELL){OrderClose(OrderTicket(),OrderLots(),Ask,3);PlaySound("Error.wav");}
}
}
zachistka();
}
if (procent==1)
{
for (int it=OrdersTotal();it>=0; it--)
{
if (OrderSelect(it,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,7);PlaySound("Error.wav");}
if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Ask,7);PlaySound("Error.wav");}
}
}
for (int eit=OrdersTotal();eit>=0; eit--)
{
if (OrderSelect(eit,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderProfit()>0 && OrderType()==OP_BUY && Bid-OrderOpenPrice()>TRS*Point)
{if(OrderStopLoss()<Bid-TRS*Point)
{OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TRS*Point,0,0,CLR_NONE);PlaySound("Error.wav");}
}
if(OrderProfit()>0 && OrderType()==OP_SELL && OrderOpenPrice()-Ask>TRS*Point)
{if(OrderStopLoss()>Ask+TRS*Point || OrderStopLoss()==0)
{OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TRS*Point,0,0,CLR_NONE);PlaySound("Error.wav");}
}
if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,3);PlaySound("Error.wav");}
}
}
}
zachistka();
}
//====================================================================
void glob_stop()
{
for (int i=OrdersTotal();i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderType()==OP_BUY) {OrderClose(OrderTicket(),OrderLots(),Bid,3);}
if(OrderType()==OP_SELL){OrderClose(OrderTicket(),OrderLots(),Ask,3);}
}
}
zachistka();
}
//-------------------------- Ïëå÷î õ1 --------------------------------
void plecho1()
{//Îïðåäåëÿåì â êàêóþ ñòîðîíó óâåëè÷èâàòü
for (int e=OrdersTotal();e>=0;e--)
{
if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderType()==OP_BUYSTOP && OrderLots()<lot*ruka)//Îïðåäåëÿåì íàïðàâëåíèå è öåíó ïëå÷à
{Price=OrderOpenPrice();OrderDelete(OrderTicket());Lot=lot*ruka;
fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
}
if (OrderType()==OP_SELLSTOP && OrderLots()<lot*ruka)//Îïðåäåëÿåì íàïðàâëåíèå è öåíó ïëå÷à
{Price=OrderOpenPrice();OrderDelete(OrderTicket());Lot=lot*ruka;
fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
}
}
//-------------------------- Ïëå÷î õ2 --------------------------------
void plecho2()
{
for (int e=OrdersTotal();e>=0;e--)
{
if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderLots()==lot*ruka*2 && OrderType()==OP_BUYSTOP){return(0);}
if(OrderLots()==lot*ruka*2 && OrderType()==OP_SELLSTOP){return(0);}
if(OrderLots()==lot && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*2;
fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
if(OrderLots()==lot && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*2;
fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
}
}
}
//-------------------------- Ïëå÷î õ3 --------------------------------
void plecho3()
{
for (int e=OrdersTotal();e>=0;e--)
{
if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderLots()==lot*ruka*4 && OrderType()==OP_BUYSTOP){return(0);}
if(OrderLots()==lot*ruka*4 && OrderType()==OP_SELLSTOP){return(0);}
if(OrderLots()==lot*ruka && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*4;
fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
if(OrderLots()==lot*ruka && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*4;
fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
}
}
}
//-------------------------- Ïëå÷î õ4 --------------------------------
void plecho4()
{
for (int e=OrdersTotal();e>=0;e--)
{
if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderLots()==lot*ruka*8 && OrderType()==OP_BUYSTOP){return(0);}
if(OrderLots()==lot*ruka*8 && OrderType()==OP_SELLSTOP){return(0);}
if(OrderLots()==lot*ruka*2 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*8;
fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
if(OrderLots()==lot*ruka*2 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*8;
fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
}
}
}
//-------------------------- Ïëå÷î õ5 --------------------------------
void plecho5()
{
for (int e=OrdersTotal();e>=0;e--)
{
if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderLots()==lot*ruka*16 && OrderType()==OP_BUYSTOP){return(0);}
if(OrderLots()==lot*ruka*16 && OrderType()==OP_SELLSTOP){return(0);}
if(OrderLots()==lot*ruka*4 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*16;
fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
if(OrderLots()==lot*ruka*4 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*16;
fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
}
}
}
//-------------------------- Ïëå÷î õ6 --------------------------------
void plecho6()
{
for (int e=OrdersTotal();e>=0;e--)
{
if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderLots()==lot*ruka*32 && OrderType()==OP_BUYSTOP){return(0);}
if(OrderLots()==lot*ruka*32 && OrderType()==OP_SELLSTOP){return(0);}
if(OrderLots()==lot*ruka*8 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*32;
fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
if(OrderLots()==lot*ruka*8 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*32;
fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
}
}
}
//-------------------------- Ïëå÷î õ7 --------------------------------
//void plecho7()
//{
// for (int e=OrdersTotal();e>=0;e--)
// {
// if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderLots()==lot*ruka*64 && OrderType()==OP_BUYSTOP){return(0);}
// if(OrderLots()==lot*ruka*64 && OrderType()==OP_SELLSTOP){return(0);}
// if(OrderLots()==lot*ruka*16 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*64;
// fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// if(OrderLots()==lot*ruka*16 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*64;
// fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// }
// }
//}
//-------------------------- Ïëå÷î õ8 --------------------------------
//void plecho8()
//{
// for (int e=OrdersTotal();e>=0;e--)
// {
// if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderLots()==lot*ruka*128 && OrderType()==OP_BUYSTOP){return(0);}
// if(OrderLots()==lot*ruka*128 && OrderType()==OP_SELLSTOP){return(0);}
// if(OrderLots()==lot*ruka*32 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*128;
// fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// if(OrderLots()==lot*ruka*32 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*128;
// fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// }
// }
//}
//-------------------------- Ïëå÷î õ9 --------------------------------
//void plecho9()
//{
// for (int e=OrdersTotal();e>=0;e--)
// {
// if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderLots()==lot*ruka*512 && OrderType()==OP_BUYSTOP){return(0);}
// if(OrderLots()==lot*ruka*512 && OrderType()==OP_SELLSTOP){return(0);}
// if(OrderLots()==lot*ruka*64 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*512;
// fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// if(OrderLots()==lot*ruka*64 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*512;
// fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// }
// }
//}
//-------------------------- Ïëå÷î õ10 -------------------------------
//void plecho10()
//{
// for (int e=OrdersTotal();e>=0;e--)
// {
// if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
// {
// if(OrderLots()==lot*ruka*1024 && OrderType()==OP_BUYSTOP){return(0);}
// if(OrderLots()==lot*ruka*1024 && OrderType()==OP_SELLSTOP){return(0);}
// if(OrderLots()==lot*ruka*128 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*1024;
// fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// if(OrderLots()==lot*ruka*128 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*1024;
// fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
// }
// }
//}
//-------------------------- Ñ÷åò÷èê ---------------------------------
void chet()
{
for (int r=0; r<=OrdersHistoryTotal(); r++)
{
if(OrderSelect(r,SELECT_BY_POS,MODE_HISTORY)==true)
if(OrderClosePrice()>0)
prb=prb+OrderProfit()+OrderSwap();
if(OrderClosePrice()>0 && (OrderProfit()+OrderSwap())>0)klv=klv+1;
if(OrderClosePrice()>0 && (OrderProfit()+OrderSwap())<0)klv=klv+1;
}
prb=(NormalizeDouble((prb),2));
}
//------------------- Ðàñ÷åò ëîòà è ðóêè -----------------------------
//--------------------------------------------------------------------
void Auto()
{
min_lot=MarketInfo(SMB,MODE_MINLOT);
//-----
min_lot=MarketInfo(SMB,MODE_MINLOT);
double min_prise=MarketInfo(SMB,MODE_TICKVALUE);
Lot=(AccountFreeMargin()/min_prise)/2800;double l=Lot;
Lot=NormalizeDouble((Lot),2);
}
//+------------------------------------------------------------------+
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
---