BigRise EA
BigRise EA

BigRise EA

更新日期:
2022-03-01
分类标签:
语言:
中文
平台:
没限制

60 人已下载 手机查看

描述文字
BigRise EA

 

 

//+——————————————————————+
//| BigRise EA.mq4 |
//| MFOREX.PRO |
//| https://www.mforex.pro |
//+——————————————————————+
#property copyright “MFOREX.PRO”
#property link “https://www.mforex.pro”
#property version “1.00”
#property strict
//+——————————————————————+
//| Выбор языка
//+——————————————————————+
enum Lang{
r=0, //RU
e=1, //EN
};
//+——————————————————————+
//| Переменные
//+——————————————————————+
input Lang Languale =1;
input double StopLossProcent =0;
input bool UseLotManual =false;
input double ManualLot =0.01;
input double Risk =1;
input int ProfitPips =20;
input int MinPips =5;
input int TimeFrame =1;
input string pEURUSD =”EURUSD”;
input int pEURUSD_Step =25;
input string pGBPUSD =”GBPUSD”;
input int pGBPUSD_Step =25;
input string pAUDUSD =”AUDUSD”;
input int pAUDUSD_Step =25;
input string pUSDCAD =”USDCAD”;
input int pUSDCAD_Step =25;
input string pUSDCHF =”USDCHF”;
input int pUSDCHF_Step =25;
input int MaxOrders =100;
input string MobClosPair =”EURAUD”;
input double TimeStart =8;
input double TimeEnd =22;
input int SpeedEA =50;
input int Magic =888;
input bool UseUPlot =false;
//+——————————————————————+
//| Дополнительные переменные
//+——————————————————————+
color FonColor =Black;
int FontSize =7;
int FontSizeInfo =7;
color TXTButton =Red;
color ClickButton =Black;
color FonButtonInfo =White;
color FonButtonBuy =Blue;
color FonButtonSell =Red;
color TextButtonBS =White;
color FonButton =White;
color TextColor =White;
color ButtonBorder =Blue;
color InfoDataColor =Red;
color InfoDataColorText =Red;
color EditColor =Black;
//———————————–
string comment = “www.mforex.pro”;
int BWidth = 60;
int BHeigh = 20;
int o;
double Lot_1 =0;
double Lot_2 =0;
double Lot_3 =0;
double Lot_4 =0;
double Lot_5 =0;
int D_1,D_2,D_3,D_4,D_5;
int dig_1,dig_2,dig_3,dig_4,dig_5;
double SizeBar_1, SizeBar_2, SizeBar_3, SizeBar_4, SizeBar_5;
static double TimeClose =0;
string PairName;
string TextOn;
string TextOff;
//+——————————————————————+
//|==================== Переменные лицензии =========================|
//+——————————————————————+
bool Demo =false;
int AccNumber =0;
bool LimitLicense =true;
int DeyLicense =7;
int DeyLimit =0;
//+——————————————————————+
//| Инициализация
//+——————————————————————+
int OnInit()
{
EventSetMillisecondTimer(SpeedEA);

D_1=1;
if (MarketInfo(pEURUSD,MODE_DIGITS)==5 || MarketInfo(pEURUSD,MODE_DIGITS)==3)
{D_1=10;}

D_2=1;
if (MarketInfo(pGBPUSD,MODE_DIGITS)==5 || MarketInfo(pGBPUSD,MODE_DIGITS)==3)
{D_2=10;}

D_3=1;
if (MarketInfo(pAUDUSD,MODE_DIGITS)==5 || MarketInfo(pAUDUSD,MODE_DIGITS)==3)
{D_3=10;}

D_4=1;
if (MarketInfo(pUSDCAD,MODE_DIGITS)==5 || MarketInfo(pUSDCAD,MODE_DIGITS)==3)
{D_4=10;}

D_5=1;
if (MarketInfo(pUSDCHF,MODE_DIGITS)==5 || MarketInfo(pUSDCHF,MODE_DIGITS)==3)
{D_5=10;}

return(INIT_SUCCEEDED);
}
//+——————————————————————+
//| ДеИнициализация
//+——————————————————————+
void OnDeinit(const int reason)
{
ObjectsDeleteAll(0,OBJ_LABEL);
EventKillTimer();
ObjectsDeleteAll(0,OBJ_BUTTON);
ObjectsDeleteAll(0,OBJ_EDIT);
ObjectsDeleteAll(0,OBJ_RECTANGLE_LABEL);

}
//+——————————————————————+
//| Старт
//+——————————————————————+
void OnTick()
{
string P_1,P_2,P_3,P_4,P_5;

if(IsTesting())
{P_1=Symbol();
P_2=Symbol();
P_3=Symbol();
P_4=Symbol();
P_5=Symbol();}
else
{P_1=pEURUSD;
P_2=pGBPUSD;
P_3=pAUDUSD;
P_4=pUSDCAD;
P_5=pUSDCHF;}
//============== Привязываем к номеру счета ========================
if(AccNumber>0 && AccountNumber()!=AccNumber)
{
if(Languale==0)
{
RectLabelCreate(“ERROR_FON”,850,100,300,120,FonColor,1);
PutLabelD(“ERROR_TEXT1″,780,110,”НЕ ВЕРНЫЙ НОМЕР СЧЕТА!”,1);
PutLabelT(“ERROR_TEXT2″,845,130,”Обратитесь к автору:”,1);
PutLabelT(“ERROR_TEXT3″,845,150,”Скайп:”,1);
PutLabelD(“ERROR_TEXT4″,780,150,”live:mforex.pro”,1);
PutLabelT(“ERROR_TEXT5″,845,170,”Телеграм:”,1);
PutLabelD(“ERROR_TEXT6″,780,170,”@mforex.pro”,1);
PutLabelT(“ERROR_TEXT7″,845,190,”Почта:”,1);
PutLabelD(“ERROR_TEXT8″,780,190,”mforex.pro@gmail.com”,1);
}
if(Languale==1)
{
RectLabelCreate(“ERROR_FON”,850,100,300,120,FonColor,1);
PutLabelD(“ERROR_TEXT1″,780,110,”NOT A VALID ACCOUNT NUMBER!”,1);
PutLabelT(“ERROR_TEXT2″,845,130,”Contact the author:”,1);
PutLabelT(“ERROR_TEXT3″,845,150,”Skype:”,1);
PutLabelD(“ERROR_TEXT4″,780,150,”live:mforex.pro”,1);
PutLabelT(“ERROR_TEXT5″,845,170,”Telegram:”,1);
PutLabelD(“ERROR_TEXT6″,780,170,”@mforex.pro”,1);
PutLabelT(“ERROR_TEXT7″,845,190,”E-Mail:”,1);
PutLabelD(“ERROR_TEXT8″,780,190,”mforex.pro@gmail.com”,1);
}
}
else
{
//———Ограничения на демо——-
if(Demo && IsDemo()==false)
{
if(Languale==0)
{
RectLabelCreate(“ERROR_FON”,850,100,320,120,FonColor,1);
PutLabelD(“ERROR_TEXT1″,845,110,”ВАША ВЕРСИЯ РАБОТАЕТ ТОЛЬКО НА ДЕМО СЧЕТЕ!”,1);
PutLabelT(“ERROR_TEXT2″,845,130,”Обратитесь к автору:”,1);
PutLabelT(“ERROR_TEXT3″,845,150,”Скайп:”,1);
PutLabelD(“ERROR_TEXT4″,780,150,”live:mforex.pro”,1);
PutLabelT(“ERROR_TEXT5″,845,170,”Телеграм:”,1);
PutLabelD(“ERROR_TEXT6″,780,170,”@mforex.pro”,1);
PutLabelT(“ERROR_TEXT7″,845,190,”Почта:”,1);
PutLabelD(“ERROR_TEXT8″,780,190,”mforex.pro@gmail.com”,1);
}
if(Languale==1)
{
RectLabelCreate(“ERROR_FON”,850,100,320,120,FonColor,1);
PutLabelD(“ERROR_TEXT1″,845,110,”YOUR VERSION ONLY WORKS ON DEMO ACCOUNT!”,1);
PutLabelT(“ERROR_TEXT2″,845,130,”Contact the author:”,1);
PutLabelT(“ERROR_TEXT3″,845,150,”Skype:”,1);
PutLabelD(“ERROR_TEXT4″,780,150,”live:mforex.pro”,1);
PutLabelT(“ERROR_TEXT5″,845,170,”Telegram:”,1);
PutLabelD(“ERROR_TEXT6″,780,170,”@mforex.pro”,1);
PutLabelT(“ERROR_TEXT7″,845,190,”E-Mail:”,1);
PutLabelD(“ERROR_TEXT8″,780,190,”mforex.pro@gmail.com”,1);
}
}
//============ Если ограничений нет или счет демо ==================
if(!Demo || (Demo && IsDemo()==true))
{
//+——————————————————————+
//| Торговый Алгоритм
//+——————————————————————+
//======= Находим лот
if(UseLotManual)
{
Lot_1=ManualLot;
Lot_2=ManualLot;
Lot_3=ManualLot;
Lot_4=ManualLot;
Lot_5=ManualLot;
}
else
{
//— 1
if(MarketInfo(P_1,MODE_LOTSTEP)==0.01) dig_1 =2;
if(MarketInfo(P_1,MODE_LOTSTEP)==0.10) dig_1 =1;
if(MarketInfo(P_1,MODE_LOTSTEP)==1.00) dig_1 =0;

Lot_1=NormalizeDouble(AccountBalance()/100*Risk/(MarketInfo(P_1,MODE_TICKVALUE)*100*D_1),dig_1);
if(Lot_1<MarketInfo(P_1,MODE_MINLOT)) {Lot_1=MarketInfo(P_1,MODE_MINLOT);}
if(Lot_1>=MarketInfo(P_1,MODE_MAXLOT)) {Lot_1=MarketInfo(P_1,MODE_MAXLOT);}
//— 2
if(MarketInfo(P_2,MODE_LOTSTEP)==0.01) dig_2 =2;
if(MarketInfo(P_2,MODE_LOTSTEP)==0.10) dig_2 =1;
if(MarketInfo(P_2,MODE_LOTSTEP)==1.00) dig_2 =0;

Lot_2=NormalizeDouble(AccountBalance()/100*Risk/(MarketInfo(P_2,MODE_TICKVALUE)*100*D_2),dig_2);
if(Lot_2<MarketInfo(P_2,MODE_MINLOT)) {Lot_2=MarketInfo(P_2,MODE_MINLOT);}
if(Lot_2>=MarketInfo(P_2,MODE_MAXLOT)) {Lot_2=MarketInfo(P_2,MODE_MAXLOT);}
//— 3
if(MarketInfo(P_3,MODE_LOTSTEP)==0.01) dig_3 =2;
if(MarketInfo(P_3,MODE_LOTSTEP)==0.10) dig_3 =1;
if(MarketInfo(P_3,MODE_LOTSTEP)==1.00) dig_3 =0;

Lot_3=NormalizeDouble(AccountBalance()/100*Risk/(MarketInfo(P_3,MODE_TICKVALUE)*100*D_3),dig_3);
if(Lot_3<MarketInfo(P_3,MODE_MINLOT)) {Lot_3=MarketInfo(P_3,MODE_MINLOT);}
if(Lot_3>=MarketInfo(P_3,MODE_MAXLOT)) {Lot_3=MarketInfo(P_3,MODE_MAXLOT);}
//— 4
if(MarketInfo(P_4,MODE_LOTSTEP)==0.01) dig_4 =2;
if(MarketInfo(P_4,MODE_LOTSTEP)==0.10) dig_4 =1;
if(MarketInfo(P_4,MODE_LOTSTEP)==1.00) dig_4 =0;

Lot_4=NormalizeDouble(AccountBalance()/100*Risk/(MarketInfo(P_4,MODE_TICKVALUE)*100*D_4),dig_4);
if(Lot_4<MarketInfo(P_4,MODE_MINLOT)) {Lot_4=MarketInfo(P_4,MODE_MINLOT);}
if(Lot_4>=MarketInfo(P_4,MODE_MAXLOT)) {Lot_4=MarketInfo(P_4,MODE_MAXLOT);}
//— 5
if(MarketInfo(P_5,MODE_LOTSTEP)==0.01) dig_5 =2;
if(MarketInfo(P_5,MODE_LOTSTEP)==0.10) dig_5 =1;
if(MarketInfo(P_5,MODE_LOTSTEP)==1.00) dig_5 =0;

Lot_5=NormalizeDouble(AccountBalance()/100*Risk/(MarketInfo(P_5,MODE_TICKVALUE)*100*D_5),dig_5);
if(Lot_5<MarketInfo(P_5,MODE_MINLOT)) {Lot_5=MarketInfo(P_5,MODE_MINLOT);}
if(Lot_5>=MarketInfo(P_5,MODE_MAXLOT)) {Lot_5=MarketInfo(P_5,MODE_MAXLOT);}
}
//======= Точка входа
//— Условия для входа
bool GoBuy=false; bool GoSell=false;
if(iOpen(P_1,TimeFrame,1)>iClose(P_1,TimeFrame,1) &&
iOpen(P_2,TimeFrame,1)>iClose(P_2,TimeFrame,1) &&
iOpen(P_3,TimeFrame,1)>iClose(P_3,TimeFrame,1) &&
iOpen(P_4,TimeFrame,1)<iClose(P_4,TimeFrame,1) &&
iOpen(P_5,TimeFrame,1)<iClose(P_5,TimeFrame,1))
{GoSell=true;}

if(iOpen(P_1,TimeFrame,1)<iClose(P_1,TimeFrame,1) &&
iOpen(P_2,TimeFrame,1)<iClose(P_2,TimeFrame,1) &&
iOpen(P_3,TimeFrame,1)<iClose(P_3,TimeFrame,1) &&
iOpen(P_4,TimeFrame,1)>iClose(P_4,TimeFrame,1) &&
iOpen(P_5,TimeFrame,1)>iClose(P_5,TimeFrame,1))
{GoBuy=true;}
//————
bool GoBuy_1=false, GoBuy_2=false, GoBuy_3=false, GoBuy_4=false, GoBuy_5=false;
bool GoSell_1=false, GoSell_2=false, GoSell_3=false, GoSell_4=false, GoSell_5=false;

if(GoSell)
{
SizeBar_1=(iOpen(P_1,TimeFrame,1)-iClose(P_1,TimeFrame,1))/MarketInfo(P_1,MODE_POINT);
SizeBar_2=(iOpen(P_2,TimeFrame,1)-iClose(P_2,TimeFrame,1))/MarketInfo(P_2,MODE_POINT);
SizeBar_3=(iOpen(P_3,TimeFrame,1)-iClose(P_3,TimeFrame,1))/MarketInfo(P_3,MODE_POINT);
SizeBar_4=(iClose(P_4,TimeFrame,1)-iOpen(P_4,TimeFrame,1))/MarketInfo(P_4,MODE_POINT);
SizeBar_5=(iClose(P_5,TimeFrame,1)-iOpen(P_5,TimeFrame,1))/MarketInfo(P_5,MODE_POINT);
}
//—-
if(GoBuy)
{
SizeBar_1=(iClose(P_1,TimeFrame,1)-iOpen(P_1,TimeFrame,1))/MarketInfo(P_1,MODE_POINT);
SizeBar_2=(iClose(P_2,TimeFrame,1)-iOpen(P_2,TimeFrame,1))/MarketInfo(P_2,MODE_POINT);
SizeBar_3=(iClose(P_3,TimeFrame,1)-iOpen(P_3,TimeFrame,1))/MarketInfo(P_3,MODE_POINT);
SizeBar_4=(iOpen(P_4,TimeFrame,1)-iClose(P_4,TimeFrame,1))/MarketInfo(P_4,MODE_POINT);
SizeBar_5=(iOpen(P_5,TimeFrame,1)-iClose(P_5,TimeFrame,1))/MarketInfo(P_5,MODE_POINT);
}
//—–
if(SizeBar_1>SizeBar_2 &&
SizeBar_1>SizeBar_3 &&
SizeBar_1>SizeBar_4 &&
SizeBar_1>SizeBar_5 && GoBuy &&
SizeBar_1>MinPips)
{GoBuy_1=true;}

if(SizeBar_2>SizeBar_1 &&
SizeBar_2>SizeBar_3 &&
SizeBar_2>SizeBar_4 &&
SizeBar_2>SizeBar_5 && GoBuy &&
SizeBar_2>MinPips)
{GoBuy_2=true;}

if(SizeBar_3>SizeBar_2 &&
SizeBar_3>SizeBar_1 &&
SizeBar_3>SizeBar_4 &&
SizeBar_3>SizeBar_5 && GoBuy &&
SizeBar_3>MinPips)
{GoBuy_3=true;}

if(SizeBar_4>SizeBar_2 &&
SizeBar_4>SizeBar_3 &&
SizeBar_4>SizeBar_1 &&
SizeBar_4>SizeBar_5 && GoBuy &&
SizeBar_4>MinPips)
{GoSell_4=true;}

if(SizeBar_5>SizeBar_2 &&
SizeBar_5>SizeBar_3 &&
SizeBar_5>SizeBar_4 &&
SizeBar_5>SizeBar_1 && GoBuy &&
SizeBar_5>MinPips)
{GoSell_5=true;}

//В обратную сторону

if(SizeBar_1>SizeBar_2 &&
SizeBar_1>SizeBar_3 &&
SizeBar_1>SizeBar_4 &&
SizeBar_1>SizeBar_5 && GoSell &&
SizeBar_1>MinPips)
{GoSell_1=true;}

if(SizeBar_2>SizeBar_1 &&
SizeBar_2>SizeBar_3 &&
SizeBar_2>SizeBar_4 &&
SizeBar_2>SizeBar_5 && GoSell &&
SizeBar_2>MinPips)
{GoSell_2=true;}

if(SizeBar_3>SizeBar_2 &&
SizeBar_3>SizeBar_1 &&
SizeBar_3>SizeBar_4 &&
SizeBar_3>SizeBar_5 && GoSell &&
SizeBar_3>MinPips)
{GoSell_3=true;}

if(SizeBar_4>SizeBar_2 &&
SizeBar_4>SizeBar_3 &&
SizeBar_4>SizeBar_1 &&
SizeBar_4>SizeBar_5 && GoSell &&
SizeBar_4>MinPips)
{GoBuy_4=true;}

if(SizeBar_5>SizeBar_2 &&
SizeBar_5>SizeBar_3 &&
SizeBar_5>SizeBar_4 &&
SizeBar_5>SizeBar_1 && GoSell &&
SizeBar_5>MinPips)
{GoBuy_5=true;}
//——— Лот и увеличение лота————–
if(UseUPlot)
{
Lot_1=NormalizeDouble(Lot_1+LastLot(-1,P_1), dig_1);
Lot_2=NormalizeDouble(Lot_2+LastLot(-1,P_2), dig_2);
Lot_3=NormalizeDouble(Lot_3+LastLot(-1,P_3), dig_3);
Lot_4=NormalizeDouble(Lot_4+LastLot(-1,P_4), dig_4);
Lot_5=NormalizeDouble(Lot_5+LastLot(-1,P_5), dig_5);
}
else
{
Lot_1=Lot_1;
Lot_2=Lot_2;
Lot_3=Lot_3;
Lot_4=Lot_4;
Lot_5=Lot_5;
}

//— Если автоторговля включена (кнопка отжата, но текст включено)
if(!ObjectGetInteger(0,”TRADEs_AU”,OBJPROP_STATE) && TimeHour(TimeCurrent())>=TimeStart && TimeHour(TimeCurrent())<TimeEnd)
{

//— Открываем ордера

//— Если сигнал бай

if(CountBar(-1,P_1)==0 && CountBarHist(-1,P_1)==0 &&
CountPair(-1,P_1,Magic)==0 && AccountFreeMarginCheck(P_1,OP_BUY,Lot_1)>0 && GoBuy_1)
{o=OrderSend(P_1,OP_BUY,Lot_1,MarketInfo(P_1,MODE_ASK),10,0,0,comment,Magic,0,Green);}

if(CountBar(-1,P_2)==0 && CountBarHist(-1,P_2)==0 &&
CountPair(-1,P_2,Magic)==0 && AccountFreeMarginCheck(P_2,OP_BUY,Lot_2)>0 && GoBuy_2)
{o=OrderSend(P_2,OP_BUY,Lot_2,MarketInfo(P_2,MODE_ASK),10,0,0,comment,Magic,0,Green);}

if(CountBar(-1,P_3)==0 && CountBarHist(-1,P_3)==0 &&
CountPair(-1,P_3,Magic)==0 && AccountFreeMarginCheck(P_3,OP_BUY,Lot_3)>0 && GoBuy_3)
{o=OrderSend(P_3,OP_BUY,Lot_3,MarketInfo(P_3,MODE_ASK),10,0,0,comment,Magic,0,Green);}

if(CountBar(-1,P_4)==0 && CountBarHist(-1,P_4)==0 &&
CountPair(-1,P_4,Magic)==0 && AccountFreeMarginCheck(P_4,OP_BUY,Lot_4)>0 && GoBuy_4)
{o=OrderSend(P_4,OP_BUY,Lot_4,MarketInfo(P_4,MODE_ASK),10,0,0,comment,Magic,0,Green);}

if(CountBar(-1,P_5)==0 && CountBarHist(-1,P_5)==0 &&
CountPair(-1,P_5,Magic)==0 && AccountFreeMarginCheck(P_5,OP_BUY,Lot_5)>0 && GoBuy_5)
{o=OrderSend(P_5,OP_BUY,Lot_5,MarketInfo(P_5,MODE_ASK),10,0,0,comment,Magic,0,Green);}

//— Если сигнал селл

if(CountBar(-1,P_1)==0 && CountBarHist(-1,P_1)==0 &&
CountPair(-1,P_1,Magic)==0 && AccountFreeMarginCheck(P_1,OP_SELL,Lot_1)>0 && GoSell_1)
{o=OrderSend(P_1,OP_SELL,Lot_1,MarketInfo(P_1,MODE_BID),10,0,0,comment,Magic,0,Red);}

if(CountBar(-1,P_2)==0 && CountBarHist(-1,P_2)==0 &&
CountPair(-1,P_2,Magic)==0 && AccountFreeMarginCheck(P_2,OP_SELL,Lot_2)>0 && GoSell_2)
{o=OrderSend(P_2,OP_SELL,Lot_2,MarketInfo(P_2,MODE_BID),10,0,0,comment,Magic,0,Red);}

if(CountBar(-1,P_3)==0 && CountBarHist(-1,P_3)==0 &&
CountPair(-1,P_3,Magic)==0 && AccountFreeMarginCheck(P_3,OP_SELL,Lot_3)>0 && GoSell_3)
{o=OrderSend(P_3,OP_SELL,Lot_3,MarketInfo(P_3,MODE_BID),10,0,0,comment,Magic,0,Red);}

if(CountBar(-1,P_4)==0 && CountBarHist(-1,P_4)==0 &&
CountPair(-1,P_4,Magic)==0 && AccountFreeMarginCheck(P_4,OP_SELL,Lot_4)>0 && GoSell_4)
{o=OrderSend(P_4,OP_SELL,Lot_4,MarketInfo(P_4,MODE_BID),10,0,0,comment,Magic,0,Red);}

if(CountBar(-1,P_5)==0 && CountBarHist(-1,P_5)==0 &&
CountPair(-1,P_5,Magic)==0 && AccountFreeMarginCheck(P_5,OP_SELL,Lot_5)>0 && GoSell_5)
{o=OrderSend(P_5,OP_SELL,Lot_5,MarketInfo(P_5,MODE_BID),10,0,0,comment,Magic,0,Red);}

//—
}

//— Сетки
if(CountAll(-1)<MaxOrders && TimeHour(TimeCurrent())>=TimeStart && TimeHour(TimeCurrent())<TimeEnd
&& (CountAll(-1)<AccountInfoInteger(ACCOUNT_LIMIT_ORDERS) || AccountInfoInteger(ACCOUNT_LIMIT_ORDERS)==0))
{
//—Сетка в минус
if(!ObjectGetInteger(0,”TRADEs_SM”,OBJPROP_STATE))
{
if(CountBar(-1,P_1)==0 && CountBarHist(-1,P_1)==0 &&
CountPair(OP_BUY,P_1,Magic)>0 && AccountFreeMarginCheck(P_1,OP_BUY,Lot_1)>0 && GoBuy_1)
{if(CountPairPlus(OP_BUY,P_1,Magic)==0)
{if(MarketInfo(P_1,MODE_ASK)+pEURUSD_Step*MarketInfo(P_1,MODE_POINT)<=OldPricB(P_1,Magic))
{o=OrderSend(P_1,OP_BUY,Lot_1,MarketInfo(P_1,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
}
if(CountBar(-1,P_1)==0 && CountBarHist(-1,P_1)==0 &&
CountPair(OP_SELL,P_1,Magic)>0 && AccountFreeMarginCheck(P_1,OP_SELL,Lot_1)>0 && GoSell_1)
{if(CountPairPlus(OP_SELL,P_1,Magic)==0)
{if(MarketInfo(P_1,MODE_BID)-pEURUSD_Step*MarketInfo(P_1,MODE_POINT)>=OldPricS(P_1,Magic))
{o=OrderSend(P_1,OP_SELL,Lot_1,MarketInfo(P_1,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
}
//———–
if(CountBar(-1,P_2)==0 && CountBarHist(-1,P_2)==0 &&
CountPair(OP_BUY,P_2,Magic)>0 && AccountFreeMarginCheck(P_2,OP_BUY,Lot_2)>0 && GoBuy_2)
{if(CountPairPlus(OP_BUY,P_2,Magic)==0)
{if(MarketInfo(P_2,MODE_ASK)+pGBPUSD_Step*MarketInfo(P_2,MODE_POINT)<=OldPricB(P_2,Magic))
{o=OrderSend(P_2,OP_BUY,Lot_2,MarketInfo(P_2,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
}
if(CountBar(-1,P_2)==0 && CountBarHist(-1,P_2)==0 &&
CountPair(OP_SELL,P_2,Magic)>0 && AccountFreeMarginCheck(P_2,OP_SELL,Lot_2)>0 && GoSell_2)
{if(CountPairPlus(OP_SELL,P_2,Magic)==0)
{if(MarketInfo(P_2,MODE_BID)-pGBPUSD_Step*MarketInfo(P_2,MODE_POINT)>=OldPricS(P_2,Magic))
{o=OrderSend(P_2,OP_SELL,Lot_2,MarketInfo(P_2,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
}
//———–
if(CountBar(-1,P_3)==0 && CountBarHist(-1,P_3)==0 &&
CountPair(OP_BUY,P_3,Magic)>0 && AccountFreeMarginCheck(P_3,OP_BUY,Lot_3)>0 && GoBuy_3)
{if(CountPairPlus(OP_BUY,P_3,Magic)==0)
{if(MarketInfo(P_3,MODE_ASK)+pAUDUSD_Step*MarketInfo(P_3,MODE_POINT)<=OldPricB(P_3,Magic))
{o=OrderSend(P_3,OP_BUY,Lot_3,MarketInfo(P_3,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
}
if(CountBar(-1,P_3)==0 && CountBarHist(-1,P_3)==0 &&
CountPair(OP_SELL,P_3,Magic)>0 && AccountFreeMarginCheck(P_3,OP_SELL,Lot_3)>0 && GoSell_3)
{if(CountPairPlus(OP_SELL,P_3,Magic)==0)
{if(MarketInfo(P_3,MODE_BID)-pAUDUSD_Step*MarketInfo(P_3,MODE_POINT)>=OldPricS(P_3,Magic))
{o=OrderSend(P_3,OP_SELL,Lot_3,MarketInfo(P_3,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
}
//———–
if(CountBar(-1,P_4)==0 && CountBarHist(-1,P_4)==0 &&
CountPair(OP_BUY,P_4,Magic)>0 && AccountFreeMarginCheck(P_4,OP_BUY,Lot_4)>0 && GoBuy_4)
{if(CountPairPlus(OP_BUY,P_4,Magic)==0)
{if(MarketInfo(P_4,MODE_ASK)+pUSDCAD_Step*MarketInfo(P_4,MODE_POINT)<=OldPricB(P_4,Magic))
{o=OrderSend(P_4,OP_BUY,Lot_4,MarketInfo(P_4,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
}
if(CountBar(-1,P_4)==0 && CountBarHist(-1,P_4)==0 &&
CountPair(OP_SELL,P_4,Magic)>0 && AccountFreeMarginCheck(P_4,OP_SELL,Lot_4)>0 && GoSell_4)
{if(CountPairPlus(OP_SELL,P_4,Magic)==0)
{if(MarketInfo(P_4,MODE_BID)-pUSDCAD_Step*MarketInfo(P_4,MODE_POINT)>=OldPricS(P_4,Magic))
{o=OrderSend(P_4,OP_SELL,Lot_4,MarketInfo(P_4,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
}
//———–
if(CountBar(-1,P_5)==0 && CountBarHist(-1,P_5)==0 &&
CountPair(OP_BUY,P_5,Magic)>0 && AccountFreeMarginCheck(P_5,OP_BUY,Lot_5)>0 && GoBuy_5)
{if(CountPairPlus(OP_BUY,P_5,Magic)==0)
{if(MarketInfo(P_5,MODE_ASK)+pUSDCHF_Step*MarketInfo(P_5,MODE_POINT)<=OldPricB(P_5,Magic))
{o=OrderSend(P_5,OP_BUY,Lot_5,MarketInfo(P_5,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
}
if(CountBar(-1,P_5)==0 && CountBarHist(-1,P_5)==0 &&
CountPair(OP_SELL,P_5,Magic)>0 && AccountFreeMarginCheck(P_5,OP_SELL,Lot_5)>0 && GoSell_5)
{if(CountPairPlus(OP_SELL,P_5,Magic)==0)
{if(MarketInfo(P_5,MODE_BID)-pUSDCHF_Step*MarketInfo(P_5,MODE_POINT)>=OldPricS(P_5,Magic))
{o=OrderSend(P_5,OP_SELL,Lot_5,MarketInfo(P_5,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
}
//———–
}
//— Сетка в плюс
if(!ObjectGetInteger(0,”TRADEs_SP”,OBJPROP_STATE))
{
if(CountBar(-1,P_1)==0 && CountBarHist(-1,P_1)==0 &&
CountPair(OP_BUY,P_1,Magic)>0 && AccountFreeMarginCheck(P_1,OP_BUY,Lot_1)>0 && GoBuy_1)
{if(MarketInfo(P_1,MODE_ASK)-pEURUSD_Step*MarketInfo(P_1,MODE_POINT)>=OldPricB(P_1,Magic))
{o=OrderSend(P_1,OP_BUY,Lot_1,MarketInfo(P_1,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
if(CountBar(-1,P_1)==0 && CountBarHist(-1,P_1)==0 &&
CountPair(OP_SELL,P_1,Magic)>0 && AccountFreeMarginCheck(P_1,OP_SELL,Lot_1)>0 && GoSell_1)
{if(MarketInfo(P_1,MODE_BID)+pEURUSD_Step*MarketInfo(P_1,MODE_POINT)<=OldPricS(P_1,Magic))
{o=OrderSend(P_1,OP_SELL,Lot_1,MarketInfo(P_1,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
//———–
if(CountBar(-1,P_2)==0 && CountBarHist(-1,P_2)==0 &&
CountPair(OP_BUY,P_2,Magic)>0 && AccountFreeMarginCheck(P_2,OP_BUY,Lot_2)>0 && GoBuy_2)
{if(MarketInfo(P_2,MODE_ASK)-pGBPUSD_Step*MarketInfo(P_2,MODE_POINT)>=OldPricB(P_2,Magic))
{o=OrderSend(P_2,OP_BUY,Lot_2,MarketInfo(P_2,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
if(CountBar(-1,P_2)==0 && CountBarHist(-1,P_2)==0 &&
CountPair(OP_SELL,P_2,Magic)>0 && AccountFreeMarginCheck(P_2,OP_SELL,Lot_2)>0 && GoSell_2)
{if(MarketInfo(P_2,MODE_BID)+pGBPUSD_Step*MarketInfo(P_2,MODE_POINT)<=OldPricS(P_2,Magic))
{o=OrderSend(P_2,OP_SELL,Lot_2,MarketInfo(P_2,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
//———–
if(CountBar(-1,P_3)==0 && CountBarHist(-1,P_3)==0 &&
CountPair(OP_BUY,P_3,Magic)>0 && AccountFreeMarginCheck(P_3,OP_BUY,Lot_3)>0 && GoBuy_3)
{if(MarketInfo(P_3,MODE_ASK)-pAUDUSD_Step*MarketInfo(P_3,MODE_POINT)>=OldPricB(P_3,Magic))
{o=OrderSend(P_3,OP_BUY,Lot_3,MarketInfo(P_3,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
if(CountBar(-1,P_3)==0 && CountBarHist(-1,P_3)==0 &&
CountPair(OP_SELL,P_3,Magic)>0 && AccountFreeMarginCheck(P_3,OP_SELL,Lot_3)>0 && GoSell_3)
{if(MarketInfo(P_3,MODE_BID)+pAUDUSD_Step*MarketInfo(P_3,MODE_POINT)<=OldPricS(P_3,Magic))
{o=OrderSend(P_3,OP_SELL,Lot_3,MarketInfo(P_3,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
//———–
if(CountBar(-1,P_4)==0 && CountBarHist(-1,P_4)==0 &&
CountPair(OP_BUY,P_4,Magic)>0 && AccountFreeMarginCheck(P_4,OP_BUY,Lot_4)>0 && GoBuy_4)
{if(MarketInfo(P_4,MODE_ASK)-pUSDCAD_Step*MarketInfo(P_4,MODE_POINT)>=OldPricB(P_4,Magic))
{o=OrderSend(P_4,OP_BUY,Lot_4,MarketInfo(P_4,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
if(CountBar(-1,P_4)==0 && CountBarHist(-1,P_4)==0 &&
CountPair(OP_SELL,P_4,Magic)>0 && AccountFreeMarginCheck(P_4,OP_SELL,Lot_4)>0 && GoSell_4)
{if(MarketInfo(P_4,MODE_BID)+pUSDCAD_Step*MarketInfo(P_4,MODE_POINT)<=OldPricS(P_4,Magic))
{o=OrderSend(P_4,OP_SELL,Lot_4,MarketInfo(P_4,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
//———–
if(CountBar(-1,P_5)==0 && CountBarHist(-1,P_5)==0 &&
CountPair(OP_BUY,P_5,Magic)>0 && AccountFreeMarginCheck(P_5,OP_BUY,Lot_5)>0 && GoBuy_5)
{if(MarketInfo(P_5,MODE_ASK)-pUSDCHF_Step*MarketInfo(P_5,MODE_POINT)>=OldPricB(P_5,Magic))
{o=OrderSend(P_5,OP_BUY,Lot_5,MarketInfo(P_5,MODE_ASK),10,0,0,comment,Magic,0,Green);}
}
if(CountBar(-1,P_5)==0 && CountBarHist(-1,P_5)==0 &&
CountPair(OP_SELL,P_5,Magic)>0 && AccountFreeMarginCheck(P_5,OP_SELL,Lot_5)>0 && GoSell_5)
{if(MarketInfo(P_5,MODE_BID)+pUSDCHF_Step*MarketInfo(P_5,MODE_POINT)<=OldPricS(P_5,Magic))
{o=OrderSend(P_5,OP_SELL,Lot_5,MarketInfo(P_5,MODE_BID),10,0,0,comment,Magic,0,Red);}
}
//———–
}
}
//—
//— Счетчик количества пар
int op_1=0;
int op_2=0;
int op_3=0;
int op_4=0;
int op_5=0;

if(CountPair(-1,P_1,Magic)>0) {op_1=1;}
if(CountPair(-1,P_2,Magic)>0) {op_2=1;}
if(CountPair(-1,P_3,Magic)>0) {op_3=1;}
if(CountPair(-1,P_4,Magic)>0) {op_4=1;}
if(CountPair(-1,P_5,Magic)>0) {op_5=1;}
//—
//— Если автоторговля включена (кнопка отжата, но текст включено)
if(!ObjectGetInteger(0,”TRADEs_AU”,OBJPROP_STATE))
{
//— Закрываем ордера при достижении прибыли
double ProfProc=AllLots(-1)*ProfitPips;
if(ProfitAll(-1)>=ProfProc && ProfProc!=0)
{
ClosePos();
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectsDeleteAll(0,OBJ_TREND);
}
}
//— Разгрузка на ночь

//— Если разгрузка на ночь включена
if(ObjectGetInteger(0,”TRADEs_CN”,OBJPROP_STATE))
{
if(TimeClose==0 && TimeHour(TimeCurrent())==TimeEnd)
{ClosePlusPair(P_1);
ClosePlusPair(P_2);
ClosePlusPair(P_3);
ClosePlusPair(P_4);
ClosePlusPair(P_5);
TimeClose=1;}

if(TimeClose==1 && TimeHour(TimeCurrent())>=TimeStart && TimeHour(TimeCurrent())<TimeEnd)
{TimeClose=0;}
}

//— Торговля мобильным

//— Если кнопка включена
if(ObjectGetInteger(0,”TRADEs_MO”,OBJPROP_STATE))
{
//— Открыть ордер
if(CountPair(-1,P_1,Magic)==0 && CountPair(OP_BUY,P_1,0)>0)
{o=OrderSend(P_1,OP_BUY,Lot_1,MarketInfo(P_1,MODE_ASK),10,0,0,comment,Magic,0,Green);}
if(CountPair(-1,P_1,Magic)==0 && CountPair(OP_SELL,P_1,0)>0)
{o=OrderSend(P_1,OP_SELL,Lot_1,MarketInfo(P_1,MODE_BID),10,0,0,comment,Magic,0,Green);}

if(CountPair(-1,P_2,Magic)==0 && CountPair(OP_BUY,P_2,0)>0)
{o=OrderSend(P_2,OP_BUY,Lot_1,MarketInfo(P_2,MODE_ASK),10,0,0,comment,Magic,0,Green);}
if(CountPair(-1,P_2,Magic)==0 && CountPair(OP_SELL,P_2,0)>0)
{o=OrderSend(P_2,OP_SELL,Lot_1,MarketInfo(P_2,MODE_BID),10,0,0,comment,Magic,0,Green);}

if(CountPair(-1,P_3,Magic)==0 && CountPair(OP_BUY,P_3,0)>0)
{o=OrderSend(P_3,OP_BUY,Lot_1,MarketInfo(P_3,MODE_ASK),10,0,0,comment,Magic,0,Green);}
if(CountPair(-1,P_3,Magic)==0 && CountPair(OP_SELL,P_3,0)>0)
{o=OrderSend(P_3,OP_SELL,Lot_1,MarketInfo(P_3,MODE_BID),10,0,0,comment,Magic,0,Green);}

if(CountPair(-1,P_4,Magic)==0 && CountPair(OP_BUY,P_4,0)>0)
{o=OrderSend(P_4,OP_BUY,Lot_1,MarketInfo(P_4,MODE_ASK),10,0,0,comment,Magic,0,Green);}
if(CountPair(-1,P_4,Magic)==0 && CountPair(OP_SELL,P_4,0)>0)
{o=OrderSend(P_4,OP_SELL,Lot_1,MarketInfo(P_4,MODE_BID),10,0,0,comment,Magic,0,Green);}

if(CountPair(-1,P_5,Magic)==0 && CountPair(OP_BUY,P_5,0)>0)
{o=OrderSend(P_5,OP_BUY,Lot_1,MarketInfo(P_5,MODE_ASK),10,0,0,comment,Magic,0,Green);}
if(CountPair(-1,P_5,Magic)==0 && CountPair(OP_SELL,P_5,0)>0)
{o=OrderSend(P_5,OP_SELL,Lot_1,MarketInfo(P_5,MODE_BID),10,0,0,comment,Magic,0,Green);}

//— Закрыть по паре
if((CountPair(OP_BUY,P_1,Magic)>0 && CountPair(OP_SELL,P_1,0)>0) || (CountPair(OP_SELL,P_1,Magic)>0 && CountPair(OP_BUY,P_1,0)>0))
{ClosePosPair(P_1,Magic);
ClosePosPair(P_1,0);}

if((CountPair(OP_BUY,P_2,Magic)>0 && CountPair(OP_SELL,P_2,0)>0) || (CountPair(OP_SELL,P_2,Magic)>0 && CountPair(OP_BUY,P_2,0)>0))
{ClosePosPair(P_2,Magic);
ClosePosPair(P_2,0);}

if((CountPair(OP_BUY,P_3,Magic)>0 && CountPair(OP_SELL,P_3,0)>0) || (CountPair(OP_SELL,P_3,Magic)>0 && CountPair(OP_BUY,P_3,0)>0))
{ClosePosPair(P_3,Magic);
ClosePosPair(P_3,0);}

if((CountPair(OP_BUY,P_4,Magic)>0 && CountPair(OP_SELL,P_4,0)>0) || (CountPair(OP_SELL,P_4,Magic)>0 && CountPair(OP_BUY,P_4,0)>0))
{ClosePosPair(P_4,Magic);
ClosePosPair(P_4,0);}

if((CountPair(OP_BUY,P_5,Magic)>0 && CountPair(OP_SELL,P_5,0)>0) || (CountPair(OP_SELL,P_5,Magic)>0 && CountPair(OP_BUY,P_5,0)>0))
{ClosePosPair(P_5,Magic);
ClosePosPair(P_5,0);}

//— Закрыть все ордера
if(CountPair(-1,MobClosPair,0)>0)
{ClosePos(Magic);
ClosePosPair(MobClosPair,0);}
}

//— Стоп в процентах
double LossProc=(AccountBalance()/100)*StopLossProcent*(-1);
if(ProfitAll(-1)<LossProc && LossProc!=0)
{
ClosePos(Magic);
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectsDeleteAll(0,OBJ_TREND);
}
//+——————————————————————+

//— Определяем пару по номеру с торговой панели

if(!ObjectGetInteger(0,”TRADEs_P1″,OBJPROP_STATE) &&
!ObjectGetInteger(0,”TRADEs_P2″,OBJPROP_STATE) &&
!ObjectGetInteger(0,”TRADEs_P3″,OBJPROP_STATE) &&
!ObjectGetInteger(0,”TRADEs_P4″,OBJPROP_STATE) &&
!ObjectGetInteger(0,”TRADEs_P5″,OBJPROP_STATE))
{PairName=Symbol();}
if(ObjectGetInteger(0,”TRADEs_P1″,OBJPROP_STATE))
{PairName=P_1;}
if(ObjectGetInteger(0,”TRADEs_P2″,OBJPROP_STATE))
{PairName=P_2;}
if(ObjectGetInteger(0,”TRADEs_P3″,OBJPROP_STATE))
{PairName=P_3;}
if(ObjectGetInteger(0,”TRADEs_P4″,OBJPROP_STATE))
{PairName=P_4;}
if(ObjectGetInteger(0,”TRADEs_P5″,OBJPROP_STATE))
{PairName=P_5;}
//+——————————————————————+
// Вывод информации
//+——————————————————————+
//— Текст кнопок включателей
//— если язык русский
if(Languale==0)
{TextOn=”Вкл”;
TextOff=”Выкл”;}
//— если язык Английский
if(Languale==1)
{TextOn=”On”;
TextOff=”Off”;}

//— Инфопанель

if(!ObjectGetInteger(0,”INFO_Button”,OBJPROP_STATE))
{
//— если язык русский
if(Languale==0)
{
RectLabelCreate(“INFO_fon”,240,20,220,325,FonColor,1);

PutButton(“INFO_Button”,70,15,”INFO”,1);

PutLabelT(“INFO_LOGO”,235,24,”WWW.MFOREX.PRO”,1);
PutLabelT(“INFO_Line”,235,27,”______________________________”,1);
PutLabelDt(“INFO_txt1″,235,45,”Информация о счете”,1);
PutLabelT(“INFO_Line2″,235,47,”______________________________”,1);
PutLabelT(“INFO_txt2″,235,65,”Баланс:”,1);
PutLabelT(“INFO_txt3″,235,80,”Средства:”,1);
PutLabelT(“INFO_txt4″,235,95,”Маржа:”,1);
PutLabelT(“INFO_txt5″,235,110,”Свободная маржа:”,1);
PutLabelT(“INFO_txt7″,235,125,”Открыто ордеров:”,1);
PutLabelT(“INFO_Line3″,235,128,”______________________________”,1);
PutLabelDt(“INFO_txt6″,235,145,”Прибыль по счету”,1);
PutLabelT(“INFO_Line4″,235,148,”______________________________”,1);

PutLabelT(“INFO_txt8″,235,165,”Общий профит:”,1);
PutLabelT(“INFO_txt9″,235,180,”Профит за сегодня:”,1);
PutLabelT(“INFO_txt10″,235,195,”Профит за вчера:”,1);
PutLabelT(“INFO_txt11″,235,210,”Профит за неделю:”,1);
PutLabelT(“INFO_txt12″,235,225,”Профит за месяц:”,1);

PutLabelD(“INFO_txt13”,85,65,DoubleToStr(AccountBalance(), 2),1);
PutLabelD(“INFO_txt14”,85,80,DoubleToStr(AccountEquity(), 2),1);
PutLabelD(“INFO_txt15”,85,95,DoubleToStr(AccountMargin(), 2),1);
PutLabelD(“INFO_txt16”,85,110,DoubleToStr(AccountFreeMargin(), 2),1);
PutLabelD(“INFO_txt17”,85,125,DoubleToStr(CountAll(-1), 0),1);
PutLabelD(“INFO_txt18”,85,165,DoubleToStr(ProfitAll(-1), 2),1);
PutLabelD(“INFO_txt19”,85,180,DoubleToStr(ProfitDey(-1), 2),1);
PutLabelD(“INFO_txt20”,85,195,DoubleToStr(ProfitTuDey(-1), 2),1);
PutLabelD(“INFO_txt21”,85,210,DoubleToStr(ProfitWeek(-1), 2),1);
PutLabelD(“INFO_txt22”,85,225,DoubleToStr(ProfitMontag(-1), 2),1);

PutLabelT(“INFO_Line5″,235,227,”______________________________”,1);
PutLabelDt(“INFO_txt23″,235,243,”Прибыль по каждой паре”,1);
PutLabelT(“INFO_Line6″,235,247,”______________________________”,1);

PutLabelDt(“INFO_txt24”,235,263,”1. “,1);
PutLabelT(“INFO_txt25″,220,263,”Профит по ” + P_1 +”:”,1);
PutLabelD(“INFO_txt26”,85,263,DoubleToStr(Profit(-1,P_1), 2),1);

PutLabelDt(“INFO_txt27”,235,278,”2. “,1);
PutLabelT(“INFO_txt28″,220,278,”Профит по ” + P_2 +”:”,1);
PutLabelD(“INFO_txt29”,85,278,DoubleToStr(Profit(-1,P_2), 2),1);

PutLabelDt(“INFO_txt30”,235,293,”3. “,1);
PutLabelT(“INFO_txt31″,220,293,”Профит по ” + P_3 +”:”,1);
PutLabelD(“INFO_txt32”,85,293,DoubleToStr(Profit(-1,P_3), 2),1);

PutLabelDt(“INFO_txt33”,235,308,”4. “,1);
PutLabelT(“INFO_txt34″,220,308,”Профит по ” + P_4 +”:”,1);
PutLabelD(“INFO_txt35”,85,308,DoubleToStr(Profit(-1,P_4), 2),1);

PutLabelDt(“INFO_txt36”,235,323,”5. “,1);
PutLabelT(“INFO_txt37″,220,323,”Профит по ” + P_5 +”:”,1);
PutLabelD(“INFO_txt38”,85,323,DoubleToStr(Profit(-1,P_5), 2),1);

}
//— если язык английский
if(Languale==1)
{
RectLabelCreate(“INFO_fon”,240,20,220,325,FonColor,1);

PutButton(“INFO_Button”,70,15,”INFO”,1);

PutLabelT(“INFO_LOGO”,235,24,”WWW.MFOREX.PRO”,1);
PutLabelT(“INFO_Line”,235,27,”______________________________”,1);
PutLabelDt(“INFO_txt1″,235,45,”Account information”,1);
PutLabelT(“INFO_Line2″,235,47,”______________________________”,1);
PutLabelT(“INFO_txt2″,235,65,”Balanse:”,1);
PutLabelT(“INFO_txt3″,235,80,”Equity:”,1);
PutLabelT(“INFO_txt4″,235,95,”Margin:”,1);
PutLabelT(“INFO_txt5″,235,110,”Free margin:”,1);
PutLabelT(“INFO_txt7″,235,125,”Open orders:”,1);
PutLabelT(“INFO_Line3″,235,128,”______________________________”,1);
PutLabelDt(“INFO_txt6″,235,145,”Profit on account”,1);
PutLabelT(“INFO_Line4″,235,148,”______________________________”,1);

PutLabelT(“INFO_txt8″,235,165,”Total profit:”,1);
PutLabelT(“INFO_txt9″,235,180,”Profit for today:”,1);
PutLabelT(“INFO_txt10″,235,195,”Profit for yesterday:”,1);
PutLabelT(“INFO_txt11″,235,210,”Profit for week:”,1);
PutLabelT(“INFO_txt12″,235,225,”Profit for month:”,1);

PutLabelD(“INFO_txt13”,85,65,DoubleToStr(AccountBalance(), 2),1);
PutLabelD(“INFO_txt14”,85,80,DoubleToStr(AccountEquity(), 2),1);
PutLabelD(“INFO_txt15”,85,95,DoubleToStr(AccountMargin(), 2),1);
PutLabelD(“INFO_txt16”,85,110,DoubleToStr(AccountFreeMargin(), 2),1);
PutLabelD(“INFO_txt17”,85,125,DoubleToStr(CountAll(-1), 0),1);
PutLabelD(“INFO_txt18”,85,165,DoubleToStr(ProfitAll(-1), 2),1);
PutLabelD(“INFO_txt19”,85,180,DoubleToStr(ProfitDey(-1), 2),1);
PutLabelD(“INFO_txt20”,85,195,DoubleToStr(ProfitTuDey(-1), 2),1);
PutLabelD(“INFO_txt21”,85,210,DoubleToStr(ProfitWeek(-1), 2),1);
PutLabelD(“INFO_txt22”,85,225,DoubleToStr(ProfitMontag(-1), 2),1);

PutLabelT(“INFO_Line5″,235,227,”______________________________”,1);
PutLabelDt(“INFO_txt23″,235,243,”Profit for each pair”,1);
PutLabelT(“INFO_Line6″,235,247,”______________________________”,1);

PutLabelDt(“INFO_txt24”,235,263,”1. “,1);
PutLabelT(“INFO_txt25″,220,263,”Profit for ” + P_1 +”:”,1);
PutLabelD(“INFO_txt26”,85,263,DoubleToStr(Profit(-1,P_1), 2),1);

PutLabelDt(“INFO_txt27”,235,278,”2. “,1);
PutLabelT(“INFO_txt28″,220,278,”Profit for ” + P_2 +”:”,1);
PutLabelD(“INFO_txt29”,85,278,DoubleToStr(Profit(-1,P_2), 2),1);

PutLabelDt(“INFO_txt30”,235,293,”3. “,1);
PutLabelT(“INFO_txt31″,220,293,”Profit for ” + P_3 +”:”,1);
PutLabelD(“INFO_txt32”,85,293,DoubleToStr(Profit(-1,P_3), 2),1);

PutLabelDt(“INFO_txt33”,235,308,”4. “,1);
PutLabelT(“INFO_txt34″,220,308,”Profit for ” + P_4 +”:”,1);
PutLabelD(“INFO_txt35”,85,308,DoubleToStr(Profit(-1,P_4), 2),1);

PutLabelDt(“INFO_txt36”,235,323,”5. “,1);
PutLabelT(“INFO_txt37″,220,323,”Profit for ” + P_5 +”:”,1);
PutLabelD(“INFO_txt38″,85,323,DoubleToStr(Profit(-1,P_5), 2),1);

}
}
//+——————————————————————+
// Торговая панель
//+——————————————————————+
if(!ObjectGetInteger(0,”TRADE_Button”,OBJPROP_STATE))
{
//— Если язык русский
if(Languale==0)
{
RectLabelCreate(“TRADE_fon”,15,20,200,295,FonColor,0);
PutButton(“TRADE_Button”,5,15,”TRADE”,0);
PutLabelT(“TRADE_LOGO”,95,25,”WWW.MFOREX.PRO”,0);
PutLabelT(“TRADE_Line”,20,28,”___________________________”,0);
PutLabelT(“TRADE_Line2″,20,66,”___________________________”,0);
PutLabelT(“TRADE_Line3″,20,126,”___________________________”,0);
PutLabelT(“TRADE_Line4″,20,146,”___________________________”,0);
PutLabelT(“TRADE_Line5″,20,168,”___________________________”,0);
PutLabelT(“TRADE_Line6″,20,188,”___________________________”,0);
PutLabelT(“TRADE_Line7″,20,286,”___________________________”,0);
PutLabelDt(“TRADE_txt”,20,44,”Работаем с парой “,0);
PutLabelT(“TRADE_txt1”,156,44,PairName,0);

PutButtonPair(“TRADEs_P1″,21,60,”1”,35,17);
PutButtonPair(“TRADEs_P2″,60,60,”2”,35,17);
PutButtonPair(“TRADEs_P3″,99,60,”3”,35,17);
PutButtonPair(“TRADEs_P4″,137,60,”4”,35,17);
PutButtonPair(“TRADEs_P5″,175,60,”5”,35,17);

PutLabelT(“TRADE_txt2”,20,82,”Закрыть Плюс: “,0);
PutButtonER(“TRADEs_CP”,160,82,””,50,17);
PutLabelT(“TRADE_txt3”,20,101,”Закрыть Минус: “,0);
PutButtonER(“TRADEs_CM”,160,101,””,50,17);
PutLabelT(“TRADE_txt4”,20,120,”Закрыть все по паре: “,0);
PutButtonER(“TRADEs_CA”,160,120,””,50,17);

PutLabelDt(“TRADE_txt5″,20,142,”Работа с общей прибылью”,0);

PutLabelT(“TRADE_txt6”,20,162,”Закрыть все ордера: “,0);
PutButtonER(“TRADEs_CO”,160,162,””,50,17);
PutLabelDt(“TRADE_txt7″,20,184,”Торговые настройки”,0);
PutLabelT(“TRADE_txt8”,20,205,”Авто Торговля: “,0);
PutButtonER(“TRADEs_AU”,160,204,””,50,17);
PutLabelT(“TRADE_txt9”,20,223,”Сетка в Плюс: “,0);
PutButtonER(“TRADEs_SP”,160,223,””,50,17);
PutLabelT(“TRADE_txt10”,20,242,”Сетка в Минус: “,0);
PutButtonER(“TRADEs_SM”,160,242,””,50,17);

PutLabelT(“TRADE_txt11”,20,261,”Торговля Мобильным: “,0);
PutButtonER(“TRADEs_MO”,160,261,””,50,17);
PutLabelT(“TRADE_txt12”,20,280,”Разгрузить на ночь: “,0);
PutButtonER(“TRADEs_CN”,160,280,””,50,17);

PutButtonBS(“TRADEs_B”,13,302,”BUY ” + DoubleToStr(Lot_1, dig_1),100,22,FonButtonBuy,TextButtonBS);
PutButtonBS(“TRADEs_S”,118,302,”SELL ” + DoubleToStr(Lot_1, dig_1),100,22,FonButtonSell,TextButtonBS);
}
//— Если язык английский
if(Languale==1)
{
RectLabelCreate(“TRADE_fon”,15,20,200,295,FonColor,0);
PutButton(“TRADE_Button”,5,15,”TRADE”,0);
PutLabelT(“TRADE_LOGO”,95,25,”WWW.MFOREX.PRO”,0);
PutLabelT(“TRADE_Line”,20,28,”___________________________”,0);
PutLabelT(“TRADE_Line2″,20,66,”___________________________”,0);
PutLabelT(“TRADE_Line3″,20,126,”___________________________”,0);
PutLabelT(“TRADE_Line4″,20,146,”___________________________”,0);
PutLabelT(“TRADE_Line5″,20,168,”___________________________”,0);
PutLabelT(“TRADE_Line6″,20,188,”___________________________”,0);
PutLabelT(“TRADE_Line7″,20,286,”___________________________”,0);
PutLabelDt(“TRADE_txt”,20,44,”Work with a pair “,0);
PutLabelT(“TRADE_txt1”,156,44,PairName,0);

PutButtonPair(“TRADEs_P1″,21,60,”1”,35,17);
PutButtonPair(“TRADEs_P2″,60,60,”2”,35,17);
PutButtonPair(“TRADEs_P3″,99,60,”3”,35,17);
PutButtonPair(“TRADEs_P4″,137,60,”4”,35,17);
PutButtonPair(“TRADEs_P5″,175,60,”5”,35,17);

PutLabelT(“TRADE_txt2”,20,82,”Close Profit: “,0);
PutButtonER(“TRADEs_CP”,160,82,””,50,17);
PutLabelT(“TRADE_txt3”,20,101,”Close Loss: “,0);
PutButtonER(“TRADEs_CM”,160,101,””,50,17);
PutLabelT(“TRADE_txt4”,20,120,”Close all by pair: “,0);
PutButtonER(“TRADEs_CA”,160,120,””,50,17);

PutLabelDt(“TRADE_txt5″,20,142,”Work with total profit”,0);

PutLabelT(“TRADE_txt6”,20,162,”Close all orders: “,0);
PutButtonER(“TRADEs_CO”,160,162,””,50,17);
PutLabelDt(“TRADE_txt7″,20,184,”Trading settings”,0);
PutLabelT(“TRADE_txt8”,20,205,”Auto Trade: “,0);
PutButtonER(“TRADEs_AU”,160,204,””,50,17);
PutLabelT(“TRADE_txt9”,20,223,”Grid in Profit: “,0);
PutButtonER(“TRADEs_SP”,160,223,””,50,17);
PutLabelT(“TRADE_txt10”,20,242,”Grid to Loss: “,0);
PutButtonER(“TRADEs_SM”,160,242,””,50,17);

PutLabelT(“TRADE_txt11”,20,261,”Mobile Trading: “,0);
PutButtonER(“TRADEs_MO”,160,261,””,50,17);
PutLabelT(“TRADE_txt12”,20,280,”Unload at night: “,0);
PutButtonER(“TRADEs_CN”,160,280,””,50,17);

PutButtonBS(“TRADEs_B”,13,302,”BUY ” + DoubleToStr(Lot_1, dig_1),100,22,FonButtonBuy,TextButtonBS);
PutButtonBS(“TRADEs_S”,118,302,”SELL ” + DoubleToStr(Lot_1, dig_1),100,22,FonButtonSell,TextButtonBS);
}

//— Меняем текст кнопок при нажатии

if(!ObjectGetInteger(0,”TRADEs_CP”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_CP”,OBJPROP_TEXT,TextOff);}
else
{ObjectSetString(0,”TRADEs_CP”,OBJPROP_TEXT,TextOn);}
//——————
if(!ObjectGetInteger(0,”TRADEs_CM”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_CM”,OBJPROP_TEXT,TextOff);}
else
{ObjectSetString(0,”TRADEs_CM”,OBJPROP_TEXT,TextOn);}
//——————
if(!ObjectGetInteger(0,”TRADEs_CA”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_CA”,OBJPROP_TEXT,TextOff);}
else
{ObjectSetString(0,”TRADEs_CA”,OBJPROP_TEXT,TextOn);}
//——————
if(!ObjectGetInteger(0,”TRADEs_CO”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_CO”,OBJPROP_TEXT,TextOff);}
else
{ObjectSetString(0,”TRADEs_CO”,OBJPROP_TEXT,TextOn);}
//——————
if(!ObjectGetInteger(0,”TRADEs_AU”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_AU”,OBJPROP_TEXT,TextOn);
ObjectSetInteger(0,”TRADEs_AU”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetString(0,”TRADEs_AU”,OBJPROP_TEXT,TextOff);
ObjectSetInteger(0,”TRADEs_AU”,OBJPROP_BGCOLOR,FonButton);}
//——————
if(!ObjectGetInteger(0,”TRADEs_SP”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_SP”,OBJPROP_TEXT,TextOn);
ObjectSetInteger(0,”TRADEs_SP”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetString(0,”TRADEs_SP”,OBJPROP_TEXT,TextOff);
ObjectSetInteger(0,”TRADEs_SP”,OBJPROP_BGCOLOR,FonButton);}
//——————
if(!ObjectGetInteger(0,”TRADEs_SM”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_SM”,OBJPROP_TEXT,TextOn);
ObjectSetInteger(0,”TRADEs_SM”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetString(0,”TRADEs_SM”,OBJPROP_TEXT,TextOff);
ObjectSetInteger(0,”TRADEs_SM”,OBJPROP_BGCOLOR,FonButton);}
//——————
if(!ObjectGetInteger(0,”TRADEs_MO”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_MO”,OBJPROP_TEXT,TextOff);
ObjectSetInteger(0,”TRADEs_MO”,OBJPROP_BGCOLOR,FonButton);}
else
{ObjectSetString(0,”TRADEs_MO”,OBJPROP_TEXT,TextOn);
ObjectSetInteger(0,”TRADEs_MO”,OBJPROP_BGCOLOR,ClickButton);}
//——————
if(!ObjectGetInteger(0,”TRADEs_CN”,OBJPROP_STATE))
{ObjectSetString(0,”TRADEs_CN”,OBJPROP_TEXT,TextOff);
ObjectSetInteger(0,”TRADEs_CN”,OBJPROP_BGCOLOR,FonButton);}
else
{ObjectSetString(0,”TRADEs_CN”,OBJPROP_TEXT,TextOn);
ObjectSetInteger(0,”TRADEs_CN”,OBJPROP_BGCOLOR,ClickButton);}
//—

//— Меняем цвет кнопок выбора пары
//——————
if(ObjectGetInteger(0,”TRADEs_P1″,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_BGCOLOR,FonButton);}
//——————
if(ObjectGetInteger(0,”TRADEs_P2″,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_BGCOLOR,FonButton);}
//——————
if(ObjectGetInteger(0,”TRADEs_P3″,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_BGCOLOR,FonButton);}
//——————
if(ObjectGetInteger(0,”TRADEs_P4″,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_BGCOLOR,FonButton);}
//——————
if(ObjectGetInteger(0,”TRADEs_P5″,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_BGCOLOR,FonButton);}

}
//—
}
}
}
//+——————————————————————+
//| Кнопки |
//+——————————————————————+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{

//—Кнопка INFO (Свернуть/развернуть панель)
if(ObjectGetInteger(0,”INFO_Button”,OBJPROP_STATE))
{ObjectsDeleteAll(0,”INFO_”,EMPTY,OBJ_RECTANGLE_LABEL);
ObjectsDeleteAll(0,”INFO_”,EMPTY,OBJ_LABEL);
PutButtonInfo(“SVERNUT_”,70,15,”INFO”,1);}

if(ObjectGetInteger(0,”SVERNUT_”,OBJPROP_STATE))
{ObjectsDeleteAll(0,”INFO_”,EMPTY,OBJ_BUTTON);
ObjectsDeleteAll(0,”SVERNUT_”,EMPTY,OBJ_BUTTON);}

//—Кнопка TRADE (Свернуть/развернуть панель)
if(ObjectGetInteger(0,”TRADE_Button”,OBJPROP_STATE))
{ObjectsDeleteAll(0,”TRADE_”,EMPTY,OBJ_RECTANGLE_LABEL);
ObjectsDeleteAll(0,”TRADEs_”,EMPTY,OBJ_BUTTON);
ObjectsDeleteAll(0,”TRADE_”,EMPTY,OBJ_LABEL);
ObjectsDeleteAll(0,”TRADE_”,EMPTY,OBJ_EDIT);
PutButtonInfo(“SVERNUTt_”,5,15,”TRADE”,0);}

if(ObjectGetInteger(0,”SVERNUTt_”,OBJPROP_STATE))
{ObjectsDeleteAll(0,”TRADE_”,EMPTY,OBJ_BUTTON);
ObjectsDeleteAll(0,”SVERNUTt_”,EMPTY,OBJ_BUTTON);}

//+——————————————————————+
// Изменяем цвет кнопок при нажатии
//+——————————————————————+
if(ObjectGetInteger(0,”TRADEs_B”,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_B”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_B”,OBJPROP_BGCOLOR,FonButtonBuy);}
//——————
if(ObjectGetInteger(0,”TRADEs_S”,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_S”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_S”,OBJPROP_BGCOLOR,FonButtonSell);}
//——————
if(ObjectGetInteger(0,”TRADEs_CP”,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_CP”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_CP”,OBJPROP_BGCOLOR,FonButton);}
//——————
if(ObjectGetInteger(0,”TRADEs_CM”,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_CM”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_CM”,OBJPROP_BGCOLOR,FonButton);}
//——————
if(ObjectGetInteger(0,”TRADEs_CA”,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_CA”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_CA”,OBJPROP_BGCOLOR,FonButton);}
//——————
if(ObjectGetInteger(0,”TRADEs_CO”,OBJPROP_STATE))
{ObjectSetInteger(0,”TRADEs_CO”,OBJPROP_BGCOLOR,ClickButton);}
else
{ObjectSetInteger(0,”TRADEs_CO”,OBJPROP_BGCOLOR,FonButton);}
//+——————————————————————+
// Проверим событие на нажатие кнопки мышки
//+——————————————————————+
if(id==CHARTEVENT_OBJECT_CLICK)
{string clickedChartObject=sparam;

if(clickedChartObject==”TRADEs_B”)
{o=OrderSend(PairName,OP_BUY,Lot_1,MarketInfo(PairName,MODE_ASK),10,0,0,comment,Magic,0,Green);
ObjectSetInteger(0,”TRADEs_B”,OBJPROP_STATE,false);}
if(clickedChartObject==”TRADEs_S”)
{o=OrderSend(PairName,OP_SELL,Lot_1,MarketInfo(PairName,MODE_BID),10,0,0,comment,Magic,0,Red);
ObjectSetInteger(0,”TRADEs_S”,OBJPROP_STATE,false);}

if(clickedChartObject==”TRADEs_CP”)
{ObjectSetString(0,”TRADEs_CP”,OBJPROP_TEXT,TextOn);
ClosePlusPair(PairName);
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectsDeleteAll(0,OBJ_TREND);
ObjectSetInteger(0,”TRADEs_CP”,OBJPROP_STATE,false);}

if(clickedChartObject==”TRADEs_CM”)
{ObjectSetString(0,”TRADEs_CM”,OBJPROP_TEXT,TextOn);
CloseMinusPair(PairName);
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectsDeleteAll(0,OBJ_TREND);
ObjectSetInteger(0,”TRADEs_CM”,OBJPROP_STATE,false);}

if(clickedChartObject==”TRADEs_CA”)
{ObjectSetString(0,”TRADEs_CA”,OBJPROP_TEXT,TextOn);
ClosePosPair(PairName);
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectsDeleteAll(0,OBJ_TREND);
ObjectSetInteger(0,”TRADEs_CA”,OBJPROP_STATE,false);}

if(clickedChartObject==”TRADEs_CO”)
{ObjectSetString(0,”TRADEs_CO”,OBJPROP_TEXT,TextOn);
ClosePos();
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectsDeleteAll(0,OBJ_TREND);
ObjectSetInteger(0,”TRADEs_CO”,OBJPROP_STATE,false);}

//—————Отжатие противоположных кнопок———
if(clickedChartObject==”TRADEs_P1″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P2″)
{ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P3″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P4″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P5″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P6″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P7″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P8″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P9″,OBJPROP_STATE,false);}
//—————–
if(clickedChartObject==”TRADEs_P9″)
{ObjectSetInteger(0,”TRADEs_P2″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P3″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P4″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P5″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P6″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P7″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P8″,OBJPROP_STATE,false);
ObjectSetInteger(0,”TRADEs_P1″,OBJPROP_STATE,false);}
//—————–

//— Принудительно перерисуем все объекты на графике

ChartRedraw();
}}
//+——————————————————————+
//| Графические метки
//+——————————————————————+

//— Создаем прямоугольную метку (фон)

bool RectLabelCreate(string name, int x,int y, int width, int height, color back_clr, int space)
{ResetLastError();
//— создадим прямоугольную метку
if(!ObjectCreate(0,name,OBJ_RECTANGLE_LABEL,0,0,0))
{return(false);}
//— установим координаты метки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размеры метки
ObjectSetInteger(0,name,OBJPROP_XSIZE,width);
ObjectSetInteger(0,name,OBJPROP_YSIZE,height);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,back_clr);
//— установим тип границы
ObjectSetInteger(0,name,OBJPROP_BORDER_TYPE,BORDER_SUNKEN);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,space);
//— установим цвет плоской рамки (в режиме Flat)
ObjectSetInteger(0,name,OBJPROP_COLOR,Blue);
//— установим толщину плоской границы
ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— успешное выполнение
return(true);}

//— Создаем кнопку

void PutButton(string name,int x,int y,string text, int space)
{ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//— установим координаты кнопки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размер кнопки
ObjectSetInteger(0,name,OBJPROP_XSIZE,BWidth);
ObjectSetInteger(0,name,OBJPROP_YSIZE,BHeigh);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,space);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSizeInfo);
//— установим цвет текста
ObjectSetInteger(0,name,OBJPROP_COLOR,TXTButton);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,ClickButton);
//— установим цвет границы
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,ButtonBorder);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);}

//— Цвет текста

void PutLabelT(string name,int x,int y,string text, int space)
{ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//— установим координаты метки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER, space);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSizeInfo);
//— установим цвет
ObjectSetInteger(0,name,OBJPROP_COLOR,TextColor);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);}

//— Цвет текста разделителей, лого

void PutLabelDt(string name,int x,int y,string text,int space)
{ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//— установим координаты метки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,space);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSizeInfo);
//— установим цвет
ObjectSetInteger(0,name,OBJPROP_COLOR,InfoDataColorText);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);}

//— Цвет текста данных

void PutLabelD(string name,int x,int y,string data,int space)
{ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//— установим координаты метки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,space);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,data);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSizeInfo);
//— установим цвет
ObjectSetInteger(0,name,OBJPROP_COLOR,InfoDataColor);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);}

//— Кнопка для инфопанели

void PutButtonInfo(string name,int x,int y,string text, int space)
{ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//— установим координаты кнопки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размер кнопки
ObjectSetInteger(0,name,OBJPROP_XSIZE,BWidth);
ObjectSetInteger(0,name,OBJPROP_YSIZE,BHeigh);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,space);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSizeInfo);
//— установим цвет текста
ObjectSetInteger(0,name,OBJPROP_COLOR,TXTButton);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,FonButtonInfo);
//— установим цвет границы
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,ButtonBorder);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);}

//— Кнопки торговой панели (Бай/Селл)

void PutButtonBS(string name,int x,int y,string text,int BWidth2,int BHeigh2,color FonButtonBS,color TXTButtonBS)
{ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//— установим координаты кнопки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размер кнопки
ObjectSetInteger(0,name,OBJPROP_XSIZE,BWidth2);
ObjectSetInteger(0,name,OBJPROP_YSIZE,BHeigh2);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,0);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSize);
//— установим цвет текста
ObjectSetInteger(0,name,OBJPROP_COLOR,TXTButtonBS);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,FonButtonBS);
//— установим цвет границы
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,ButtonBorder);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);
}

//— Обычные кнопки с размером

void PutButtonER(string name,int x,int y,string text,int BWidth2,int BHeigh2)
{ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//— установим координаты кнопки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размер кнопки
ObjectSetInteger(0,name,OBJPROP_XSIZE,BWidth2);
ObjectSetInteger(0,name,OBJPROP_YSIZE,BHeigh2);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,0);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSize);
//— установим цвет текста
ObjectSetInteger(0,name,OBJPROP_COLOR,TXTButton);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,FonButton);
//— установим цвет границы
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,ButtonBorder);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);
}

//— Кнопка выбора пары

void PutButtonPair(string name,int x,int y,string text,int BWidth2,int BHeigh2)
{ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//— установим координаты кнопки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размер кнопки
ObjectSetInteger(0,name,OBJPROP_XSIZE,BWidth2);
ObjectSetInteger(0,name,OBJPROP_YSIZE,BHeigh2);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,0);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSize);
//— установим цвет текста
ObjectSetInteger(0,name,OBJPROP_COLOR,TXTButton);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,FonButton);
//— установим цвет границы
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,ButtonBorder);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);
}
//— Поле ввода (выбор номера пары)
void PutEdit(string name,int x,int y,string text, int width, int heigh)
{ObjectCreate(0,name,OBJ_EDIT,0,0,0);
//— установим координаты
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размеры объекта
ObjectSetInteger(0,name,OBJPROP_XSIZE,width);
ObjectSetInteger(0,name,OBJPROP_YSIZE,heigh);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSize);
//— установим способ выравнивания текста в объекте
ObjectSetInteger(0,name,OBJPROP_ALIGN,ALIGN_CENTER);
//— установим (true) или отменим (false) режим только для чтения
ObjectSetInteger(0,name,OBJPROP_READONLY,false);
//— установим угол графика, относительно которого будут определяться координаты объекта
ObjectSetInteger(0,name,OBJPROP_CORNER,0);
//— установим цвет текста
ObjectSetInteger(0,name,OBJPROP_COLOR,TXTButton);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,EditColor);
//— установим цвет границы
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,ButtonBorder);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,name,OBJPROP_BACK,false);}
//+——————————————————————+
//| Функции
//+——————————————————————+
//— Сумма открытых лотов

double AllLots(int type)
{double lot = 0;
for (int cnt = OrdersTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{if (OrderMagicNumber()==Magic && (OrderType() == type || type==-1)) lot += OrderLots();}}
return (lot);}
//— Текущий профит по паре

double Profit(int type, string symb=””)
{double Profit = 0;
for (int cnt = OrdersTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{if (symb==OrderSymbol() && OrderMagicNumber()==Magic && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
return (Profit);}

//— Профит на всем счете

double ProfitAll(int type)
{double Profit = 0;
for (int cnt = OrdersTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{if (OrderMagicNumber()==Magic && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
return (Profit);}

//— Счетчик зафиксированой прибыли за сегодня

double ProfitDey(int type)
{double Profit = 0;
for (int cnt = OrdersHistoryTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY))
{if (OrderMagicNumber()==Magic && OrderCloseTime()>=iTime(Symbol(),1440,0) && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
return (Profit);}

//— Счетчик зафиксированой прибыли за вчера

double ProfitTuDey(int type)
{double Profit = 0;
for (int cnt = OrdersHistoryTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY))
{if (OrderMagicNumber()==Magic && OrderCloseTime()>=iTime(Symbol(),1440,1) && OrderCloseTime()<iTime(Symbol(),1440,0) && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
return (Profit);}

//— Счетчик зафиксированой прибыли за позавчера

double ProfitEsTuDey(int type)
{double Profit = 0;
for (int cnt = OrdersHistoryTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY))
{if (OrderMagicNumber()==Magic && OrderCloseTime()>=iTime(Symbol(),1440,2) && OrderCloseTime()<iTime(Symbol(),1440,1) && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
return (Profit);}

//— Счетчик зафиксированой прибыли за неделю

double ProfitWeek(int type)
{double Profit = 0;
for (int cnt = OrdersHistoryTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY))
{if (OrderMagicNumber()==Magic && OrderCloseTime()>=iTime(Symbol(),10080,0) && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
return (Profit);}

//— Счетчик зафиксированой прибыли за месяц

double ProfitMontag(int type)
{double Profit = 0;
for (int cnt = OrdersHistoryTotal() – 1; cnt >= 0; cnt–) {
if(OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY))
{if (OrderMagicNumber()==Magic && OrderCloseTime()>=iTime(Symbol(),43200,0) && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
return (Profit);}

//— Счетчик всех ордеров на счете

int CountAll(int type)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderMagicNumber()==Magic && (type==-1 || OrderType()==type))
{
count++;
}
}
return(count);}

//— Счетчик ордеров по паре

int CountPair(int type, string sym, int key)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==sym && key==OrderMagicNumber() && (type==-1 || OrderType()==type))
{
count++;
}
}
return(count);}

//— Счетчик ордеров по паре в плюс

int CountPairPlus(int type, string sym, int key)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==sym && key==OrderMagicNumber() && OrderProfit()+OrderSwap()+OrderCommission()>0 && (type==-1 || OrderType()==type))
{
count++;
}
}
return(count);}

//— Счетчик ордеров по паре в минус

int CountPairMinus(int type, string sym, int key)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==sym && key==OrderMagicNumber() && OrderProfit()+OrderSwap()+OrderCommission()<0 && (type==-1 || OrderType()==type))
{
count++;
}
}
return(count);}
//======== Счетчик ордеров на текущем баре ================
int CountBar(int type, string sym)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==sym && OrderMagicNumber()==Magic && OrderOpenTime()>=iTime(sym,TimeFrame,0) && (type==-1 || OrderType()==type))
{
count++;
}
}
return(count);}
//======== Счетчик ордеров на текущем баре в истории ================
int CountBarHist(int type, string sym)
{
int count=0;
for(int i=OrdersHistoryTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==sym && OrderMagicNumber()==Magic && OrderOpenTime()>=iTime(sym,TimeFrame,0) && OrderCloseTime()>=iTime(sym,TimeFrame,0) && (type==-1 || OrderType()==type))
{
count++;
}
}
return(count);}
//– Закрытие ордеров (Закрыть все)

void ClosePos()
{bool cl;
for(int i=OrdersTotal()-1;i>=0;i–)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderMagicNumber()==Magic)
{if(OrderType()==0)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),Digits),10,White);}
if(OrderType()==1)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),Digits),10,White);}}}}}

//– Закрытие ордеров (Закрыть все по паре)

void ClosePosPair(string sym, int key)
{bool cl;
for(int i=OrdersTotal()-1;i>=0;i–)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderSymbol()==sym && OrderMagicNumber()==key)
{if(OrderType()==0)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_BID),Digits),10,White);}
if(OrderType()==1)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_ASK),Digits),10,White);}}}}}

//– Закрытие ордеров (Закрыть все)

void ClosePos(int key)
{bool cl;
for(int i=OrdersTotal()-1;i>=0;i–)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderMagicNumber()==key)
{if(OrderType()==0)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),Digits),10,White);}
if(OrderType()==1)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),Digits),10,White);}}}}}

//– Закрытие ордеров (Закрыть все по паре)

void ClosePosPair(string sym)
{bool cl;
for(int i=OrdersTotal()-1;i>=0;i–)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderSymbol()==sym && OrderMagicNumber()==Magic)
{if(OrderType()==0)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_BID),Digits),10,White);}
if(OrderType()==1)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_ASK),Digits),10,White);}}}}}

//– Закрытие ордеров (Закрыть профит по паре)

void ClosePlusPair(string sym)
{bool cl;
for(int i=OrdersTotal()-1;i>=0;i–)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderSymbol()==sym && OrderMagicNumber()==Magic && OrderProfit()+OrderCommission()+OrderSwap()>0)
{if(OrderType()==0)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_BID),Digits),10,White);}
if(OrderType()==1)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_ASK),Digits),10,White);}}}}}

//– Закрытие ордеров (Закрыть минус по паре)

void CloseMinusPair(string sym)
{bool cl;
for(int i=OrdersTotal()-1;i>=0;i–)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderSymbol()==sym && OrderMagicNumber()==Magic && OrderProfit()+OrderCommission()+OrderSwap()<0)
{if(OrderType()==0)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_BID),Digits),10,White);}
if(OrderType()==1)
{RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(sym,MODE_ASK),Digits),10,White);}}}}}

//— Находим цены последних ордеров в рынке
//— Бай
double OldPricB(string sy, int key)
{double oldorderopenpriceB=0;
int oldticketnumberB;
double unusedB = 0;
int ticketnumberB = 0;
for (int cnt = OrdersTotal() – 1; cnt >= 0; cnt–)
{if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{if (OrderSymbol() == sy && OrderMagicNumber() == key && OrderType() == OP_BUY)
{oldticketnumberB = OrderTicket();
if(oldticketnumberB > ticketnumberB)
{ticketnumberB = oldticketnumberB;
oldorderopenpriceB = OrderOpenPrice();
unusedB = oldorderopenpriceB;}}}}
return (oldorderopenpriceB);}

