//+------------------------------------------------------------------+ //| Square 9 v1.mq4 | //| Martingeil© 2011, 03 июля | //| fx.09@mail.ru | //+------------------------------------------------------------------+ #property copyright "Martingeil© 2011, 03 июля" #property link "fx.09@mail.ru" #property indicator_chart_window extern double pric = 1.46937;//вбиваемая цена extern int s = -1; //если = -1; то вниз считаем уровни, если = 1; то верх считаем уровни extern datetime time1 = D'2011.06.08 00:00';//дата время цены для прорисовки линии от времени pric //2011.06.08 00:00 - расшифровка 2011год, 06 - месяц, 08 - дата, 00час : 00мин. int q; datetime time2,ny_time; int init() { if(Digits==3||Digits==2) q=10; if(Digits==5||Digits==4) q=1000; return(0);} int deinit(){ ObjectDelete("Sq0"); ObjectDelete("Sq1");ObjectDelete("Sq2");ObjectDelete("Sq3"); ObjectDelete("Sq4");ObjectDelete("Sq5");ObjectDelete("Sq6"); ObjectDelete("Sq7");ObjectDelete("Sq8");ObjectDelete("Sq9"); ObjectDelete("Sq10");ObjectDelete("Sq11");ObjectDelete("Sq12"); ObjectDelete("Sq13");ObjectDelete("Sq14");ObjectDelete("Sq15"); ObjectDelete("Sq16");ObjectDelete("Sq17");ObjectDelete("Sq18"); return(0);} int start() { int counted_bars=IndicatorCounted(); ny_time = iTime(NULL,PERIOD_D1,0) + (0-Period()/60.0)*3600; time2 = ny_time + 24*3600+Period()*60 ; double scuar0,scuar1,scuar2,scuar3,scuar4,scuar5,scuar6,scuar7,scuar8,scuar9,scuar10,scuar11,scuar12 ,scuar13,scuar14,scuar15,scuar16,scuar17,scuar18; double urov0,urov1,urov2,urov3,urov4,urov5,urov6,urov7,urov8,urov9,urov10,urov11,urov12 ,urov13,urov14,urov15,urov16,urov17,urov18; int cena = pric*q; scuar0 = MathSqrt(cena)+s*0.125; urov0 = NormalizeDouble(scuar0*scuar0/q,Digits); scuar1 = MathSqrt(cena)+s*0.25; urov1 = NormalizeDouble(scuar1*scuar1/q,Digits); scuar2 = MathSqrt(cena)+s*0.333; urov2 = NormalizeDouble(scuar2*scuar2/q,Digits); scuar3 = MathSqrt(cena)+s*0.50; urov3 = NormalizeDouble(scuar3*scuar3/q,Digits); scuar4 = MathSqrt(cena)+s*0.666; urov4 = NormalizeDouble(scuar4*scuar4/q,Digits); scuar5 = MathSqrt(cena)+s*0.75; urov5 = NormalizeDouble(scuar5*scuar5/q,Digits); scuar6 = MathSqrt(cena)+s*1.0; urov6 = NormalizeDouble(scuar6*scuar6/q,Digits); scuar7 = MathSqrt(cena)+s*1.25; urov7 = NormalizeDouble(scuar7*scuar7/q,Digits); scuar8 = MathSqrt(cena)+s*1.333; urov8 = NormalizeDouble(scuar8*scuar8/q,Digits); scuar9 = MathSqrt(cena)+s*1.50; urov9 = NormalizeDouble(scuar9*scuar9/q,Digits); scuar10 = MathSqrt(cena)+s*1.666; urov10 = NormalizeDouble(scuar10*scuar10/q,Digits); scuar11 = MathSqrt(cena)+s*1.75; urov11 = NormalizeDouble(scuar11*scuar11/q,Digits); scuar12 = MathSqrt(cena)+s*2.0; urov12 = NormalizeDouble(scuar12*scuar12/q,Digits); scuar13 = MathSqrt(cena)+s*2.25; urov13 = NormalizeDouble(scuar13*scuar13/q,Digits); scuar14 = MathSqrt(cena)+s*2.333; urov14 = NormalizeDouble(scuar14*scuar14/q,Digits); scuar15 = MathSqrt(cena)+s*2.50; urov15 = NormalizeDouble(scuar15*scuar15/q,Digits); scuar16 = MathSqrt(cena)+s*2.666; urov16 = NormalizeDouble(scuar16*scuar16/q,Digits); scuar17 = MathSqrt(cena)+s*2.75; urov17 = NormalizeDouble(scuar17*scuar17/q,Digits); scuar18 = MathSqrt(cena)+s*3.0; urov18 = NormalizeDouble(scuar18*scuar18/q,Digits); Comment( "\n Уровень0 = ",DoubleToStr(urov0,Digits), "\n Уровень1 = ",DoubleToStr(urov1,Digits)," Уровень2 = ",DoubleToStr(urov2,Digits), "\n Уровень3 = ",DoubleToStr(urov3,Digits)," Уровень4 = ",DoubleToStr(urov4,Digits), "\n Уровень5 = ",DoubleToStr(urov5,Digits)," Уровень6 = ",DoubleToStr(urov6,Digits), "\n Уровень7 = ",DoubleToStr(urov7,Digits)," Уровень8 = ",DoubleToStr(urov8,Digits), "\n Уровень9 = ",DoubleToStr(urov9,Digits)," Уровень10 = ",DoubleToStr(urov10,Digits), "\n Уровень11 = ",DoubleToStr(urov11,Digits)," Уровень12 = ",DoubleToStr(urov12,Digits), "\n Уровень13 = ",DoubleToStr(urov13,Digits)," Уровень14 = ",DoubleToStr(urov14,Digits), "\n Уровень15 = ",DoubleToStr(urov15,Digits)," Уровень16 = ",DoubleToStr(urov16,Digits), "\n Уровень17 = ",DoubleToStr(urov17,Digits)," Уровень18 = ",DoubleToStr(urov18,Digits)); PlotLine("Sq0",urov0,urov0,Blue); PlotLine("Sq1",urov1,urov1,Blue); PlotLine("Sq2",urov2,urov2,Blue); PlotLine("Sq3",urov3,urov3,Blue); PlotLine("Sq4",urov4,urov4,Blue); PlotLine("Sq5",urov5,urov5,Blue); PlotLine("Sq6",urov6,urov6,Blue); PlotLine("Sq7",urov7,urov7,Blue); PlotLine("Sq8",urov8,urov8,Blue); PlotLine("Sq9",urov9,urov9,Blue); PlotLine("Sq10",urov10,urov10,Blue); PlotLine("Sq11",urov11,urov11,Blue); PlotLine("Sq12",urov12,urov12,Blue); PlotLine("Sq13",urov13,urov13,Blue); PlotLine("Sq14",urov14,urov14,Blue); PlotLine("Sq15",urov15,urov15,Blue); PlotLine("Sq16",urov16,urov16,Blue); PlotLine("Sq17",urov17,urov17,Blue); PlotLine("Sq18",urov18,urov18,Blue); return(0); } //--------------------------------------------------------------------------------- void PlotLine(string name,double value,double value1,double line_color) { double valueN=NormalizeDouble(value,Digits); double valueN1=NormalizeDouble(value1,Digits); bool res = ObjectCreate(name,OBJ_TREND,0,time1,valueN,time2,valueN1); ObjectSet(name, OBJPROP_WIDTH, 1); ObjectSet(name, OBJPROP_STYLE, 0); ObjectSet(name, OBJPROP_RAY, false); ObjectSet(name, OBJPROP_BACK, true); ObjectSet(name, OBJPROP_COLOR, line_color); } //---------------------------------------------------------------------------------