//+------------------------------------------------------------------+ //| Zamer_ price_v1.mq4 | //| Савельев Евгений© 2011, EVgEN_SA. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Савельев Евгений© 2011, EVgEN_SA." #property link "http://www.metaquotes.net" // ВНИМАНИЕ Индикатор ведёт все расчёты без учёта спрэда //Данный индикатор покажет вам, какая у вас будет прибыль или убыток. //Также поможет вам в определении лота перед установкой ордера для сокращения ваших убытков. //ВНИМАНИЕ (Проверьте правильность работы индикатора на Демо счёте) #property indicator_chart_window //#property indicator_separate_window extern bool BUY = true; // BUY или SELL (ЕСЛИ BUY= false ТО SELL) extern bool Line_ASK = false; //использовать опорную линию для расчетов да или нет - если true то расчёты будут // идти от этой опорной линии double Line_TP = 0.0; double Line_SL = 0.0; double Line_A_SK=0.0; int sell = true; extern double Lot =1.0; // установите лот для расчетов extern int TekstSize = 15 ; //extern bool znak_4_2 = true; int znak_4_2; int mng2=2; int mng4=4; int mng=0; int mng11=100; int mng12=10000; int mng1=0; int init() { //if (znak_4_2==true) mng = mng4; //if (znak_4_2==false) mng = mng2; Line_A_SK =Bid+(0*Point); if (Line_A_SK<10)mng = mng4; if (Line_A_SK>10)mng = mng2; if (Line_A_SK>1000)mng = mng2; if (Line_A_SK<10)mng1 = mng12; if (Line_A_SK>10)mng1 = mng11; if (Line_A_SK>1000)mng1 = mng11; Line_TP = Bid+(20*Point); Line_SL = Bid-(20*Point); if (BUY==false) Line_SL = Bid+(20*Point); if (BUY==false) Line_TP = Bid-(20*Point); if (BUY == false) sell=true; if(Line_ASK==false) Line_A_SK=1 ; ObjectCreate("Line_TP",OBJ_HLINE,0,0,0); ObjectSet("Line_TP",OBJPROP_PRICE1,Line_TP); ObjectSet("Line_TP",OBJPROP_COLOR,Lime); ObjectSet("Line_TP",OBJPROP_WIDTH,2); ObjectSet("Line_TP",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("Profit", OBJ_LABEL, 0, 0, 0); ObjectSetText("Profit", DoubleToStr(Line_TP,5), 10, "Arial Bold", Lime); ObjectSet("Profit", OBJPROP_CORNER, 2); ObjectSet("Profit", OBJPROP_XDISTANCE, 2); ObjectSet("Profit", OBJPROP_YDISTANCE, 380); ObjectCreate("Line_SL",OBJ_HLINE,0,0,0); ObjectSet("Line_SL",OBJPROP_PRICE1,Line_SL); ObjectSet("Line_SL",OBJPROP_COLOR,Magenta); ObjectSet("Line_SL",OBJPROP_WIDTH,2); ObjectSet("Line_SL",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("StopLoss", OBJ_LABEL, 0, 0, 0); ObjectSetText("StopLoss", DoubleToStr(Line_SL,5), 10, "Arial Bold", Red); ObjectSet("StopLoss", OBJPROP_CORNER, 2); ObjectSet("StopLoss", OBJPROP_XDISTANCE, 2); ObjectSet("StopLoss", OBJPROP_YDISTANCE, 360); ObjectCreate("Line_A_SK",OBJ_HLINE,0,0,0); ObjectSet("Line_A_SK",OBJPROP_PRICE1,Line_A_SK); ObjectSet("Line_A_SK",OBJPROP_COLOR,Aqua); ObjectSet("Line_A_SK",OBJPROP_WIDTH,2); ObjectSet("Line_A_SK",OBJPROP_STYLE,STYLE_SOLID); return(0); } int deinit() { ObjectDelete("Line_TP"); ObjectDelete("Profit"); ObjectDelete("Line_SL"); ObjectDelete("StopLoss"); ObjectDelete("Line_A_SK"); ObjectDelete("Pro_f_it"); ObjectDelete("St_pLoss"); ObjectDelete("Pro_fit"); ObjectDelete("itog"); ObjectDelete("itog1"); ObjectDelete("StLoss"); ObjectDelete("Balance"); ObjectDelete("Equity"); ObjectDelete("Spread"); ObjectDelete("CenPunkt"); ObjectDelete("FreMargin"); ObjectDelete("StLoss"); ObjectDelete("shetPro_fit"); ObjectDelete("shetPro_fit"); ObjectDelete("LOT"); ObjectDelete("shetStLoss"); ObjectDelete("Tip"); return(0); } int start() { Line_TP = ObjectGet("Line_TP",OBJPROP_PRICE1); ObjectSet("Line_TP",OBJPROP_PRICE1,Line_TP); ObjectSetText("Profit", DoubleToStr(ObjectGet("Line_TP",OBJPROP_PRICE1),mng), TekstSize, "Arial Bold", Yellow); Line_SL = ObjectGet("Line_SL",OBJPROP_PRICE1); ObjectSet("Line_SL",OBJPROP_PRICE1,Line_SL); ObjectSetText("StopLoss", DoubleToStr(ObjectGet("Line_SL",OBJPROP_PRICE1),mng), TekstSize, "Arial Bold", Aqua); Line_A_SK = ObjectGet("Line_A_SK",OBJPROP_PRICE1); ObjectSet("Line_A_SK",OBJPROP_PRICE1,Line_A_SK); ObjectSetText("Line_A_SK", DoubleToStr(ObjectGet("Line_A_SK",OBJPROP_PRICE1),mng), TekstSize, "Arial Bold", Red); Sleep(10000); string symbol=Symbol(); string сurrency=AccountCurrency(); double tickvalue=MarketInfo(symbol,MODE_TICKVALUE); int Lot1=10; string CenPunkt=DoubleToStr((tickvalue/Lot1)*Lot,3)+" "+сurrency+" (1 pips)"; int lot=1.1; int mngetel=100; int mngetel0=1; int mngetel1=10000; if (mng==2) mngetel0=1000; if (mng==4) mngetel0=100000; string Pro_f_it= DoubleToStr((Ask),4); string z_o= DoubleToStr((Line_TP-Bid)*((tickvalue/Lot1)*Lot)*mngetel0,2); string z_a= DoubleToStr((Line_SL-Bid)*((tickvalue/Lot1)*Lot)*mngetel0,2); if(BUY==false) string z_oo= DoubleToStr(-(Line_TP-Bid)*((tickvalue/Lot1)*Lot)*mngetel0,2); if(BUY==false) string z_aa= DoubleToStr(-(Line_SL-Bid)*((tickvalue/Lot1)*Lot)*mngetel0,2); string xdf=1; if (z_oxdf)z_a=z_aa; if (Line_ASK == true) z_oo= DoubleToStr(((Line_TP-Line_A_SK)*(tickvalue/Lot1)*Lot)*mngetel0,2); if (Line_ASK == true) z_aa= DoubleToStr(((Line_SL-Line_A_SK)*(tickvalue/Lot1)*Lot)*mngetel0,2); int buy1=false; if (BUY==false)z_oo= DoubleToStr((-(Line_TP-Line_A_SK)*(tickvalue/Lot1)*Lot)*mngetel0,2); if (BUY==false)z_aa= DoubleToStr((-(Line_SL-Line_A_SK)*(tickvalue/Lot1)*Lot)*mngetel0,2); if (Line_ASK == true) z_o=z_oo; if (Line_ASK == true) z_a=z_aa; if(Lot>=1.0<99.0) Lot1=1; if(Lot>=0.10<0.99) Lot1=10; int itog= (((AccountEquity()+((Line_TP-Bid)*(tickvalue/Lot1)*Lot)*mngetel1))); int itog1= (((AccountEquity()+((Line_SL-Bid)*(tickvalue/Lot1)*Lot)*mngetel1))); if(znak_4_2==false) itog= (((AccountEquity()+((Line_TP-Bid)*(tickvalue/Lot1)*Lot)*mng1))); if(znak_4_2==false) itog1= (((AccountEquity()+((Line_SL-Bid)*(tickvalue/Lot1)*Lot)*mng1))); if (BUY==false) itog= (((AccountEquity()+(-(Line_TP-Bid)*(tickvalue/Lot1)*Lot)*mng1))); if (BUY==false) itog1= (((AccountEquity()+(-(Line_SL-Bid)*(tickvalue/Lot1)*Lot)*mng1))); int asd=1; int it; int it1; if (Line_ASK == true) it= (((AccountEquity()-(-(Line_TP-Line_A_SK)*(tickvalue/Lot1)*Lot)*mng1))); if (Line_ASK == true) it1= (((AccountEquity()-(-(Line_SL-Line_A_SK)*(tickvalue/Lot1)*Lot)*mng1))); if (BUY==false)it= (((AccountEquity()-((Line_TP-Line_A_SK)*(tickvalue/Lot1)*Lot)*mng1))); if (BUY==false)it1= (((AccountEquity()-((Line_SL-Line_A_SK)*(tickvalue/Lot1)*Lot)*mng1))); if (Line_ASK == true)itog=it; if (Line_ASK == true)itog1=it1; ObjectCreate("Pro_f_it", OBJ_LABEL, 0, 0, 0); ObjectSetText("Pro_f_it",z_o+"", TekstSize, "Arial Bold", Yellow); ObjectSet("Pro_f_it", OBJPROP_CORNER, 3); ObjectSet("Pro_f_it", OBJPROP_XDISTANCE, 100); ObjectSet("Pro_f_it", OBJPROP_YDISTANCE, 380); ObjectCreate("St_pLoss", OBJ_LABEL, 0, 0, 0); ObjectSetText("St_pLoss",z_a+"", TekstSize, "Arial Bold", Aqua); ObjectSet("St_pLoss", OBJPROP_CORNER, 3); ObjectSet("St_pLoss", OBJPROP_XDISTANCE, 100); ObjectSet("St_pLoss", OBJPROP_YDISTANCE, 360); ObjectCreate("itog", OBJ_LABEL, 0, 0, 0); ObjectSetText("itog",itog+"", TekstSize, "Arial Bold", Yellow); ObjectSet("itog", OBJPROP_CORNER, 3); ObjectSet("itog", OBJPROP_XDISTANCE, 100); ObjectSet("itog", OBJPROP_YDISTANCE, 340); ObjectCreate("itog1", OBJ_LABEL, 0, 0, 0); ObjectSetText("itog1",itog1+"", TekstSize, "Arial Bold", Aqua); ObjectSet("itog1", OBJPROP_CORNER, 3); ObjectSet("itog1", OBJPROP_XDISTANCE, 100); ObjectSet("itog1", OBJPROP_YDISTANCE, 320); int Pro_fit; int StLoss; ObjectCreate("Pro_fit", OBJ_LABEL, 0, 0, 0); ObjectSetText("Pro_fit", z_o+" при таком профите у вас будет прибыль", TekstSize, "Arial Bold", Yellow); if (BUY == true) ObjectSet("Pro_fit", OBJPROP_CORNER, 2); ObjectSet("Pro_fit", OBJPROP_XDISTANCE, 100); ObjectSet("Pro_fit", OBJPROP_YDISTANCE, 360); if (BUY == false) ObjectSet("Pro_fit", OBJPROP_CORNER, 2); ObjectSet("Pro_fit", OBJPROP_XDISTANCE, 100); ObjectSet("Pro_fit", OBJPROP_YDISTANCE, 380); ObjectCreate("StLoss", OBJ_LABEL, 0, 0, 0); ObjectSetText("StLoss", z_a+" при таком стоп лосте у вас будет убыток", TekstSize, "Arial Bold", Aqua); if (BUY == true) ObjectSet("StLoss", OBJPROP_CORNER, 2); ObjectSet("StLoss", OBJPROP_XDISTANCE, 100); ObjectSet("StLoss", OBJPROP_YDISTANCE, 380); if (BUY == false) ObjectSet("StLoss", OBJPROP_CORNER, 2); ObjectSet("StLoss", OBJPROP_XDISTANCE, 100); ObjectSet("StLoss", OBJPROP_YDISTANCE, 360); ObjectCreate("shetPro_fit", OBJ_LABEL, 0, 0, 0); ObjectSetText("shetPro_fit", itog1+" при таком стоп лосте у вас останется на счету", TekstSize, "Arial Bold", Aqua); ObjectSet("shetPro_fit", OBJPROP_CORNER, 2); ObjectSet("shetPro_fit", OBJPROP_XDISTANCE, 100); ObjectSet("shetPro_fit", OBJPROP_YDISTANCE, 320); // int Tip1; ObjectCreate("Tip", OBJ_LABEL, 0, 0, 0); if (BUY==true) ObjectSetText("Tip", "BUY -ваш тип- BUY", TekstSize, "Arial Bold", Yellow); if (BUY==false) ObjectSetText("Tip", "SELL -ваш тип- SELL", TekstSize, "Arial Bold", Yellow); ObjectSet("Tip", OBJPROP_CORNER, 2); ObjectSet("Tip", OBJPROP_XDISTANCE, 100); ObjectSet("Tip", OBJPROP_YDISTANCE, 300); ObjectCreate("shetStLoss", OBJ_LABEL, 0, 0, 0); ObjectSetText("shetStLoss", itog+" при таком профите у вас останется на счету", TekstSize, "Arial Bold", Yellow); ObjectSet("shetStLoss", OBJPROP_CORNER, 2); ObjectSet("shetStLoss", OBJPROP_XDISTANCE, 100); ObjectSet("shetStLoss", OBJPROP_YDISTANCE, 340); int Balance=AccountBalance(); ObjectCreate("Balance", OBJ_LABEL, 0, 0, 0); ObjectSetText("Balance", Balance+" ваш баланс на данный момент", TekstSize, "Arial Bold", Red); ObjectSet("Balance", OBJPROP_CORNER, 2); ObjectSet("Balance", OBJPROP_XDISTANCE, 2); ObjectSet("Balance", OBJPROP_YDISTANCE, 500); int Equity=AccountEquity(); ObjectCreate("Equity", OBJ_LABEL, 0, 0, 0); ObjectSetText("Equity", Equity+" ваши средства на данный момент", TekstSize, "Arial Bold", Red); ObjectSet("Equity", OBJPROP_CORNER, 2); ObjectSet("Equity", OBJPROP_XDISTANCE, 2); ObjectSet("Equity", OBJPROP_YDISTANCE, 480); int FreMargin=AccountFreeMargin(); ObjectCreate("FreMargin", OBJ_LABEL, 0, 0, 0); ObjectSetText("FreMargin", FreMargin+" Свободно средств", TekstSize, "Arial Bold", Red); ObjectSet("FreMargin", OBJPROP_CORNER, 2); ObjectSet("FreMargin", OBJPROP_XDISTANCE, 2); ObjectSet("FreMargin", OBJPROP_YDISTANCE, 460); int Spread; Spread=NormalizeDouble((Ask-Bid)/Point,0); ObjectCreate("Spread", OBJ_LABEL, 0, 0, 0); ObjectSetText("Spread", Spread+" Spread", TekstSize, "Arial Bold", Red); ObjectSet("Spread", OBJPROP_CORNER, 2); ObjectSet("Spread", OBJPROP_XDISTANCE, 2); ObjectSet("Spread", OBJPROP_YDISTANCE, 440); ObjectCreate("CenPunkt", OBJ_LABEL, 0, 0, 0); ObjectSetText("CenPunkt", CenPunkt+" цена за пункт", TekstSize, "Arial Bold", Yellow); ObjectSet("CenPunkt", OBJPROP_CORNER, 2); ObjectSet("CenPunkt", OBJPROP_XDISTANCE, 2); ObjectSet("CenPunkt", OBJPROP_YDISTANCE, 420); string Lot_aa= DoubleToStr(Lot,2); //убыток// ObjectCreate("LOT", OBJ_LABEL, 0, 0, 0); ObjectSetText("LOT", Lot_aa+" установленный вами LOT", TekstSize, "Arial Bold", Yellow); ObjectSet("LOT", OBJPROP_CORNER, 2); ObjectSet("LOT", OBJPROP_XDISTANCE, 2); ObjectSet("LOT", OBJPROP_YDISTANCE, 400); return(0); }