//— Селл

double OldPricS(string sy, int key)
{double oldorderopenpriceS=0;
int oldticketnumberS;
double unusedS = 0;
int ticketnumberS = 0;
for (int cnt = OrdersTotal() – 1; cnt >= 0; cnt–)
{if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{if (OrderSymbol() == sy && OrderMagicNumber() == key && OrderType() == OP_SELL)
{oldticketnumberS = OrderTicket();
if(oldticketnumberS > ticketnumberS)
{ticketnumberS = oldticketnumberS;
oldorderopenpriceS = OrderOpenPrice();
unusedS = oldorderopenpriceS;}}}}
return (oldorderopenpriceS);}

//——–Находим первый ордер в истории
datetime FirstOrderTime()
{
datetime time=0;
int tic=0;
for(int i=OrdersHistoryTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderComment()==comment && (OrderTicket()<tic || tic==0))
{
time=OrderOpenTime();
}
}
return(time);}

//——–Находим последний лот

double LastLot(int type, string sym)
{double lot=0;
datetime dt=0;
for(int i=OrdersTotal()-1;i>=0;i–)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderSymbol()==sym && OrderMagicNumber()==Magic && (type==-1 || OrderType()==type))
{if(OrderOpenTime()>dt)
{dt=OrderOpenTime();
lot=OrderLots();}}}
return(lot);}

//— Таймер

void OnTimer()
{
RefreshRates();
OnTick();
}

如果你对文件有了解,请帮助投票!

If you are familiar with the file, please help vote!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位投票人。

相关资源

暂无评论

none
暂无评论...