//+------------------------------------------------------------------+ //| 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"
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Checks for the total of open orders
Other Features:
It plays sound alerts