//+------------------------------------------------------------------+ //| Setka.mq4 | //| Ïðèâàëîâ Ñ.Â. | //| Skype -> privalov-sv | //+------------------------------------------------------------------+ #property copyright "Ïðèâàëîâ Ñ.Â." #property link "Skype -> privalov-sv" #property indicator_chart_window datetime t; color LineColor = DimGray; int LineStyle = 4; int LineWidth = 1; bool LineOnBckgrnd = true; string name_g="Setka_g_"; string name_v="Setka_v_"; int i,var,Shet,MinBars; int prPeriod = PERIOD_H1; int PreBars; datetime BarTime; int StartPos; string mSymbol; double vertikal; bool flag=false; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { mSymbol = Symbol(); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { // óäàëÿþòñÿ âñå îáúåêòû ñ ãðàôèêà. for (i=0;i<Shet;i++) { ObjectDelete(name_g+DoubleToStr(i,0)); ObjectDelete(name_v+DoubleToStr(i,0)); } return(0); } //+------------------------------------------------------------------+ //|ðàñ÷åòû ïðè èíèöèàëèçàöèè è ñáîÿõ | //+------------------------------------------------------------------+ int Reset() { MinBars = MathMin(iBars(mSymbol, prPeriod)-1,WindowBarsPerChart()); StartPos = MinBars; PreBars = 0; BarTime = 0; flag = true; // óäàëÿþòñÿ ñîçäàííûå îáúåêòû ñ ãðàôèêà. for (i=0;i<Shet;i++) { ObjectDelete(name_g+DoubleToStr(i,0)); ObjectDelete(name_v+DoubleToStr(i,0)); } flag=true; Shet=0; //ñáðàñûâàåì ñ÷åò÷èê ëèíèé StartPos++; return(StartPos); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { // Ðàáîòàåì òîëüêî ïî çàêîí÷èâøèìñÿ áàðàì if (iBars(mSymbol, prPeriod) == PreBars) return(0); // Ïðîâåðèì, äîñòàòî÷íî ëè áàðîâ íà ãðàôèêå if (iBars(mSymbol, prPeriod) < MinBars) return(0); // Åñëè íå áûëî äîêà÷êè èñòîðèè, îáñ÷èòûâàåì òîëüêî çàêîí÷èâøèéñÿ áàð if (iBars(mSymbol, prPeriod)-PreBars == 1 && BarTime==iTime(mSymbol, prPeriod,1)) StartPos = 1; // Èíà÷å ïåðåñ÷èòûâàåì çàäàííîå â ôóíêöèè Reset() êîëè÷åñòâî áàðîâ else StartPos = Reset(); // Ìîäèôèöèðóåì êîíòðîëüíûå ïåðåìåííûå PreBars = iBars(mSymbol, prPeriod); BarTime = iTime(mSymbol, prPeriod,0); // Öèêë ïî èñòîðèè for (i=0; i<StartPos; i++) { // àëãîðèòì ðàñ÷åòà ..... t=iTime(Symbol(),PERIOD_H1,0)+60*60*(i-StartPos+2); var=TimeHour(t); LineColor=DimGray; if(var==0) LineColor=Aqua; // íà÷àëî ñóòîê if(var==8) LineColor=Gold; // íà÷àëî Ëîíäîí if(var==0 && TimeDayOfWeek(t)==1) LineColor=Red; // íà÷àëî íåäåëè if(!ObjectCreate (name_g+DoubleToStr(Shet,0),OBJ_VLINE,0,t,0)) { Print("error: íå ñîçäàí ãðàôè÷åñêèé îáúåêò name_g code #",GetLastError()," Symbol=", Symbol()); } ObjectSet (name_g+DoubleToStr(Shet,0),OBJPROP_STYLE,LineStyle); ObjectSet (name_g+DoubleToStr(Shet,0),OBJPROP_COLOR,LineColor); ObjectSet (name_g+DoubleToStr(Shet,0),OBJPROP_WIDTH,LineWidth); ObjectSet (name_g+DoubleToStr(Shet,0),OBJPROP_BACK, LineOnBckgrnd); ObjectSet (name_g+DoubleToStr(Shet,0),OBJPROP_TIMEFRAMES,NULL); Shet++; } // pos=StartPos;pos>0;pos--) // öèêë ïî âåðòèêàëè if(flag) { LineColor=DimGray; for(i=0; i<3000; i++) { Shet++; vertikal=i*0.005; // øàã ñåòêè if(!ObjectCreate (name_v+DoubleToStr(Shet,0),OBJ_HLINE,0,t,vertikal)) { Print("error: íå ñîçäàí ãðàôè÷åñêèé îáúåêò name_v code #",GetLastError()," Symbol=", Symbol()); } ObjectSet (name_v+DoubleToStr(Shet,0),OBJPROP_STYLE,LineStyle); ObjectSet (name_v+DoubleToStr(Shet,0),OBJPROP_COLOR,LineColor); ObjectSet (name_v+DoubleToStr(Shet,0),OBJPROP_WIDTH,LineWidth); ObjectSet (name_v+DoubleToStr(Shet,0),OBJPROP_BACK, LineOnBckgrnd); ObjectSet (name_v+DoubleToStr(Shet,0),OBJPROP_TIMEFRAMES,NULL); } flag=false; } return(0); }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: