Price Data Components
Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
Breakthroughev_2_0efor_tester
//+------------------------------------------------------------------+
//| Breakthrough.mq4 |
//| allcaponne |
//| skyshop@bk.ru |
//+------------------------------------------------------------------+
#property copyright "allcaponne"
#property link "skyshop@bk.ru"
extern double diffpoints=30;// ðàçíèöà â ïóíêòàõ ìåæäó ìàêñèìàëüíûìè èëè ìèíèìàëüíûìè áàðàìè
extern int allbars=6240;// êîë-âî áàðîâ çà ãîä, ïî êîòîðûì îòôèëüòðîâûâàåòñÿ âûñòàâëåíèå îðäåðà
extern int startpoint=2;// áàð ñ êîòîðîãî íà÷èíàåòñÿ ïîèñê ìàêñ èëè ìèí, îòñ÷åò íà÷èíàåò ñ 0 áàðà
extern double drop=30;// íà êàêîì ðàññòîÿíèè + ñïðåä óñòàíàâëèâàåòñÿ îðäåð îò âûáðàííîãî ìàêñèìóìà èëè ìèíèìóìà
extern double lotrisk=5;// ðàçìåð ñóììû ñðåäñòâ êîòîðûìè ìû ìîæåì ðèñêíóòü íà îäíó ñäåëêó, åñëè ñòîâèì ñòîï
extern double StopLoss=370;
extern double TakeProfit=1230;
extern double NoLoss=100;// êîëè÷åñòâî ïóíêòîâ êîòîðûå öåíà ïðîõîäèò â ïðèáûëü è ïîñëå ÷åãî ñòîï ëîññ ïåðåìåùàåòñÿ íà öåíó îòêðûòèÿ ñäåëêè òî åñòü íà òî÷êó áåçóáûòêà.
extern double TrailingStop=330;// Ïðè ïðîõîæäåíèè öåíû â ïðèáûëü íà óêàçàííîå êîë-âî ïóíêòîâ, òî ñòîï ëîññ ïåðåäâèãàåòñÿ íà êîë-âî ïóíêòîâ óêàçàííûõ â TrailingStep.
extern double TrailingStep=150;
extern double Persent=30;// Çàäàííûé ïðîöåíò, ñóììà ìàêñèì îòêðûòûõ ñäåëîê íà âñåõ èíñòðóìåíòàõ
extern int slippage=30;
extern int magic=777;
//---------------------Ãëîáàëüíûå ïåðåìåííûå-------------------------+
double variation=250;// èçìåíåíèå öåíû íà áëèæ 24 áàðàõ, íóæíî äëÿ îòáðàêîâêè ñèãíàëîâ ïðè ñëàáîì ðûíêå(ñëàáîì êîëåáàíèè öåíû)
int ticketbuy,ticketsell;
int Experts;// Êîëè÷. ýêñïåðòîâ çàãðóæåííûõ â òåðìèíàëå
double Money;// Èñêîìûå ñðåäñòâà
string Quantity="GV_Quantity";// Èìÿ GV-ïåðåìåííîé
//-------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
Experts=GlobalVariableGet(Quantity);// Ïîëó÷èì òåê. çíà÷
Experts=Experts+1;// Êîëè÷. ýêñïåðòîâ
GlobalVariableSet(Quantity, Experts);// Íîâîå çíà÷åíèå
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Experts = GlobalVariableGet(Quantity);// Ïîëó÷èì òåê. çíà÷.
if (Experts ==1)// Åñëè ýêñïåðò îäèí..
GlobalVariableDel(Quantity); //..óäàëÿåì GV-ïåðåìåí
else// À èíà÷å..
GlobalVariableSet(Quantity, Experts-1);//..óìåíüøàåì íà 1
Alert("Ýêñïåðò âûãðóæåí èç îêíà ",Symbol());// Ñîîáù. î âûãðóçêå
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----------------------------------------------------------------------------------------------------------------------+
double spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
bool flagbuy,flagbuy2;// ôëàã äëÿ îòêðûòèÿ îðäåðà, åñëè îí true çåíà÷èò îðäåð îòêðîåòñÿ
bool flagsell,flagsell2;// ôëàã äëÿ îòêðûòèÿ îðäåðà, åñëè îí true çåíà÷èò îðäåð îòêðîåòñÿ
double difvarbuy,difvarsell;
double prbuy,prsell;
double opbuy,opsell;
int i,Kol,convulsion;
double editlot,pips,lots,countpips,countlots,stoploss,orclosepr,counstoploss,countorclosepr;
double Lots_New;
int CountCicle=0;//---------------------------------------------+
double LineBuff1[255];// |
int Poz=0;// ïåðåìåííûå äëÿ ðàçáîðà ñòðîêè ïîëó÷àåìîé |
int parser=0;// èç èíäèêàòîðà |
CountCicle=0;//--------------------------------------------------+
double priceallmax,priceallmin;
int seebars;//êîë-âî áàðîâ ñ íà÷àëà íåäåëè
double lot;
int history_orders;
//----------------------------------------------------------------------+
// Âûñòàâëåíèå îðåäåðîâ â ïîíåäåëüíèê, êîòîðûå áûëè óäàëåííû â ïÿòíèöó |
//----------------------------------------------------------------------+
if(DayOfWeek()==1&&Hour()==0&&Minute()>0)
{
int obj_total=ObjectsTotal();
for(i=0;i<obj_total;i++)
{
string LineName=ObjectName(i);
if(ObjectType(LineName)!=OBJ_HLINE)continue;// åñëè îáúåêò íà ãðàôèêå íå ëèíèÿ ñ äàííûìè îá îòëîæåííèêå, òî èäåì äàëüøå
string LineText=ObjectDescription(LineName);
while(parser<=StringLen(LineText)-1)
{
if(StringFind(LineText,";",parser)==parser)
{
LineBuff1[CountCicle]=StrToDouble(StringSubstr(LineText,Poz,parser));
Poz=parser+1;
if(LineBuff1[CountCicle]>0)
{
CountCicle++;
}
}
parser++;
}
string strOrderType=LineBuff1[0];
int iOrderType=StrToInteger(strOrderType);
string strOrderLots=LineBuff1[1];
double dOrderLots=StrToDouble(strOrderLots);
double nOrderLots=NormalizeDouble(dOrderLots,2);
string strOrderOpenPrice=LineBuff1[2];
double dOrderOpenPrice=StrToDouble(strOrderOpenPrice);
double nOrderOpenPrice=NormalizeDouble(dOrderOpenPrice,Digits);
string strOrderStopLoss=LineBuff1[3];
double dOrderStopLoss=StrToDouble(strOrderStopLoss);
double nOrderStopLoss=NormalizeDouble(dOrderStopLoss,Digits);
string strOrderTakeProfit=LineBuff1[4];
double dOrderTakeProfit=StrToDouble(strOrderTakeProfit);
double nOrderTakeProfit=NormalizeDouble(dOrderTakeProfit,Digits);
string strOrderMagicNumber=LineBuff1[5];
int iOrderMagicNumber=StrToInteger(strOrderMagicNumber);
double margin=MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;
RefreshRates();
bool go=false;//ïðîâåðêà íà ñîîòâåòñâèå öåíû îòêðûòèÿ óäàëåííîãî îðäåðà ðåàëüíîé ñèòóàöèè íà ðûíêå
if(iOrderType==OP_BUYSTOP)//â ñëó÷àå åñëè öåíà íàì íå ïîäõîäèò, òî äàííûå ïî îðäåðó óäàëÿþòñÿ è îí íå âûñòàâëÿåòñÿ
{
if(Ask<nOrderOpenPrice-margin)
{
go=true;
}
}
if(iOrderType==OP_SELLSTOP)
{
if(Bid>nOrderOpenPrice+margin)
{
go=true;
}
}// òóò ôóíêöèÿ ïðîâåðêè çàêàí÷èâàåòñÿ
if(go==true)
{
if(ObjectDelete(LineName)==true)
{
RefreshRates();
int ticketdel=OrderSend(Symbol(),iOrderType,nOrderLots,nOrderOpenPrice,slippage,nOrderStopLoss,nOrderTakeProfit,"Delete order",iOrderMagicNumber,0,CLR_NONE);
if(ticketdel>=0)
{
Print("Îðäåð ñ òèêåòîì - ",ticketdel," áûë óñòàíîâëåí èç óäàëåííûõ");
}
if(ticketdel<0)
{
Print("Âîçíèêëà îøèáêà ",GetLastError());
Alert(iOrderType);
}
}
}
else
{
if(ObjectDelete(LineName)==true)
{
Print("Äàííûå ïî îðäåðó áûëè óäàëåííû, òàê êàê öåíà íå ñîîòâåòñòâóåò òðåáîâàíèÿì");
continue;
}
}
}
}
//----------------------------------------------------------------------+
if(Minute()>=50)
{
//-----------------------------------------------------+
// Ðàçìåð ñóììû ñðåäñòâ äëÿ ñîâåòíèêà |
//-----------------------------------------------------+
double Depo=AccountBalance();// ñóììà ñðåäñòâ íà ñ÷åòå
int New_Experts=GlobalVariableGet(Quantity);// Íîâîå êîëè÷. ýêñï.
if(Experts==New_Experts)
{
Money=Depo*Persent/100/Experts;// ñóììà ñðåäñò äëÿ ñîâåòíèêà
Money=NormalizeDouble(Money,2);//
}
if (Experts!=New_Experts)// Åñëè èçìåíèëîñü
{
Experts=New_Experts;// Òåïåðü òåêóù. òàêîå
Money=Depo*Persent/100/Experts;// Íîâîå çíà÷. ñðåäñòâ
Money=NormalizeDouble(Money,2);
}
//----------------------------------------------------------+
//----------------------------------------------------------------+
// Ðàçìåð ñòàðòîâîãî ëîòà â çàâèñèìîñòè îò êîë-âà ñðåäñòâ è ñòîïà |
//----------------------------------------------------------------+
double SzMnPr=MarketInfo(Symbol(),MODE_TICKVALUE);
double livemoney=Money*lotrisk/100;
livemoney=NormalizeDouble(livemoney,2);
double pricepoint=livemoney/StopLoss;// Ñòîèìîñòü 1 ïóíêòà ïðè íàøåì ðèñêå
pricepoint=NormalizeDouble(pricepoint,2);
lot=pricepoint/SzMnPr;// Ðàñ÷åò ëîòà
lot=NormalizeDouble(lot,2);
//----------------------------------------------------------------+
//----------------------------------------------------------+
// îïðåäåëåíèå ðàçìåðà ëîòà ïðè óáûòî÷íîé ñäåëêå |
//----------------------------------------------------------+
history_orders=OrdersHistoryTotal();
for(i=history_orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)&&OrderSymbol()==Symbol())//Âûáèðàåòñÿ îðäåð ñ êîíöà, åñëè íàéäåí íàø îðäåð, òî òîãäà öèêë ïðåðûâàåòñÿ
{
if(OrderProfit()==0)// åñëè ïîïàâøèéñÿ îðäåð çàêðûëñÿ â 0, òî òîãäà èùåì ñëåäóþùèé îðäåð
{
continue;
}
if(OrderType()==OP_BUY)// åñëè ïðèáûëè ïî îðäåðó íà èñòîðèè + èëè -, òî îïðåäåëÿåì åãî òèï
{
pips=OrderClosePrice()-OrderOpenPrice();// îïðåäåëÿåì êîë-âî ïèïñîâ ïðèáûëè èëè óáûòêà
}
if(OrderType()==OP_SELL)// åñëè ïðèáûëè ïî îðäåðó íà èñòîðèè + èëè -, òî îïðåäåëÿåì åãî òèï
{
pips=OrderOpenPrice()-OrderClosePrice();// îïðåäåëÿåì êîë-âî ïèïñîâ ïðèáûëè èëè óáûòêà
}
countpips=pips/Point;
break;// åñëè íàéäåí íóæíûé îðäåð, òî öèêë îñòàíàâëèâàåòñÿ
}
}
if(countpips<0)
{
editlot=lot*1.5;
editlot=NormalizeDouble(editlot,2);
}
else
{
editlot=lot;
}
//-----------------------------------------------------------+
//-----------------------------------------------------------+
// Ïðîâåðêà ðàçìåðà ëîòà
//-----------------------------------------------------------+
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Ñòîèì. 1 ëîòà
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);// Ìèí. ðàçìåð. ëîòîâ
double Step=MarketInfo(Symbol(),MODE_LOTSTEP);//Øàã èçìåíåí ðàçìåðà
double Free=AccountFreeMargin();// Ñâîáîäíûå ñðåäñòâà
if(editlot>0)// Ëîòû çàäàíû ÿâíî..
{
double costorder=editlot*One_Lot;// Ñòîèìîñòü îðäåðà
if(costorder<=AccountFreeMargin())// Ñðåäñòâ õâàòàåò..
{
Lots_New=editlot;// ..ïðèíèìàåì çàäàííîå
}
else// Åñëè íå õâàòàåò..
{
Lots_New=MathFloor(Free/One_Lot/Step)*Step;// Ðàñ÷¸ò ëîòîâ
}
}
if(Lots_New<Min_Lot)// Åñëè ìåíüøå äîïóñò..
{
Lots_New=Min_Lot;// .. òî ìèíèàìàëüíûé
}
if(Lots_New*One_Lot>AccountFreeMargin())// Íå õâàòàåò äàæå íà ìèíèìàëüíûé ëîò
{
Print("Íå õâàòàåò äåíåã äàæå íà ìèíèìàëüíûé ëîò");// Ñîîáùåíèå..
return(0);// ..è âûõîä
}
//--------------------------------------------------------------------------+
for(i=0;i<120;i++)// ôóíêöèÿ äëÿ îïðåäåëåíèÿ êîë-âà áàðîâ ñ íà÷àëà íåäåëè
{
datetime TimeBar=Time[i];
int DayBar=TimeDayOfWeek(TimeBar);
int HourBar=TimeHour(TimeBar);
if(DayBar>=1&&HourBar>0)
{
continue;
}
if(DayBar==1&&HourBar==0)
{
seebars=i;
break;
}
}
if(seebars>=3)
{
int nummax=iHighest(Symbol(),0,MODE_HIGH,seebars-startpoint,startpoint);// îïðåäåëåíèå íîìåðà áàðà ñ ìàêñèì öåíîé íà ó÷àñòêå â ðàçìåðå seebars
double pricemax=iHigh(Symbol(),0,nummax);// ìàêñèìàëüíàÿ öåíà ýòîãî áàðà
int nummin=iLowest(Symbol(),0,MODE_LOW,seebars-startpoint,startpoint);// íîìåð áàðà ñ ìèíèì öåíîé
double pricemin=iLow(Symbol(),0,nummin);// ìèíèìàëüíàÿ öåíà âûáðàíîãî áàðà
if(seebars>=11)
{
int numwavemax=iHighest(Symbol(),0,MODE_HIGH,seebars-1,1);//----------------------------+
int numwavemin=iLowest(Symbol(),0,MODE_LOW,seebars-1,1);// |
double prwavemax=iHigh(Symbol(),0,numwavemax);// |
double prwavemin=iLow(Symbol(),0,numwavemin);// |
double difwave=prwavemax-prwavemin;// îïðåäåëåíèå øóìà íà áëèæàéøèõ |
if(difwave>=variation*Point)// áàðàõ íà èñòîðèè |
{ // |
convulsion=1; // |
} // |
} // |
else// |
{ // |
convulsion=1;// |
}//----------------------------------------------------------------------------------------+
double max=High[0];
double min=Low[0];
//+----------------------------------------------------+
if(pricemax>=max)
{
difvarbuy=pricemax-max;// ðàçíèöà â ïóíêòàõ ìåæäó öåíàìè áàðîâ
prbuy=pricemax;// öåíà îò êîòîðîé áóäåò îòñ÷èòûâàòüñÿ áàéñòîï îðäåð
}
if(max>pricemax)
{
difvarbuy=max-pricemax;// ðàçíèöà â ïóíêòàõ ìåæäó öåíàìè áàðîâ
prbuy=max;// öåíà îò êîòîðîé áóäåò îòñ÷èòûâàòüñÿ áàéñòîï îðäåð
}
//-----------------------------------------------------|
// îòêðûòèå buy îðäåðà +
//-----------------------------------------------------|
if(difvarbuy<=diffpoints*Point&&max>=High[1])// óñëîâèÿ óñòàíîâêè áàéñòîï îðäåðà
{
opbuy=prbuy+spread+(drop*Point);// öåíà ïî êîòîðîé óñòàíàâëèâàåòñÿ áàéñòîï îðäåð, äëÿ àëüïàðè 30, äëÿ îñòàëüíûõ 3
for(i=nummax;i<allbars;i++)//ïðîâåðêà ïîçâîëÿåò ëè áëèæàéøèå áàðû óñòàíîâèòü îðäåð
{
if(High[i]>=opbuy)
{
priceallmax=High[i];
break;
}
if(i==allbars-1)
{
priceallmax=0;
break;
}
}
if(priceallmax==0)
{
flagbuy2=true;
}
if(priceallmax>0)
{
if(priceallmax-opbuy>NoLoss*Point+spread)// ïðîâåðêà åñòü ëè îïðåäåë ðàçíèöà â ïóíêòàõ ìåæäó öåíîé îòêðûòèÿ îðäåðà è áëèæàéøèì ìàêñèìóìîì íà èñòîðèè
{
flagbuy2=true;
}
else
{
flagbuy2=false;
}
}
if(flagbuy2==true&&Minute()>=57)
{
flagbuy=true;
for(i=0;i<OrdersTotal();i++)// ôóíêöèÿ ïðîâåðêè åñòü ëè îòêðûòûé îðäåð íà äàííîì áàðå, äëÿ òîãî ÷òî áû íå îòêðûâàòü íîâûå
{
OrderSelect(i,SELECT_BY_POS);
if(OrderType()==OP_BUYSTOP&&OrderMagicNumber()==magic&&OrderSymbol()==Symbol()&&OrderOpenTime()>=Time[0])
{
flagbuy=false;
}
}
OrderSelect(ticketbuy,SELECT_BY_TICKET);// ïðîâåðêà íà óñòàíîâêó íîâîãî îòëîæíèêà, åñëè íîâûé îòëîæíè äîëæåí áûòü
if(OrderType()==OP_BUYSTOP&&OrderMagicNumber()==magic&&OrderSymbol()==Symbol())// ðÿäîì ñ óæå óñòàíîâäåííûì, òî òàêîé îðäåð íå óñòàíàâëèâàåì
{
double comparebuy=OrderOpenPrice();//ðàçíèöà äîëæíû áûòü íå ìåíåå 25 ïóíêòîâ
if(comparebuy>opbuy)
{
double totalbuy=comparebuy-opbuy/Point;
}
if(comparebuy<opbuy)
{
totalbuy=opbuy-comparebuy/Point;
}
if(totalbuy<250)//äëÿ 5 çíàêîâ 250 ïóíêòîâ, äëÿ îáû÷íûõ 25
{
flagbuy=false;
}
}
if(flagbuy==true&&convulsion==1)
{
ticketbuy=OrderSend(Symbol(),OP_BUYSTOP,Lots_New,opbuy,slippage,opbuy-StopLoss*Point,opbuy+TakeProfit*Point,"Buy stop order",magic,0,Green);
string filenamebuy=StringConcatenate("Order buy","_",Hour(),"_",Minute(),"_",Day(),"_",Month(),"_",".JPG");
WindowScreenShot(filenamebuy,1024,768,0,3,0);
}
}
}
//+------------------------------------------------------+
if(pricemin<=min)
{
difvarsell=min-pricemin;// ðàçíèöà â ïóíêòàõ ìåæäó öåíàìè áàðîâ
prsell=pricemin;// îò êàêîé öåíû áóäåò îòñ÷èòûâàòüñÿ öåíà îòêðûòèÿ îðäåðà
}
if(min<pricemin)
{
difvarsell=pricemin-min;// ðàçíèöà â ïóíêòàõ ìåæäó öåíàìè áàðîâ
prsell=min;// îò êàêîé öåíû áóäåò îòñ÷èòûâàòüñÿ öåíà îòêðûòèÿ îðäåðà
}
//--------------------------------------------------------|
// îòêðûòèå sell îðäåðà +
//--------------------------------------------------------|
if(difvarsell<=diffpoints*Point&&min<=Low[1])// óñëîâèÿ óñòàíîâêè îðäåðà ñåëñòîï
{
opsell=prsell-spread-drop*Point;// öåíà ïî êîòîðîé óñòàíàâëèâàåòñÿ ñåëñòîï îðäåð, äëÿ àëüïàðè 30, äëÿ îñòàëüíûõ 3
for(i=nummin;i<allbars;i++)
{
if(Low[i]<=opsell)
{
priceallmin=Low[i];
break;
}
if(i==allbars-1)
{
priceallmax=0;
break;
}
}
if(priceallmin==0)
{
flagsell2=true;
}
if(priceallmin>0)
{
if(opsell-priceallmin>=NoLoss*Point+spread)// ïðîâåðêà åñòü ëè îïðåäåë ðàçíèöà â ïóíêòàõ ìåæäó öåíîé îòêðûòèÿ îðäåðà è áëèæàéøèì ìèíèìóìîì íà èñòîðèè
{
flagsell2=true;
}
else
{
flagsell2=false;
}
}
if(flagsell2==true&&Minute()>=57)
{
flagsell=true;
for(i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS);
if(OrderType()==OP_SELLSTOP&&OrderMagicNumber()==magic&&OrderSymbol()==Symbol()&&OrderOpenTime()>=Time[0])
{
flagsell=false;
}
}
OrderSelect(ticketsell,SELECT_BY_TICKET);// ïðîâåðêà íà óñòàíîâêó íîâîãî îòëîæíèêà, åñëè íîâûé îòëîæíè äîëæåí áûòü// ïðîâåðêà, åñëè ñôîðìèðîâàëñÿ ñèãíàë è åñòü îòëîæåííèê, òî öåíà îòêðûòèÿ íîâîãî îðäåðà
if(OrderType()==OP_SELLSTOP&&OrderMagicNumber()==magic&&OrderSymbol()==Symbol())// íå äîëæíû áûòü ðÿäîì ñ öåíîé óæå óñòàíîâëåííîãî îðäåðà
{
double comparesell=OrderOpenPrice();
if(comparesell>opsell)
{
double totalsell=comparesell-opsell/Point;
}
if(comparesell<opsell)
{
totalsell=opsell-comparesell/Point;
}
if(totalsell<250)//äëÿ 5 çíàêîâ 250 ïóíêòîâ, äëÿ îáû÷íûõ 25
{
flagsell=false;
}
}
if(flagsell==true&&convulsion==1)
{
ticketsell=OrderSend(Symbol(),OP_SELLSTOP,Lots_New,opsell,slippage,opsell+StopLoss*Point,opsell-TakeProfit*Point,"Sell stop order",magic,0,Green);
string filenamesell=StringConcatenate("Order sell","_",Hour(),"_",Minute(),"_",Day(),"_",Month(),"_",".JPG");
WindowScreenShot(filenamesell,1024,768,0,3,0);
}
}
}
}//îò if(seebars>=3)
}//îò if(Minute()>50)
//-------------------------------------------------------+
//-------------------------------------------------------|
// Òðàë äëÿ îòêðûòûõ ïîçèöèé +
//-------------------------------------------------------|
for (i=0; i<OrdersTotal(); i++)// íîâûé öèêë ïî âñåì îðäåðàì
{
OrderSelect(i,SELECT_BY_POS);
if(OrderType()==OP_BUY&&OrderSymbol()==Symbol())// ïðîâåðêà òèïà îðäåðà è èíñòðóìåíòà
{
if(Bid-OrderOpenPrice()>NoLoss*Point&&OrderOpenPrice()>OrderStopLoss())// óñëîâèÿ óñòàíîâêè ñòîïà â áåçóáûòîê
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);// óñòàíîâêà ñòîðà â áåçóáûòîê
}
if(OrderStopLoss()>=OrderOpenPrice()&&OrderStopLoss()<Bid-(TrailingStop+TrailingStep-10)*Point)// óñëîâèÿ òðàëà îòêðûòîé ïîçèöèè 10 äëÿ àëüïàðè èëè 5 çíàêîâ, òàê -1
{
OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point, OrderTakeProfit(), 0, Blue);// óñòàíîâêà ñòîïà â ïðèáûëü
}
}
if(OrderType()==OP_SELL&&OrderSymbol()==Symbol())// ïðîâåðêà òèïà îðäåðà è èíñòðóìåíòà
{
if(OrderOpenPrice()-Ask>NoLoss*Point&&OrderStopLoss()>OrderOpenPrice())// óñëîâèÿ óñòàíîâêè ñòîïà â áåçóáûòîê
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);// óñòàíîâêà ñòîðà â áåçóáûòîê
}
if(OrderStopLoss()<=OrderOpenPrice()&&OrderStopLoss()>Ask+(TrailingStop+TrailingStep-10)*Point)// óñëîâèÿ òðàëà îòêðûòîé ïîçèöèè 10 äëÿ àëüïàðè èëè 5 çíàêîâ, òàê -1
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Blue);// óñòàíîâêà ñòîïà â ïðèáûëü
}
}
}
//-------------------------------------------------------------------|
// Óäàëÿþòñÿ âñå îòëîæåííûå îðäåðà â ïÿòíèöó ïåðåä çàêðûòèåì ðûíêà +
//-------------------------------------------------------------------|
if(DayOfWeek()==5&&Hour()==21&&Minute()>=55)
{
for(i=0;i<OrdersTotal();i++)// öèêë ïî âñåì îðäåðàì
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderType()==OP_SELL || OrderType()==OP_BUY)
{
if(OrderType()==OP_SELL)
{
RefreshRates();
double closeprice=Ask;
}
if(OrderType()==OP_BUY)
{
RefreshRates();
closeprice=Bid;
}
if(OrderClose(OrderTicket(),OrderLots(),closeprice,slippage,CLR_NONE)==true)
{
Print("Çàêðûò ðûíî÷íûé îðäåð, òàê êàê êîíåö íåäåëè, ñ òèêåòîì - ",OrderTicket());
}
else
Print("Âîçíèêëà îøèáêà ",GetLastError());
}
if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP)
{
int indexwindows=WindowOnDropped();// íîìåð îêíà íà êîòîðîì ðàçìåùåí ýêñïåðò
string Text=StringConcatenate(DoubleToStr(OrderType(),0),";",DoubleToStr(OrderLots(),2),";",DoubleToStr(OrderOpenPrice(),Digits),";",DoubleToStr(OrderStopLoss(),Digits),";",DoubleToStr(OrderTakeProfit(),Digits),";",DoubleToStr(OrderMagicNumber(),0),";");
string Name=DoubleToStr(OrderOpenPrice(),Digits);
if(ObjectCreate(Name,OBJ_HLINE,0,0,OrderOpenPrice())==true)
{
if(ObjectSetText(Name,Text)==true)
{
if(OrderDelete(OrderTicket(),CLR_NONE)==true)// óäàëÿåì îðäåð
{
Print("Óäàëåí îòëîæåííûé îðäåð");
}
else
Print("Âîçíèêëà îøèáêà ",GetLastError());
}
else
Print("Âîçíèêëà îøèáêà ",GetLastError());
}
}
}
}
}
//-------------------------------------------------------------------+
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
---