//+------------------------------------------------------------------+
//| i-UrovenZero-Uni.mq4 |
//| Bor-ix i Kirill + ïîìîùü d_tom i Don_Leone |
//+------------------------------------------------------------------+
#property copyright "Bor-ix i Kirill"
#property indicator_chart_window
//Èíäèêàòîð ðèñóåò äâà óðîâíÿ íà ãðàôèêå òîðãóåìîé âàëþòû, ïðè äîñòèæåíèè êîòîðîãî öåíîé
//âñå îòêðûòûå ïîçèöèè â ñóììå óéäóò â òàêîé ìèíóñ, ÷òî ñâîáîäíàÿ ìàðæà ñòàíåò ðàâíà íóëþ (óðîâåíü ZeroMargin)
//è ïðè äîñòèæåíèÿ öåíîé óðîâíÿ, ïðè êîòîðîì âñå îòêðûòûå îðäåðà â ñóììå áóäóò ðàâíû íóëþ (óðîâåíü ZeroProfit)...
//Ðàáîòàåò òîëüêî ïðè òîðãîâëå ïî îäíîé âàëþòå.
//Îòëîæåííûå îðäåðà íå ïðèíèìàþòñÿ â ðàñ÷¸ò
//Âàðèàíòû ðåæèìà ðàñ÷åòà ìîãóò ïðèíèìàòü ñëåäóþùèå çíà÷åíèÿ:
//v.0 - "Íåðåàëèçîâàííûå ïðèáûëè/óáûòêè íå èñïîëüçóþòñÿ. Ñâîáîäíàÿ ìàðæà íå çàâèñèò îò òåêóùåé öåíû".
//v.1 - "Ïðè ðàñ÷åòå ñâîáîäíûõ ñðåäñòâ èñïîëüçóåòñÿ êàê íåðåàëèçîâàííàÿ ïðèáûëü, òàê è óáûòîê ïî îòêðûòûì ïîçèöèÿì íà òåêóùåì ñ÷åòå".
//v.2 - "Íåðåàëèçîâàííûå óáûòêè íå èñïîëüçóþòñÿ. Ñâîáîäíàÿ ìàðæà íå óìåíüøàåòñÿ ïðè èçìåíåíèè òåê. öåíû."
//v.3 - "Ïðè ðàñ÷åòå èñïîëüçóåòñÿ òîëüêî çíà÷åíèå óáûòêà, òåêóùàÿ ïðèáûëü ïî îòêðûòûì ïîçèöèÿì íå ó÷èòûâàåòñÿ. Áóäåò ðàññ÷èòàíî äâà óðîâíÿ".
extern bool INFO_COMENT = false;
extern string CALC_Bar_0 = "=== Ïàíåëü Ðàñ÷åòîâ ===";
extern bool CALC_0 = false;
extern double Lots_R = 1.0; // ââîäèì çíà÷åíèå îáúåìà ëîòà
extern double Rastojanie_R = 50.0; // ââîäèì çíà÷åíèå ðàññòîÿíèÿ â ïóíêòàõ
extern double Pribyl_R = 0.0; // ââîäèì çíà÷åíèå ïðèáûëè/óáûòêà â öåíòàõ
extern color cvet_CALC_0 = Violet; //öâåò îñíîâíîé íàäïèñè ïàíåëè
extern color cvet_CALC_R = Orange; //öâåò íàäïèñè ðåçóëüòàòà ðàñ÷åòîâ
extern int Ugol_0 = 2; // ïîëîæåíèå íà ãðàôèêå
extern int MP_X_0 = 10; // çíà÷åíèå êîîðäèíàò ïî ãîðèçîíòàëè
extern int MP_Y_0 = 10; // çíà÷åíèå êîîðäèíàò ïî âåðòèêàëè
extern string Shrift_Bar = "=== Ðàçìåð Øðèôòà ===";
extern int RazmerShrifta = 9;
extern string MetodR_Block = "=== Âàðèàíò Ðàñ÷åòà Áåçóáûòêà ===";
extern bool MetodRBezubytkaNew = true; // true - íîâûé ìåòîä ðàñ÷åòà; false - ñòàðûé ìåòîä ðàñ÷åòà áåç ñâîïîâ è êîìèññèé;
extern bool MetodRBNew_Sw_Com = true; // true - ñî ñâîïàìè è êîìèññèÿìè; false - áåç ñâîïîâ è êîìèññèé;
extern string ZeroProfit_Block = "=== Ïàðàì. Îáùåãî Áåçóáûòêà ===";
extern bool ZeroProfit = true;
extern color Colour_ZP = DarkTurquoise;
extern int Style_ZP = 1; //0,1,2,3,4
extern int Width_ZP = 2; //0,1,2,3,4
extern string ZeroBUY_Block = "=== Ïàðàì.Áåçóáûòêà äëÿ BUY ===";
extern bool ZeroBUY = true;
extern color Colour_ZB = DarkTurquoise;
extern int Style_ZB = 2; //0,1,2,3,4
extern int Width_ZB = 1; //0,1,2,3,4
extern string ZeroBUYP_Block = "=== Óðîâ.Ïðèáûëè ïî ÒÐ äëÿ BUY ===";
extern bool ZeroBUYP = false;
extern int PlusB = 50;
extern color Colour_ZB_P = MediumSeaGreen;
extern int Style_ZB_P = 2; //0,1,2,3,4
extern int Width_ZB_P = 1; //0,1,2,3,4
extern string ZeroSELL_Block = "=== Ïàðàì.Áåçóáûòêà äëÿ SELL ===";
extern bool ZeroSELL = true;
extern color Colour_ZS = DarkTurquoise;
extern int Style_ZS = 2; //0,1,2,3,4
extern int Width_ZS = 1; //0,1,2,3,4
extern string ZeroSELLP_Block = "=== Óðîâ.Ïðèáûëè ïî ÒÐ äëÿ SELL ===";
extern bool ZeroSELLP = false;
extern int PlusS = 50;
extern color Colour_ZS_P = MediumSeaGreen;
extern int Style_ZS_P = 2; //0,1,2,3,4
extern int Width_ZS_P = 1; //0,1,2,3,4
extern string ZeroMargin_Block = "=== Ïàðàì. Íóëåâîé Ìàðæè ===";
extern bool ZeroMargin = true;
extern color Colour_ZM = Orange;
extern int Style_ZM = 0; //0,1,2,3,4
extern int Width_ZM = 2; //0,1,2,3,4
extern string ZeroMarginPr_Block = "=== Ïàðàì. % Íóëåâîé Ìàðæè ===";
extern bool ZeroMarginPr = true;
extern int Procent_ZM = 150; // ïðîöåíòû îò îáùåãî óðîâíÿ äëÿ ïðåäóïðåæäåíèÿ
extern int Style_ZM_Procent = 2; //0,1,2,3,4
extern int Width_ZM_Procent = 1; //0,1,2,3,4
extern string Zona_LOCK_Param = "=== Ïàðàì. Çîíû LOCK ===";
extern bool Cvet_zony_LOCK_p = false;
extern color Cvet_zony_LOCK = LightYellow; //C'70,100,00'; // öâåò çîíû LOCK
extern string ZeroFull_Block = "=== Ïàðàì. Ïîëíîãî ÑËÈÂÀ ===";
extern bool ZeroFull = true;
extern color Colour_ZF = Red;
extern int Style_ZF = 0; //0,1,2,3,4
extern int Width_ZF = 2; //0,1,2,3,4
extern string ZeroFull_Pr_Block = "=== StopOut/Ïðèíóä.Çàêð.Îðäåðîâ ===";
extern bool ZeroFull_Pr = true;
extern int Style_ZF_Procent = 2; //0,1,2,3,4
extern int Width_ZF_Procent = 1; //0,1,2,3,4
extern string Zona_dDZ_Param = "=== Ïàðàì. Ìåðòâîé Çîíû ===";
extern bool Cvet_zony_dDZ_f = false;
extern color Cvet_zony_dDZ = LightPink; //C'70,00,00'; // öâåò çîíû DEAD ZONE
extern string INFO_Bar_1 = "=== Ïàíåëü Èíôîðìàöèè 1 ===";
extern bool INFO_1 = true;
extern int Ugol_1 = 3; // ïîëîæåíèå íà ãðàôèêå
extern int MP_X = 10; // çíà÷åíèå êîîðäèíàò ïî ãîðèçîíòàëè
extern int MP_Y = 10; // çíà÷åíèå êîîðäèíàò ïî âåðòèêàëè
extern string INFO_Bar_2 = "=== Ïàíåëü Èíôîðìàöèè 2 ===";
extern bool INFO_2 = false;
extern color cvet_dop_info2 = Silver; // öâåò èíôî. ïàíåëè 2
extern int Ugol_2 = 3; // ïîëîæåíèå íà ãðàôèêå
extern int MP_X_2 = 10; // çíà÷åíèå êîîðäèíàò ïî ãîðèçîíòàëè
extern int MP_Y_2 = 10; // çíà÷åíèå êîîðäèíàò ïî âåðòèêàëè
extern string INFO_Bar_3 = "=== Ïàíåëü Èíôîðìàöèè 3 ===";
extern int Ugol_3 = 1; // ïîëîæåíèå íà ãðàôèêå èíôî. ïàíåëè 3
extern string INFO_Bar_4 = "=== Ïàíåëü Èíôîðìàöèè 4 ===";
extern bool INFO_4 = false;
extern color cvet_dop_info4 = Tan; // öâåò èíôî. ïàíåëè 4
extern int Ugol_4 = 3; // ïîëîæåíèå íà ãðàôèêå
extern int MP_X_4 = 10; // çíà÷åíèå êîîðäèíàò ïî ãîðèçîíòàëè
extern int MP_Y_4 = 10; // çíà÷åíèå êîîðäèíàò ïî âåðòèêàëè
extern string Sound_Bar = "=== Âîñïðîèçâåäåíèå Çâóêà ===";
extern bool SoundPlay_Menshe = true;
extern string Sound_Alert = "Alert.wav";
extern bool SoundPlay_Bolshe = false;
extern string Sound_OK = "clock.wav";
extern string Urov.BS.SS_Bar = "=== Óðîâíè Buy è Sell Stop ===";
extern bool Urov.BS.SS = false;
extern color Colour_SB = LightPink;
extern int Style_SB = 2;
extern int Width_SB = 0;
extern color Colour_SS = LightSkyBlue;
extern int Style_SS = 2;
extern int Width_SS = 1;
extern string URLock_Bar = "=== Óðîâåíü Ðàâíîãî Ëîêà ===";
extern bool U.R.Lock = true;
extern color Colour_URLock = DodgerBlue;
extern int Style_URLock = 2; //0,1,2,3,4
extern int Width_URLock = 1; //0,1,2,3,4
string comment = "";
Comment("");
//---------------------------------------------------------------------------------------------//
//ñòèðàíèå íàðèñîâàííûõ îáúåêòîâ ïîñëå çàêðûòèÿ èíäèêàòîðà
//---------------------------------------------------------------------------------------------//
int deinit()
{
ObjectDelete ("Óðîâåíü Íóëåâîé Ìàðæè");
ObjectDelete ("Óðîâåíü ÑËÈÂÀ");
ObjectDelete ("LOCK");
ObjectDelete ("DEAD ZONE");
ObjectDelete ("DEAD ZONE =");
ObjectDelete ("DEAD ZONE = 2");
ObjectDelete ("GAME OVER");
ObjectDelete ("GAME OVER 2");
ObjectDelete ("GAME OVER 3");
ObjectDelete ("Ïðîöåíòû äî Óðîâíÿ Íóëåâîé Ìàðæè");
ObjectDelete ("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut");
ObjectDelete ("Îáùèé Óðîâåíü Áåçóáûòêà");
ObjectDelete ("Óðîâåíü Áåçóáûòêà BUY");
ObjectDelete ("Óðîâåíü+ îò Áåçóáûòêà BUY");
ObjectDelete ("Ïðèáûëü - Ðàñ÷åò BUY");
ObjectDelete ("Óðîâåíü Áåçóáûòêà SELL");
ObjectDelete ("Óðîâåíü+ îò Áåçóáûòêà SELL");
ObjectDelete ("Ïðèáûëü - Ðàñ÷åò SELL");
ObjectDelete ("Ðàñòîÿíèå ìåæäó BUY = 0 è SELL = 0");
ObjectDelete ("Ðàññòîÿíèå äî Îáùåãî Óðîâíÿ Áåçóáûòêà - èíôî");
ObjectDelete ("Îáùèé Óðîâåíü Áåçóáûòêà - èíôî");
ObjectDelete ("Ðàññòîÿíèå äî Íóëåâîé Ìàðæè - èíôî");
ObjectDelete ("Óðîâåíü Íóëåâîé Ìàðæè - èíôî");
ObjectDelete ("Óðîâåíü ÑËÈÂÀ - èíôî");
ObjectDelete ("Ìåðòâàÿ Çîíà - èíôî");
ObjectDelete ("Ìåðòâàÿ Çîíà - öâåò");
ObjectDelete ("Çîíà LOCK - öâåò");
ObjectDelete ("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut - èíôî");
ObjectDelete ("Ìîæíî êóïèòü ëîòîâ - èíôî");
ObjectDelete ("Çàëîã çà ìèíèìàëüíûé ëîò - èíôî");
ObjectDelete ("Ìèíèìàëüíûé ëîò - èíôî");
ObjectDelete ("Ìàêñèìàëüíûé ëîò - èíôî");
ObjectDelete ("Ñòîèìîñòü 1 ïï äëÿ 1 ëîòà - èíôî");
ObjectDelete ("Ñïðåä, ïï - èíôî");
ObjectDelete ("Ñâîï BUY, ïï - èíôî");
ObjectDelete ("Ñâîï SELL, ïï - èíôî");
ObjectDelete ("Ïðèáûëü - Ðàñ÷åò");
ObjectDelete ("Ðàññòîÿíèå - Ðàñ÷åò");
ObjectDelete ("Îáúåì Ëîòà - Ðàñ÷åò");
ObjectDelete ("Ïàíåëü Ðàñ÷åòà - Ðàñ÷åò");
ObjectDelete ("Êîììåíòàðèè - Ðàñ÷åò");
ObjectDelete ("Îáù.òåêóù.ïðèáûëü - èíôî");
ObjectDelete ("Ïðèá.îò.SELL.ñäåëîê - èíôî");
ObjectDelete ("Ïðèá.îò.BUY.ñäåëîê - èíôî");
ObjectDelete ("Óðîâ.SELL=0 - èíôî");
ObjectDelete ("Óðîâ.BUY=0 - èíôî");
ObjectDelete ("Îáúåì.SELL.ëîòîâ - èíôî");
ObjectDelete ("Îáúåì.BUY.ëîòîâ - èíôî");
ObjectDelete ("Êîëëè÷.SELL - èíôî");
ObjectDelete ("Êîëëè÷.BUY - èíôî");
ObjectDelete ("ZeroLevel");
ObjectDelete ("ZeroLevel_BUY");
ObjectDelete ("ZeroLevel_SELL");
ObjectDelete ("íå íèæå äëÿ Buy.Stop");
ObjectDelete ("íå âûøå äëÿ Sell.Stop");
ObjectDelete ("Óðîâåíü Ðàâíîãî Ëîêà");
return (0);
}
//---------------------------------------------------------------------------------------------//
int start()
{
//---------------------------------------------------------------------------------------------//
//ñòèðàíèå íàðèñîâàííûõ îáúåêòîâ
//---------------------------------------------------------------------------------------------//
ObjectDelete ("Óðîâåíü Íóëåâîé Ìàðæè");
ObjectDelete ("Óðîâåíü ÑËÈÂÀ");
ObjectDelete ("LOCK");
ObjectDelete ("DEAD ZONE");
ObjectDelete ("DEAD ZONE =");
ObjectDelete ("DEAD ZONE = 2");
ObjectDelete ("GAME OVER");
ObjectDelete ("GAME OVER 2");
ObjectDelete ("GAME OVER 3");
ObjectDelete ("Ïðîöåíòû äî Óðîâíÿ Íóëåâîé Ìàðæè");
ObjectDelete ("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut");
ObjectDelete ("Îáùèé Óðîâåíü Áåçóáûòêà");
ObjectDelete ("Óðîâåíü Áåçóáûòêà BUY");
ObjectDelete ("Óðîâåíü+ îò Áåçóáûòêà BUY");
ObjectDelete ("Ïðèáûëü - Ðàñ÷åò BUY");
ObjectDelete ("Óðîâåíü Áåçóáûòêà SELL");
ObjectDelete ("Óðîâåíü+ îò Áåçóáûòêà SELL");
ObjectDelete ("Ïðèáûëü - Ðàñ÷åò SELL");
ObjectDelete ("Ðàñòîÿíèå ìåæäó BUY = 0 è SELL = 0");
ObjectDelete ("Ðàññòîÿíèå äî Îáùåãî Óðîâíÿ Áåçóáûòêà - èíôî");
ObjectDelete ("Îáùèé Óðîâåíü Áåçóáûòêà - èíôî");
ObjectDelete ("Ðàññòîÿíèå äî Íóëåâîé Ìàðæè - èíôî");
ObjectDelete ("Óðîâåíü Íóëåâîé Ìàðæè - èíôî");
ObjectDelete ("Óðîâåíü ÑËÈÂÀ - èíôî");
ObjectDelete ("Ìåðòâàÿ Çîíà - èíôî");
ObjectDelete ("Ìåðòâàÿ Çîíà - öâåò");
ObjectDelete ("Çîíà LOCK - öâåò");
ObjectDelete ("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut - èíôî");
ObjectDelete ("Ìîæíî êóïèòü ëîòîâ - èíôî");
ObjectDelete ("Çàëîã çà ìèíèìàëüíûé ëîò - èíôî");
ObjectDelete ("Ìèíèìàëüíûé ëîò - èíôî");
ObjectDelete ("Ìàêñèìàëüíûé ëîò - èíôî");
ObjectDelete ("Ñòîèìîñòü 1 ïï äëÿ 1 ëîòà - èíôî");
ObjectDelete ("Ñïðåä, ïï - èíôî");
ObjectDelete ("Ñâîï BUY, ïï - èíôî");
ObjectDelete ("Ñâîï SELL, ïï - èíôî");
ObjectDelete ("Ïðèáûëü - Ðàñ÷åò");
ObjectDelete ("Ðàññòîÿíèå - Ðàñ÷åò");
ObjectDelete ("Îáúåì Ëîòà - Ðàñ÷åò");
ObjectDelete ("Ïàíåëü Ðàñ÷åòà - Ðàñ÷åò");
ObjectDelete ("Êîììåíòàðèè - Ðàñ÷åò");
ObjectDelete ("Îáù.òåêóù.ïðèáûëü - èíôî");
ObjectDelete ("Ïðèá.îò.SELL.ñäåëîê - èíôî");
ObjectDelete ("Ïðèá.îò.BUY.ñäåëîê - èíôî");
ObjectDelete ("Óðîâ.SELL=0 - èíôî");
ObjectDelete ("Óðîâ.BUY=0 - èíôî");
ObjectDelete ("Îáúåì.SELL.ëîòîâ - èíôî");
ObjectDelete ("Îáúåì.BUY.ëîòîâ - èíôî");
ObjectDelete ("Êîëëè÷.SELL - èíôî");
ObjectDelete ("Êîëëè÷.BUY - èíôî");
ObjectDelete ("ZeroLevel");
ObjectDelete ("ZeroLevel_BUY");
ObjectDelete ("ZeroLevel_SELL");
ObjectDelete ("íå íèæå äëÿ Buy.Stop");
ObjectDelete ("íå âûøå äëÿ Sell.Stop");
ObjectDelete ("Óðîâåíü Ðàâíîãî Ëîêà");
//---------------------------------------------------------------------------------------------//
//íà÷ëî êîäà - ëè÷íàÿ èíôîðìàöèÿ
//---------------------------------------------------------------------------------------------//
double i, total = OrdersTotal();
double lots=0.0, shift, shift_ZLB, shift_ZLS;
Comment_("----------------------------");
Comment_(" " + AccountName());
string type = "Ðåàë"; if (IsDemo()) type = "Äåìî";
Comment_(" Òèï ñ÷åòà: " + type + " - ¹: " + AccountNumber());
Comment_(" 쑌֔: 1/" + AccountLeverage());
Comment_("----------------------------");
//---------------------------------------------------------------------------------------------//
//êîíñòàíòû
//---------------------------------------------------------------------------------------------//
double minlot = MarketInfo(Symbol(),MODE_MINLOT); //ðàçìåð ìèíèìàëüíîãî ëîòà
double maxlot = MarketInfo(Symbol(),MODE_MAXLOT); //ðàçìåð ìàêñèìàëüíîãî ëîòà
double lot_cena = MarketInfo(Symbol(),MODE_MARGINREQUIRED); //öåíà 1.0 ëîòà
double lot_zalog = MarketInfo(Symbol(),MODE_MARGININIT); //çàëîã çà 1.0 ëîò
double min_balans = (lot_cena + lot_zalog) * minlot; //ðàñ÷åò ñòîèìîñòè ìèíèìàëüíîãî ëîòà
double lotsss = AccountFreeMargin()*minlot/min_balans; //êîëè÷åñòâî ëîòîâ êîòîðîå ìîæíî êóïèòü
double pp_cena = MarketInfo(Symbol(),MODE_TICKVALUE); //öåíà îäíîãî ïóíêòà
double swap_long = MarketInfo(Symbol(),MODE_SWAPLONG); //ñâîï äëÿ BUY â ïóíêòàõ
double swap_short = MarketInfo(Symbol(),MODE_SWAPSHORT); //ñâîï äëÿ SELL â ïóíêòàõ
double spread = MarketInfo(Symbol(),MODE_SPREAD); //ðàçìåð ñïðýäà
double sredsva = AccountEquity(); //èìåþùèåñÿ íà ñ÷åòó ñðåäñòâà
double Znakov = MathPow ( 10 , MarketInfo(Symbol(),MODE_DIGITS)); //êîîýô.óìíîæåíèÿ äëÿ çíàêîâ âàëþòíîé ïàðû
//---------------------------------------------------------------------------------------------//
//ïàíåëü "GAME OVER"
//---------------------------------------------------------------------------------------------//
if (AccountBalance() < min_balans)
{
if (AccountEquity() < min_balans)
{
if (OrderProfit() < min_balans)
{
ObjectCreate("GAME OVER", OBJ_LABEL, 0, 0, 0);
ObjectSetText("GAME OVER", "GAME OVER", RazmerShrifta*4, "Verdana", Colour_ZF);
ObjectSet("GAME OVER", OBJPROP_CORNER, Ugol_1);
ObjectSet("GAME OVER", OBJPROP_XDISTANCE, MP_X+RazmerShrifta*1.5);
ObjectSet("GAME OVER", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*2);
ObjectCreate("GAME OVER 2", OBJ_LABEL, 0, 0, 0);
ObjectSetText("GAME OVER 2", "ÂÛÈÃÐÛÂÀÅÒ ÒÎÒ, ÊÒÎ ÍÅ ÓÑÒÀÅÒ ÏÐÎÈÃÐÛÂÀÒÜ", RazmerShrifta, "Verdana", Colour_ZM);
ObjectSet("GAME OVER 2", OBJPROP_CORNER, Ugol_1);
ObjectSet("GAME OVER 2", OBJPROP_XDISTANCE, MP_X);
ObjectSet("GAME OVER 2", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta+2);
ObjectCreate("GAME OVER 3", OBJ_LABEL, 0, 0, 0);
ObjectSetText("GAME OVER 3", "çàãðóæàé äåíüãè è íà÷èíàé ñíà÷àëà :)", RazmerShrifta-1, "Verdana", Gray);
ObjectSet("GAME OVER 3", OBJPROP_CORNER, Ugol_1);
ObjectSet("GAME OVER 3", OBJPROP_XDISTANCE, MP_X+43);
ObjectSet("GAME OVER 3", OBJPROP_YDISTANCE, MP_Y);
}
}
}
//---------------------------------------------------------------------------------------------//
//ðàñ÷åò áåçóáûòêà #2 - New
//---------------------------------------------------------------------------------------------//
double price_bzu_o = 0;
double price_bzu_B = 0;
double price_bzu_S = 0;
double BuyLots_b = 0;
double SellLots_b = 0;
double BuyProfit_b = 0;
double SellProfit_b = 0;
if (MetodRBezubytkaNew == true)
{
int Total_b = OrdersTotal();
for (int i_b = Total_b-1; i_b >= 0; i_b--)
{
if (OrderSelect(i_b, SELECT_BY_POS))
{
if (OrderSymbol() != Symbol()) continue;
if (OrderType() == OP_BUY)
{
BuyLots_b = BuyLots_b + OrderLots();
if (MetodRBNew_Sw_Com == true)
BuyProfit_b = BuyProfit_b + OrderProfit() + OrderCommission() + OrderSwap();
else BuyProfit_b = BuyProfit_b + OrderProfit();
}
if (OrderType() == OP_SELL)
{
SellLots_b = SellLots_b + OrderLots();
if (MetodRBNew_Sw_Com == true)
SellProfit_b = SellProfit_b + OrderProfit() + OrderCommission() + OrderSwap();
else SellProfit_b = SellProfit_b + OrderProfit();
}
}
}
double TickValue_b = MarketInfo(Symbol(), MODE_TICKVALUE);
if (BuyLots_b > 0)
price_bzu_B = Bid - (BuyProfit_b / (TickValue_b * BuyLots_b) * Point); //óðîâåíü áåçóáûòêà äëÿ âñåõ BUY îðäåðîâ
else price_bzu_B = 0;
if (SellLots_b > 0)
price_bzu_S = Ask + (SellProfit_b / (TickValue_b * SellLots_b) * Point); //óðîâåíü áåçóáûòêà äëÿ âñåõ SELL îðäåðîâ
else price_bzu_S = 0;
if ((BuyLots_b - SellLots_b) > 0)
price_bzu_o = Bid - ((BuyProfit_b + SellProfit_b) / (TickValue_b * (BuyLots_b - SellLots_b)) * Point);
if ((SellLots_b - BuyLots_b) > 0)
price_bzu_o = Ask + ((BuyProfit_b + SellProfit_b) / (TickValue_b * (SellLots_b - BuyLots_b)) * Point);
}
else
{
//---------------------------------------------------------------------------------------------//
//ðàñ÷åò îáùåãî áåçóáûòêà - ðàñ÷åò áåçóáûòêà #1 - old
//---------------------------------------------------------------------------------------------//
double lots_bzu = 0;
double sum_bzu = 0;
for (double i_bzu = 0; i_bzu < OrdersTotal(); i_bzu++)
{
if ( !OrderSelect ( i_bzu , SELECT_BY_POS , MODE_TRADES )) break;
if ( OrderSymbol () != Symbol()) continue;
if ( OrderType () == OP_BUY)
{
lots_bzu = lots_bzu + OrderLots ();
sum_bzu = sum_bzu + OrderLots () * OrderOpenPrice ();
}
if ( OrderType () == OP_SELL )
{
lots_bzu = lots_bzu - OrderLots ();
sum_bzu = sum_bzu - OrderLots () * OrderOpenPrice ();
}
price_bzu_o = 0;
if (lots_bzu != 0 )
price_bzu_o = sum_bzu / lots_bzu; // óðîâåíü îáùåãî áåçóáûòêà
}
//---------------------------------------------------------------------------------------------//
//ðàñ÷åò áåçóáûòêà - BUY
//---------------------------------------------------------------------------------------------//
double sum_bzu_B = 0;
for (double i_bzu_B = 0; i_bzu_B < OrdersTotal(); i_bzu_B++)
{
if ( !OrderSelect ( i_bzu_B , SELECT_BY_POS , MODE_TRADES )) break;
if ( OrderSymbol () != Symbol()) continue;
if ( OrderType () == OP_BUY)
{
BuyLots_b = BuyLots_b + OrderLots ();
sum_bzu_B = sum_bzu_B + OrderLots () * OrderOpenPrice ();
}
price_bzu_B = 0;
if (BuyLots_b != 0 )
price_bzu_B = sum_bzu_B / BuyLots_b; // óðîâåíü áåçóáûòêà BUY
}
//---------------------------------------------------------------------------------------------//
//ðàñ÷åò áåçóáûòêà - SELL
//---------------------------------------------------------------------------------------------//
double sum_bzu_S = 0;
for (double i_bzu_S = 0; i_bzu_S < OrdersTotal(); i_bzu_S++)
{
if ( !OrderSelect ( i_bzu_S , SELECT_BY_POS , MODE_TRADES )) break;
if ( OrderSymbol () != Symbol()) continue;
if ( OrderType () == OP_SELL)
{
SellLots_b = SellLots_b + OrderLots ();
sum_bzu_S = sum_bzu_S + OrderLots () * OrderOpenPrice ();
}
price_bzu_S = 0;
if (SellLots_b != 0 )
price_bzu_S = sum_bzu_S / SellLots_b; // óðîâåíü áåçóáûòêà SELL
}
}
//---------------------------------------------------------------------------------------------//
//ðèñîâàíèå îáùåãî óðîâíÿ áåçóáûòêà
//---------------------------------------------------------------------------------------------//
if (ZeroProfit == true)
{
ObjectCreate("Îáùèé Óðîâåíü Áåçóáûòêà", OBJ_HLINE, 0, 0, price_bzu_o);
ObjectSet("Îáùèé Óðîâåíü Áåçóáûòêà", OBJPROP_COLOR, Colour_ZP);
ObjectSet("Îáùèé Óðîâåíü Áåçóáûòêà", OBJPROP_STYLE, Style_ZP);
ObjectSet("Îáùèé Óðîâåíü Áåçóáûòêà", OBJPROP_WIDTH, Width_ZP);
}
//---------------------------------------------------------------------------------------------//
//ðèñîâàíèå óðîâíÿ áåçóáûòêà BUY
//---------------------------------------------------------------------------------------------//
if (ZeroBUY == true)
{
ObjectCreate("Óðîâåíü Áåçóáûòêà BUY", OBJ_HLINE, 0, 0, price_bzu_B);
ObjectSet("Óðîâåíü Áåçóáûòêà BUY", OBJPROP_COLOR, Colour_ZB);
ObjectSet("Óðîâåíü Áåçóáûòêà BUY", OBJPROP_STYLE, Style_ZB);
ObjectSet("Óðîâåíü Áåçóáûòêà BUY", OBJPROP_WIDTH, Width_ZB);
}
if (ZeroBUYP == true)
{
ObjectCreate("Óðîâåíü+ îò Áåçóáûòêà BUY", OBJ_HLINE, 0, 0, price_bzu_B + PlusB * Point);
ObjectSet("Óðîâåíü+ îò Áåçóáûòêà BUY", OBJPROP_COLOR, Colour_ZB_P);
ObjectSet("Óðîâåíü+ îò Áåçóáûòêà BUY", OBJPROP_STYLE, Style_ZB_P);
ObjectSet("Óðîâåíü+ îò Áåçóáûòêà BUY", OBJPROP_WIDTH, Width_ZB_P);
}
if (CALC_0 == true)
{
double Pribyl_R_2_Pb = PlusB * BuyLots_b * pp_cena; //Ðàñ÷åò ïðèáûëè +
ObjectCreate("Ïðèáûëü - Ðàñ÷åò BUY", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïðèáûëü - Ðàñ÷åò BUY", " Ïðèáûëü BUY: " + DoubleToStr(Pribyl_R_2_Pb, 3), RazmerShrifta, "Verdana", Colour_ZB_P);
ObjectSet("Ïðèáûëü - Ðàñ÷åò BUY", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ïðèáûëü - Ðàñ÷åò BUY", OBJPROP_XDISTANCE, MP_X_0 + RazmerShrifta);
ObjectSet("Ïðèáûëü - Ðàñ÷åò BUY", OBJPROP_YDISTANCE, MP_Y_0 * 8.0);
}
//---------------------------------------------------------------------------------------------//
//ðèñîâàíèå óðîâíÿ áåçóáûòêà SELL
//---------------------------------------------------------------------------------------------//
if (ZeroSELL == true)
{
ObjectCreate("Óðîâåíü Áåçóáûòêà SELL", OBJ_HLINE, 0, 0, price_bzu_S);
ObjectSet("Óðîâåíü Áåçóáûòêà SELL", OBJPROP_COLOR, Colour_ZS);
ObjectSet("Óðîâåíü Áåçóáûòêà SELL", OBJPROP_STYLE, Style_ZS);
ObjectSet("Óðîâåíü Áåçóáûòêà SELL", OBJPROP_WIDTH, Width_ZS);
}
if (ZeroSELLP == true)
{
ObjectCreate("Óðîâåíü+ îò Áåçóáûòêà SELL", OBJ_HLINE, 0, 0, price_bzu_S - PlusS * Point);
ObjectSet("Óðîâåíü+ îò Áåçóáûòêà SELL", OBJPROP_COLOR, Colour_ZS_P);
ObjectSet("Óðîâåíü+ îò Áåçóáûòêà SELL", OBJPROP_STYLE, Style_ZS_P);
ObjectSet("Óðîâåíü+ îò Áåçóáûòêà SELL", OBJPROP_WIDTH, Width_ZS_P);
}
if (CALC_0 == true)
{
double Pribyl_R_2_Ps = PlusS * SellLots_b * pp_cena; //Ðàñ÷åò ïðèáûëè +
ObjectCreate("Ïðèáûëü - Ðàñ÷åò SELL", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïðèáûëü - Ðàñ÷åò SELL", "Ïðèáûëü SELL: " + DoubleToStr(Pribyl_R_2_Ps, 3), RazmerShrifta, "Verdana", Colour_ZS_P);
ObjectSet("Ïðèáûëü - Ðàñ÷åò SELL", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ïðèáûëü - Ðàñ÷åò SELL", OBJPROP_XDISTANCE, MP_X_0 + RazmerShrifta);
ObjectSet("Ïðèáûëü - Ðàñ÷åò SELL", OBJPROP_YDISTANCE, MP_Y_0 * 6.9);
}
//---------------------------------------------------------------------------------------------//
//ðàñòîÿíèå ìåæäó íóëåâûìè óðîâíÿìè BUY è SELL
//---------------------------------------------------------------------------------------------//
if (CALC_0 == true)
{
ObjectCreate("Ðàñòîÿíèå ìåæäó BUY = 0 è SELL = 0", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ðàñòîÿíèå ìåæäó BUY = 0 è SELL = 0", "Ðàñ.ìåæä. 0/0: " + DoubleToStr((price_bzu_B - price_bzu_S)/Point, 0), RazmerShrifta, "Verdana", Colour_ZP);
ObjectSet("Ðàñòîÿíèå ìåæäó BUY = 0 è SELL = 0", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ðàñòîÿíèå ìåæäó BUY = 0 è SELL = 0", OBJPROP_XDISTANCE, MP_X_0 + RazmerShrifta);
ObjectSet("Ðàñòîÿíèå ìåæäó BUY = 0 è SELL = 0", OBJPROP_YDISTANCE, MP_Y_0 * 9.3);
}
//---------------------------------------------------------------------------------------------//
//ðàñ÷åò óðîâíÿ Íóëåâîé ìàðæè
//---------------------------------------------------------------------------------------------//
if(AccountFreeMarginMode() == 0)
Comment_(" v.0"); // + " - Íåðåàëèçîâàííûå ïðèáûëè/óáûòêè íå èñïîëüçóþòñÿ. \n Ñâîáîäíàÿ ìàðæà íå çàâèñèò îò òåê. öåíû.");
else if(AccountFreeMarginMode() == 2)
Comment_(" v.2"); // + " - Íåðåàëèçîâàííûå óáûòêè íå èñïîëüçóþòñÿ. \n Ñâîáîäíàÿ ìàðæà íå óìåíüøàåòñÿ ïðè èçìåíåíèè òåê. öåíû.");
else if(AccountFreeMarginMode() == 1)
{
Comment_(" v.1"); // + " - Ïðè ðàñ÷åòå ñâîáîäíûõ ñðåäñòâ èñïîëüçóåòñÿ êàê íåðåàëèçîâàííàÿ ïðèáûëü, \n òàê è óáûòîê ïî îòêðûòûì ïîçèöèÿì íà òåêóùåì ñ÷åòå.");
for(i=0; i<total; i++)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderSymbol() == Symbol() && OrderType() == OP_BUY)
lots += OrderLots();
else if(OrderSymbol() == Symbol() && OrderType() == OP_SELL)
lots -= OrderLots();
}
if(lots == 0.0)
{
Comment_(" Íåò äåáàëàíñà îðäåðîâ." ); //"All Postions Are Locked. Calculations cancelled."
Comment_(" Äëÿ ðàñ÷åòà íåò äàííûõ." );
Comment_("----------------------------");
}
else
{
Comment_(" ðàáîòàþ...");
Comment_("----------------------------");
//---------------------------------------------------------------------------------------------//
//óðîâåíü íóëåâîé ìàðæè
//---------------------------------------------------------------------------------------------//
double u_shift;
shift = AccountFreeMargin() / (MarketInfo(Symbol(), MODE_TICKVALUE) * lots); //ðàññòîÿíèå îò öåíû äî íóëåâîé ìàðæè
u_shift = Bid - shift*Point;
if (ZeroMargin == true)
{
ObjectCreate("Óðîâåíü Íóëåâîé Ìàðæè", OBJ_HLINE, 0, 0, u_shift);
ObjectSet("Óðîâåíü Íóëåâîé Ìàðæè", OBJPROP_COLOR, Colour_ZM);
ObjectSet("Óðîâåíü Íóëåâîé Ìàðæè", OBJPROP_STYLE, Style_ZM);
ObjectSet("Óðîâåíü Íóëåâîé Ìàðæè", OBJPROP_WIDTH, Width_ZM);
}
//---------------------------------------------------------------------------------------------//
//Ìåðòâàÿ çîíà + óðîâåíü ñëèâà
//---------------------------------------------------------------------------------------------//
double d_shift_3, u_shift_3, dDZ, OMarginLevel;
OMarginLevel = AccountEquity()/AccountMargin()*100; // óðîâåíü áàëàíñà íà ñ÷åòó
d_shift_3 = AccountEquity() / (MarketInfo(Symbol(), MODE_TICKVALUE) * lots);
u_shift_3 = Bid - d_shift_3*Point; // óðîâåíü ïîëíîãî ñëèâà
dDZ = d_shift_3 - shift; // ìåðòâàÿ çîíà
if (ZeroFull == true)
{
ObjectCreate("Óðîâåíü ÑËÈÂÀ", OBJ_HLINE, 0, 0, u_shift_3);
ObjectSet("Óðîâåíü ÑËÈÂÀ", OBJPROP_COLOR, Colour_ZF);
ObjectSet("Óðîâåíü ÑËÈÂÀ", OBJPROP_STYLE, Style_ZF);
ObjectSet("Óðîâåíü ÑËÈÂÀ", OBJPROP_WIDTH, Width_ZF);
}
//---------------------------------------------------------------------------------------------//
//ðàñ÷åò óðîâíÿ % îò íóëåâîé ìàðæè
//---------------------------------------------------------------------------------------------//
double d_pZM, ur_pZM;
d_pZM = d_shift_3 - dDZ*Procent_ZM/100; //ðàññòîÿíèå îò öåíû ê % îò íóëåâîé ìàðæè
ur_pZM = Bid - d_pZM*Point; // óðîâåíü % îò íóëåâîé ìàðæè
if (ZeroMarginPr == true)
{
ObjectCreate("Ïðîöåíòû äî Óðîâíÿ Íóëåâîé Ìàðæè", OBJ_HLINE, 0, 0, ur_pZM);
ObjectSet("Ïðîöåíòû äî Óðîâíÿ Íóëåâîé Ìàðæè", OBJPROP_COLOR, Colour_ZM);
ObjectSet("Ïðîöåíòû äî Óðîâíÿ Íóëåâîé Ìàðæè", OBJPROP_STYLE, Style_ZM_Procent);
ObjectSet("Ïðîöåíòû äî Óðîâíÿ Íóëåâîé Ìàðæè", OBJPROP_WIDTH, Width_ZM_Procent);
}
//---------------------------------------------------------------------------------------------//
//Çâóêîâîå îïîâåùåíèå î òåêóùåì óðîâíå äî/ïîñëå âûñòàâëåííîãî % îò óðîâíÿ Íóëåâîé ìàðæè
//---------------------------------------------------------------------------------------------//
if (SoundPlay_Menshe == true)
{
if (OMarginLevel <= Procent_ZM) PlaySound(Sound_Alert);
}
if (SoundPlay_Bolshe == true)
{
if (OMarginLevel > Procent_ZM) PlaySound(Sound_OK);
}
if (OMarginLevel <= Procent_ZM)
{
if (OMarginLevel > 100)
{
ObjectCreate("LOCK", OBJ_LABEL, 0, 0, 0);
ObjectSetText("LOCK", "LOCK", RazmerShrifta*5, "Verdana", Colour_ZM);
ObjectSet("LOCK", OBJPROP_CORNER, Ugol_3);
ObjectSet("LOCK", OBJPROP_XDISTANCE, MP_X);
ObjectSet("LOCK", OBJPROP_YDISTANCE, MP_Y);
}
}
if (OMarginLevel <= 100)
{
ObjectCreate("DEAD ZONE", OBJ_LABEL, 0, 0, 0);
ObjectSetText("DEAD ZONE", "DEAD ZONE", RazmerShrifta*2.3, "Verdana", Colour_ZF);
ObjectSet("DEAD ZONE", OBJPROP_CORNER, Ugol_3);
ObjectSet("DEAD ZONE", OBJPROP_XDISTANCE, MP_X+4);
ObjectSet("DEAD ZONE", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*2.3);
}
//---------------------------------------------------------------------------------------------//
//% - ïðè êîòîðîì ÄÖ çàêðûâàåò ñäåëêè = Stop Out
//---------------------------------------------------------------------------------------------//
double d_pZF, ur_pZF, Afto_Procent_ZF;
Afto_Procent_ZF = AccountStopoutLevel(); //Stop Out (ïðèíóäèòåëüíîå çàêðûòèå ïîçèöèé)
d_pZF = d_shift_3 - dDZ*Afto_Procent_ZF/100; //ðàññòîÿíèå äî óðîâíÿ çàêðûòèÿ ÄÖ
ur_pZF = Bid - d_pZF*Point;
if (ZeroFull_Pr == true)
{
ObjectCreate("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut", OBJ_HLINE, 0, 0, ur_pZF);
ObjectSet("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut", OBJPROP_COLOR, Colour_ZF);
ObjectSet("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut", OBJPROP_STYLE, Style_ZF_Procent);
ObjectSet("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut", OBJPROP_WIDTH, Width_ZF_Procent);
}
//---------------------------------------------------------------------------------------------//
//çíà÷åíèÿ ðàññòîÿíèÿ â ïèïñàõ äî óðîâíÿ "íóëÿ" è "áåçóáûòêà" íà ãðàôèê
//---------------------------------------------------------------------------------------------//
double dZM, price_bzu2, dZP;
dZM = -shift;
if (lots < 0) { price_bzu2 = (Ask - price_bzu_o) * (Znakov); }
if (lots > 0) { price_bzu2 = (Bid - price_bzu_o) * (Znakov); }
dZP = -price_bzu2;
//---------------------------------------------------------------------------------------------//
//âûâîä èíôîðìàöèè íà ãðàôèê
//---------------------------------------------------------------------------------------------//
if (INFO_1 == true)
{
ObjectCreate("Ðàññòîÿíèå äî Îáùåãî Óðîâíÿ Áåçóáûòêà - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ðàññòîÿíèå äî Îáùåãî Óðîâíÿ Áåçóáûòêà - èíôî","...îñòàëîñü: " + DoubleToStr(dZP, 0) , RazmerShrifta, "Verdana", Colour_ZP);
ObjectSet("Ðàññòîÿíèå äî Îáùåãî Óðîâíÿ Áåçóáûòêà - èíôî", OBJPROP_CORNER, Ugol_1);
ObjectSet("Ðàññòîÿíèå äî Îáùåãî Óðîâíÿ Áåçóáûòêà - èíôî", OBJPROP_XDISTANCE, MP_X);
ObjectSet("Ðàññòîÿíèå äî Îáùåãî Óðîâíÿ Áåçóáûòêà - èíôî", OBJPROP_YDISTANCE, MP_Y);
ObjectCreate("Îáùèé Óðîâåíü Áåçóáûòêà - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Îáùèé Óðîâåíü Áåçóáûòêà - èíôî", "Óðîâåíü Îáù.Áåçóá.: " + DoubleToStr(price_bzu_o, Digits), RazmerShrifta, "Verdana", Colour_ZP);
ObjectSet("Îáùèé Óðîâåíü Áåçóáûòêà - èíôî", OBJPROP_CORNER, Ugol_1);
ObjectSet("Îáùèé Óðîâåíü Áåçóáûòêà - èíôî", OBJPROP_XDISTANCE, MP_X);
ObjectSet("Îáùèé Óðîâåíü Áåçóáûòêà - èíôî", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*1.3);
//---------------------------------------------------------------------------------------------//
ObjectCreate("Ðàññòîÿíèå äî Íóëåâîé Ìàðæè - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ðàññòîÿíèå äî Íóëåâîé Ìàðæè - èíôî", "...îñòàëîñü: " + DoubleToStr(dZM, 0), RazmerShrifta, "Verdana", Colour_ZM);
ObjectSet("Ðàññòîÿíèå äî Íóëåâîé Ìàðæè - èíôî", OBJPROP_CORNER, Ugol_1);
ObjectSet("Ðàññòîÿíèå äî Íóëåâîé Ìàðæè - èíôî", OBJPROP_XDISTANCE, MP_X);
ObjectSet("Ðàññòîÿíèå äî Íóëåâîé Ìàðæè - èíôî", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*3);
ObjectCreate("Óðîâåíü Íóëåâîé Ìàðæè - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Óðîâåíü Íóëåâîé Ìàðæè - èíôî", "Óðîâåíü 0-é Ìàðæè: " + DoubleToStr(Bid - shift*Point, Digits), RazmerShrifta, "Verdana", Colour_ZM);
ObjectSet("Óðîâåíü Íóëåâîé Ìàðæè - èíôî", OBJPROP_CORNER, Ugol_1);
ObjectSet("Óðîâåíü Íóëåâîé Ìàðæè - èíôî", OBJPROP_XDISTANCE, MP_X);
ObjectSet("Óðîâåíü Íóëåâîé Ìàðæè - èíôî", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*4.3);
//---------------------------------------------------------------------------------------------//
ObjectCreate("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut - èíôî", "Çàêðûòèå / StopOut: " + DoubleToStr(Afto_Procent_ZF, 0) + "%", RazmerShrifta, "Verdana", Colour_ZF);
ObjectSet("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut - èíôî", OBJPROP_CORNER, Ugol_1);
ObjectSet("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut - èíôî", OBJPROP_XDISTANCE, MP_X);
ObjectSet("Óðîâåíü Ïðèíóäèòåëüíîãî Çàêðûòèÿ Îðäåðîâ ÄÖ / StopOut - èíôî", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*6);
ObjectCreate("Ìåðòâàÿ Çîíà - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ìåðòâàÿ Çîíà - èíôî", "̸ðòâàÿ çîíà: " + DoubleToStr(MathAbs(dDZ), 0) , RazmerShrifta, "Verdana", Colour_ZF);
ObjectSet("Ìåðòâàÿ Çîíà - èíôî", OBJPROP_CORNER, Ugol_1);
ObjectSet("Ìåðòâàÿ Çîíà - èíôî", OBJPROP_XDISTANCE, MP_X);
ObjectSet("Ìåðòâàÿ Çîíà - èíôî", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*7.3);
ObjectCreate("Óðîâåíü ÑËÈÂÀ - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Óðîâåíü ÑËÈÂÀ - èíôî", "Óðîâåíü Ñëèâà: " + DoubleToStr(u_shift_3, Digits), RazmerShrifta, "Verdana", Colour_ZF);
ObjectSet("Óðîâåíü ÑËÈÂÀ - èíôî", OBJPROP_CORNER, Ugol_1);
ObjectSet("Óðîâåíü ÑËÈÂÀ - èíôî", OBJPROP_XDISTANCE, MP_X);
ObjectSet("Óðîâåíü ÑËÈÂÀ - èíôî", OBJPROP_YDISTANCE, MP_Y+RazmerShrifta*8.6);
}
//---------------------------------------------------------------------------------------------//
//Îêðàñêà ̸ðòâîé çîíû
//---------------------------------------------------------------------------------------------//
if (Cvet_zony_dDZ_f == true)
{
ObjectCreate("Ìåðòâàÿ Çîíà - öâåò", OBJ_RECTANGLE, 0, D'0000.00.00', u_shift_3, TimeCurrent()*1.1, u_shift);
ObjectSet("Ìåðòâàÿ Çîíà - öâåò", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("Ìåðòâàÿ Çîíà - öâåò", OBJPROP_COLOR, Cvet_zony_dDZ);
ObjectSet("Ìåðòâàÿ Çîíà - öâåò", OBJPROP_BACK, True);
}
//---------------------------------------------------------------------------------------------//
//Îêðàñêà çîíû LOCK
//---------------------------------------------------------------------------------------------//
if (Cvet_zony_LOCK_p == true)
{
ObjectCreate("Çîíà LOCK - öâåò", OBJ_RECTANGLE, 0, D'0000.00.00', u_shift, TimeCurrent()*1.1, ur_pZM);
ObjectSet("Çîíà LOCK - öâåò", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("Çîíà LOCK - öâåò", OBJPROP_COLOR, Cvet_zony_LOCK);
ObjectSet("Çîíà LOCK - öâåò", OBJPROP_BACK, True);
}
}
}
//---------------------------------------------------------------------------------------------//
//âàðèàíò 3
//---------------------------------------------------------------------------------------------//
else if(AccountFreeMarginMode() == 3)
{
Comment_(" v.3"); // + " - Ïðè ðàñ÷åòå èñïîëüçóåòñÿ òîëüêî çíà÷åíèå óáûòêà, \n òåêóùàÿ ïðèáûëü ïî îòêðûòûì ïîçèöèÿì íå ó÷èòûâàåòñÿ. Áóäåò ðàññ÷èòàíî äâà óðîâíÿ.");
for(i=0; i<total; i++)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderSymbol() == Symbol() && OrderType() == OP_BUY)
lots += OrderLots();
}
if(lots == 0.0)
{
Comment_("Íåò ïîçèöèé íà ïîêóïêó (BUY)." ); //"No Buy Positions."
}
else
{
shift_ZLB = AccountFreeMargin() / (MarketInfo(Symbol(), MODE_LOTSIZE) * lots * Point);
ObjectCreate("ZeroLevel_BUY", OBJ_HLINE, 0, 0, Bid - shift_ZLB*Point);
ObjectSet("ZeroLevel_BUY", OBJPROP_COLOR, Colour_ZM);
ObjectSet("ZeroLevel_BUY", OBJPROP_STYLE, Style_ZM);
ObjectSet("ZeroLevel_BUY", OBJPROP_WIDTH, Width_ZM);
Comment_("ZeroLevel_BUY: " + DoubleToStr(Bid - shift_ZLB*Point, Digits));
Comment_("Current Bid: " + DoubleToStr(Bid, Digits));
Comment_("Points Left: " + DoubleToStr(MathAbs(shift_ZLB), 0));
}
for(i=0; i<total; i++)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderSymbol() == Symbol() && OrderType() == OP_SELL)
lots += OrderLots();
}
if(lots == 0.0)
{
Comment_("Íåò ïîçèöèé íà ïðîäàæó (SELL)." ); //"No SELL Positions."
}
else
{
shift_ZLS = AccountFreeMargin() / (MarketInfo(Symbol(), MODE_LOTSIZE) * lots * Point);
ObjectCreate("ZeroLevel_SELL", OBJ_HLINE, 0, 0, Bid + shift_ZLS*Point);
ObjectSet("ZeroLevel_SELL", OBJPROP_COLOR, Colour_ZM);
ObjectSet("ZeroLevel_SELL", OBJPROP_STYLE, Style_ZM);
ObjectSet("ZeroLevel_SELL", OBJPROP_WIDTH, Width_ZM);
Comment_("ZeroLevel_SELL: " + DoubleToStr(Bid + shift_ZLS*Point, Digits));
Comment_("Current Bid: " + DoubleToStr(Bid, Digits));
Comment_("Points Left: " + DoubleToStr(MathAbs(shift_ZLS), 0));
}
}
//---------------------------------------------------------------------------------------------//
//äîïîëíèòåëüíàÿ ïàíåëü èíôî.2
//---------------------------------------------------------------------------------------------//
if (INFO_2 == true)
{
ObjectCreate("Ìîæíî êóïèòü ëîòîâ - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ìîæíî êóïèòü ëîòîâ - èíôî", "Ìîæíî êóïèòü ëîòîâ: " + DoubleToStr(lotsss, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Ìîæíî êóïèòü ëîòîâ - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Ìîæíî êóïèòü ëîòîâ - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Ìîæíî êóïèòü ëîòîâ - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*10.4);
ObjectCreate("Çàëîã çà ìèíèìàëüíûé ëîò - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Çàëîã çà ìèíèìàëüíûé ëîò - èíôî", "Çàëîã çà ìèí-ûé ëîò: " + DoubleToStr(min_balans, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Çàëîã çà ìèíèìàëüíûé ëîò - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Çàëîã çà ìèíèìàëüíûé ëîò - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Çàëîã çà ìèíèìàëüíûé ëîò - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*11.7);
ObjectCreate("Ìèíèìàëüíûé ëîò - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ìèíèìàëüíûé ëîò - èíôî", "Ìèíèìàëüíûé ëîò: " + DoubleToStr(minlot, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Ìèíèìàëüíûé ëîò - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Ìèíèìàëüíûé ëîò - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Ìèíèìàëüíûé ëîò - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*13.0);
ObjectCreate("Ìàêñèìàëüíûé ëîò - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ìàêñèìàëüíûé ëîò - èíôî", "Ìàêñèìàëüíûé ëîò: " + DoubleToStr(maxlot, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Ìàêñèìàëüíûé ëîò - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Ìàêñèìàëüíûé ëîò - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Ìàêñèìàëüíûé ëîò - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*14.3);
ObjectCreate("Ñòîèìîñòü 1 ïï äëÿ 1 ëîòà - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ñòîèìîñòü 1 ïï äëÿ 1 ëîòà - èíôî", "Ñòîèìîñòü 1 ïï/1 ëîò: " + DoubleToStr(pp_cena, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Ñòîèìîñòü 1 ïï äëÿ 1 ëîòà - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Ñòîèìîñòü 1 ïï äëÿ 1 ëîòà - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Ñòîèìîñòü 1 ïï äëÿ 1 ëîòà - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*15.6);
ObjectCreate("Ñïðåä, ïï - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ñïðåä, ïï - èíôî", "Ñïðåä, ïï: " + DoubleToStr(spread, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Ñïðåä, ïï - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Ñïðåä, ïï - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Ñïðåä, ïï - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*16.9);
ObjectCreate("Ñâîï SELL, ïï - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ñâîï SELL, ïï - èíôî", "Ñâîï SELL, ïï: " + DoubleToStr(swap_short, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Ñâîï SELL, ïï - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Ñâîï SELL, ïï - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Ñâîï SELL, ïï - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*18.2);
ObjectCreate("Ñâîï BUY, ïï - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ñâîï BUY, ïï - èíôî", "Ñâîï BUY, ïï: " + DoubleToStr(swap_long, 3), RazmerShrifta, "Verdana", cvet_dop_info2);
ObjectSet("Ñâîï BUY, ïï - èíôî", OBJPROP_CORNER, Ugol_2);
ObjectSet("Ñâîï BUY, ïï - èíôî", OBJPROP_XDISTANCE, MP_X_2);
ObjectSet("Ñâîï BUY, ïï - èíôî", OBJPROP_YDISTANCE, MP_Y_2+RazmerShrifta*19.5);
}
//---------------------------------------------------------------------------------------------//
// ïàíåëü ðàñ÷åòîâ
//---------------------------------------------------------------------------------------------//
if (CALC_0 == true)
{
double Pribyl_R_2, Rastojanie_R_2, Lots_R_2;
ObjectCreate("Ïàíåëü Ðàñ÷åòà - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïàíåëü Ðàñ÷åòà - Ðàñ÷åò", " ÏÀÍÅËÜ ÐÀÑ×ÅÒÀ:" , RazmerShrifta, "Verdana", cvet_CALC_0);
ObjectSet("Ïàíåëü Ðàñ÷åòà - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ïàíåëü Ðàñ÷åòà - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta*2.5);
ObjectSet("Ïàíåëü Ðàñ÷åòà - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*4.5);
if ((Pribyl_R != Pribyl_R_2 && Rastojanie_R != Rastojanie_R_2 && Lots_R != Lots_R_2) || (Pribyl_R == 0.0 && Rastojanie_R == 0.0 && Lots_R == 0.0) || (Pribyl_R == 0.0 && Rastojanie_R == 0.0 && Lots_R != 0.0) || (Pribyl_R == 0.0 && Rastojanie_R != 0.0 && Lots_R == 0.0) || (Pribyl_R != 0.0 && Rastojanie_R == 0.0 && Lots_R == 0.0))
{
ObjectCreate("Êîììåíòàðèè - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Êîììåíòàðèè - Ðàñ÷åò", " ÍÅÂÅÐÍ. ÂÂÎÄ ÇÍÀ×.", RazmerShrifta, "Verdana", cvet_CALC_R);
ObjectSet("Êîììåíòàðèè - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Êîììåíòàðèè - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Êîììåíòàðèè - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*1.6);
}
else
{
if (Pribyl_R == 0.0 && Rastojanie_R != 0.0 && Lots_R != 0.0)
{
Pribyl_R_2 = Rastojanie_R * Lots_R * pp_cena; //Ðàñ÷åò ïðèáûëè
ObjectCreate("Ïðèáûëü - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïðèáûëü - Ðàñ÷åò", " Ïðèáûëü: " + DoubleToStr(Pribyl_R_2, 3), RazmerShrifta, "Verdana", cvet_CALC_R);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0);
ObjectCreate("Ðàññòîÿíèå - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ðàññòîÿíèå - Ðàñ÷åò", " Ðàññòîÿíèå: " + DoubleToStr(Rastojanie_R, 3), RazmerShrifta, "Verdana", cvet_CALC_0);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*1.3);
ObjectCreate("Îáúåì Ëîòà - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Îáúåì Ëîòà - Ðàñ÷åò", " Îáúåì Ëîòà: " + DoubleToStr(Lots_R, 3), RazmerShrifta, "Verdana", cvet_CALC_0);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*2.6);
}
else
{
if (Pribyl_R != 0.0 && Rastojanie_R == 0.0 && Lots_R != 0.0)
{
Rastojanie_R_2 = Pribyl_R / (Lots_R * pp_cena); //Ðàñ÷åò ðàññòîÿíèÿ
ObjectCreate("Ïðèáûëü - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïðèáûëü - Ðàñ÷åò", " Ïðèáûëü: " + DoubleToStr(Pribyl_R, 3), RazmerShrifta, "Verdana", cvet_CALC_0);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0);
ObjectCreate("Ðàññòîÿíèå - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ðàññòîÿíèå - Ðàñ÷åò", " Ðàññòîÿíèå: " + DoubleToStr(Rastojanie_R_2, 3), RazmerShrifta, "Verdana", cvet_CALC_R);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*1.3);
ObjectCreate("Îáúåì Ëîòà - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Îáúåì Ëîòà - Ðàñ÷åò", " Îáúåì Ëîòà: " + DoubleToStr(Lots_R, 3), RazmerShrifta, "Verdana", cvet_CALC_0);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*2.6);
}
else
{
if (Pribyl_R != 0.0 && Rastojanie_R != 0.0 && Lots_R == 0.0)
{
Lots_R_2 = Pribyl_R / (Rastojanie_R * pp_cena); //Ðàñ÷åò îáúåìà ëîòà
ObjectCreate("Ïðèáûëü - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïðèáûëü - Ðàñ÷åò", " Ïðèáûëü: " + DoubleToStr(Pribyl_R, 3), RazmerShrifta, "Verdana", cvet_CALC_0);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Ïðèáûëü - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0);
ObjectCreate("Ðàññòîÿíèå - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ðàññòîÿíèå - Ðàñ÷åò", " Ðàññòîÿíèå: " + DoubleToStr(Rastojanie_R, 3), RazmerShrifta, "Verdana", cvet_CALC_0);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Ðàññòîÿíèå - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*1.3);
ObjectCreate("Îáúåì Ëîòà - Ðàñ÷åò", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Îáúåì Ëîòà - Ðàñ÷åò", " Îáúåì Ëîòà: " + DoubleToStr(Lots_R_2, 3), RazmerShrifta, "Verdana", cvet_CALC_R);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_CORNER, Ugol_0);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_XDISTANCE, MP_X_0+RazmerShrifta);
ObjectSet("Îáúåì Ëîòà - Ðàñ÷åò", OBJPROP_YDISTANCE, MP_Y_0+RazmerShrifta*2.6);
}
}
}
}
}
//---------------------------------------------------------------------------------------------//
//äîïîëíèòåëüíàÿ ïàíåëü èíôî.4
//---------------------------------------------------------------------------------------------//
int Order_Buy, Order_Sell, AllOrder_Buy=0, AllOrder_Sell=0;
for(Order_Buy=OrdersTotal()-1;Order_Buy>=0;Order_Buy--)
{
if (!OrderSelect(Order_Buy,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()==OP_BUY)
{
AllOrder_Buy = AllOrder_Buy + 1; // êîëëè÷åñòâî âñåõ Buy îðäåðîâ
}
}
for(Order_Sell=OrdersTotal()-1;Order_Sell>=0;Order_Sell--)
{
if (!OrderSelect(Order_Sell,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()==OP_SELL)
{
AllOrder_Sell = AllOrder_Sell + 1; // êîëëè÷åñòâî âñåõ Sell îðäåðîâ
}
}
double Buy_pribyl = (Bid - price_bzu_B) * BuyLots_b * pp_cena * Znakov; // ïðèáûëü îò Buy ñäåëîê
double Sell_pribyl = (price_bzu_S - Ask) * SellLots_b * pp_cena * Znakov; // ïðèáûëü îò Sell ñäåëîê
double pribyl_itogo = Buy_pribyl + Sell_pribyl; // ïðèáûëü îò âñåõ ñäåëîê
if (INFO_4 == true)
{
ObjectCreate("Îáù.òåêóù.ïðèáûëü - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Îáù.òåêóù.ïðèáûëü - èíôî", "Îáù.Òåêóù.Ïðèá.: " + DoubleToStr(pribyl_itogo, 2), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Îáù.òåêóù.ïðèáûëü - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Îáù.òåêóù.ïðèáûëü - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Îáù.òåêóù.ïðèáûëü - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*21.3);
ObjectCreate("Ïðèá.îò.SELL.ñäåëîê - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïðèá.îò.SELL.ñäåëîê - èíôî", "Ïðèá. âñåõ SELL: " + DoubleToStr(Sell_pribyl, 2), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Ïðèá.îò.SELL.ñäåëîê - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Ïðèá.îò.SELL.ñäåëîê - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Ïðèá.îò.SELL.ñäåëîê - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*22.6);
ObjectCreate("Ïðèá.îò.BUY.ñäåëîê - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Ïðèá.îò.BUY.ñäåëîê - èíôî", "Ïðèá. âñåõ BUY: " + DoubleToStr(Buy_pribyl, 2), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Ïðèá.îò.BUY.ñäåëîê - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Ïðèá.îò.BUY.ñäåëîê - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Ïðèá.îò.BUY.ñäåëîê - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*23.9);
//---------------------------------------------------------------------------------------------//
ObjectCreate("Óðîâ.SELL=0 - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Óðîâ.SELL=0 - èíôî", "Óðîâ.SELL=0: " + DoubleToStr(price_bzu_S, Digits), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Óðîâ.SELL=0 - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Óðîâ.SELL=0 - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Óðîâ.SELL=0 - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*25.7);
ObjectCreate("Óðîâ.BUY=0 - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Óðîâ.BUY=0 - èíôî", "Óðîâ.BUY=0: " + DoubleToStr(price_bzu_B, Digits), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Óðîâ.BUY=0 - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Óðîâ.BUY=0 - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Óðîâ.BUY=0 - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*27.0);
//---------------------------------------------------------------------------------------------//
ObjectCreate("Îáúåì.SELL.ëîòîâ - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Îáúåì.SELL.ëîòîâ - èíôî", "Îáúåì SELL ëîòîâ: " + DoubleToStr(-SellLots_b, 2), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Îáúåì.SELL.ëîòîâ - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Îáúåì.SELL.ëîòîâ - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Îáúåì.SELL.ëîòîâ - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*28.8);
ObjectCreate("Îáúåì.BUY.ëîòîâ - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Îáúåì.BUY.ëîòîâ - èíôî", "Îáúåì BUY ëîòîâ: " + DoubleToStr(BuyLots_b, 2), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Îáúåì.BUY.ëîòîâ - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Îáúåì.BUY.ëîòîâ - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Îáúåì.BUY.ëîòîâ - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*30.1);
//---------------------------------------------------------------------------------------------//
ObjectCreate("Êîëëè÷.SELL - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Êîëëè÷.SELL - èíôî", "Êîëëè÷.SELL: " + DoubleToStr(-AllOrder_Sell, 0), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Êîëëè÷.SELL - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Êîëëè÷.SELL - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Êîëëè÷.SELL - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*31.9);
ObjectCreate("Êîëëè÷.BUY - èíôî", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Êîëëè÷.BUY - èíôî", "Êîëëè÷.BUY: " + DoubleToStr(AllOrder_Buy, 0), RazmerShrifta, "Verdana", cvet_dop_info4);
ObjectSet("Êîëëè÷.BUY - èíôî", OBJPROP_CORNER, Ugol_4);
ObjectSet("Êîëëè÷.BUY - èíôî", OBJPROP_XDISTANCE, MP_X_4);
ObjectSet("Êîëëè÷.BUY - èíôî", OBJPROP_YDISTANCE, MP_Y_4+RazmerShrifta*33.2);
}
//---------------------------------------------------------------------------------------------//
// Óðîâíè ïðåäåëîâ Buy.Stop è Sell.Stop
//---------------------------------------------------------------------------------------------//
if (Urov.BS.SS == true)
{
ObjectCreate("íå íèæå äëÿ Buy.Stop", OBJ_HLINE, 0, 0, 0);
ObjectSet("íå íèæå äëÿ Buy.Stop", OBJPROP_PRICE1,Ask + MarketInfo(Symbol(), MODE_STOPLEVEL)*Point);
ObjectSet("íå íèæå äëÿ Buy.Stop", OBJPROP_COLOR, Colour_SB);
ObjectSet("íå íèæå äëÿ Buy.Stop", OBJPROP_STYLE, Style_SB);
ObjectSet("íå íèæå äëÿ Buy.Stop", OBJPROP_WIDTH, Width_SB);
ObjectCreate("íå âûøå äëÿ Sell.Stop", OBJ_HLINE, 0, 0, 0);
ObjectSet("íå âûøå äëÿ Sell.Stop", OBJPROP_PRICE1, Bid - MarketInfo(Symbol(), MODE_STOPLEVEL)*Point);
ObjectSet("íå âûøå äëÿ Sell.Stop", OBJPROP_COLOR, Colour_SS);
ObjectSet("íå âûøå äëÿ Sell.Stop", OBJPROP_STYLE, Style_SS);
ObjectSet("íå âûøå äëÿ Sell.Stop", OBJPROP_WIDTH, Width_SS);
}
//---------------------------------------------------------------------------------------------//
// Óðîâåíü Ðàâíîãî Ëîêà
//---------------------------------------------------------------------------------------------//
if (U.R.Lock == true)
{
double URLock;
if (SellLots_b - BuyLots_b != 0)
{
if (SellLots_b > BuyLots_b)
{
URLock = Bid - (AccountFreeMargin() - (SellLots_b - BuyLots_b) * lot_cena )/(MarketInfo(Symbol(), MODE_TICKVALUE) * lots) * Point;
}
else
{
URLock = Bid - (AccountFreeMargin() - (BuyLots_b - SellLots_b) * lot_cena )/(MarketInfo(Symbol(), MODE_TICKVALUE) * lots) * Point;
}
ObjectCreate("Óðîâåíü Ðàâíîãî Ëîêà", OBJ_HLINE, 0, 0, URLock);
ObjectSet("Óðîâåíü Ðàâíîãî Ëîêà", OBJPROP_COLOR, Colour_URLock);
ObjectSet("Óðîâåíü Ðàâíîãî Ëîêà", OBJPROP_STYLE, Style_URLock);
ObjectSet("Óðîâåíü Ðàâíîãî Ëîêà", OBJPROP_WIDTH, Width_URLock);
}
}
//---------------------------------------------------------------------------------------------//
// ñîñòîÿíèå ðàñ÷åòîâ, èíäèêàöèè...
//---------------------------------------------------------------------------------------------//
if (MetodRBezubytkaNew == true)
{
if (MetodRBNew_Sw_Com == true) Comment_("Ðàñ÷.Áåçóá.New+S&C");
else Comment_("Ðàñ÷.Áåçóá.New.áåç.S&C");
}
else Comment_("Ðàñ÷.Áåçóá.Old");
if (ZeroProfit != true) Comment_("Âûêë.-Óðîâ.Îáù.Áåçóá.");
if(AccountFreeMarginMode() == 1)
{
if (ZeroBUY != true) Comment_("Âûêë.-Óðîâ.BUY=0");
if (ZeroBUYP != true) Comment_("Âûêë.-Óðîâ.BUY=0+");
if (ZeroSELL != true) Comment_("Âûêë.-Óðîâ.SELL=0");
if (ZeroSELLP != true) Comment_("Âûêë.-Óðîâ.SELL=0+");
if (ZeroMargin != true) Comment_("Âûêë.-Óðîâ.Ì=0");
if (ZeroFull != true) Comment_("Âûêë.-Óðîâ.ÑËÈÂÀ");
if (ZeroMarginPr != true) Comment_("Âûêë.-Óðîâ.%.äî.Ì=0");
if (ZeroFull_Pr != true) Comment_("Âûêë.-Óðîâ.%.çàêð.ÄÖ");
if (SoundPlay_Menshe != true) Comment_("Âûêë.ÇÂÊ-Öåíà.<.%Ì=0");
if (SoundPlay_Bolshe != true) Comment_("Âûêë.ÇÂÊ-Öåíà.>.%Ì=0");
if (Cvet_zony_dDZ_f != true) Comment_("Âûêë.-Öâåò.Ìåðòâàÿ.Çîíà");
if (Cvet_zony_LOCK_p != true) Comment_("Âûêë.-Öâåò.Çîíû.LOCK");
if (Urov.BS.SS != true) Comment_("Âûêë.-Óðîâ.BS&SS");
}
if (U.R.Lock != true) Comment_("Âûêë.-Óðîâ.Ðàâí.Ëîêà");
if (INFO_1 != true) Comment_("Âûêë.-Ïàíåëü.INFO.1");
if (INFO_2 != true) Comment_("Âûêë.-Ïàíåëü.INFO.2");
if (INFO_4 != true) Comment_("Âûêë.-Ïàíåëü.INFO.4");
if (CALC_0 != true) Comment_("Âûêë.-Ïàíåëü.CALC");
//---------------------------------------------------------------------------------------------//
// îêîí÷àíèå
//---------------------------------------------------------------------------------------------//
Comment("---------------------------- \n i-UrovenZero-v.2.2.7" + comment);
comment = "";
return(0);
}
void Comment_(string com)
{
if (INFO_COMENT == true) comment = comment + "\n" + com;
}
// © Bor-ix & Kirill & d_tom & Don_Leone :) Ïðè ïîääåðæêå www.FX4U.ru"
Comments