breath of currency_test2en
Download scriptThis script is a comprehensive technical analysis tool designed for the MetaTrader platform. It functions primarily as a visual overlay that helps traders identify key price levels, historical ranges, and mathematical "grids" to better understand market structure.
Here is a breakdown of its core logic in non-technical terms:
1. Historical Range Visualization
The script automatically analyzes past performance to draw visual boundaries on your chart. It identifies the high and low prices from previous days, weeks, and months, then draws rectangles representing those "trading zones." This allows you to see at a glance how much price has moved in the past and where it has historically struggled to break through.
2. Predictive Price Projections
One of the script's more advanced features is its ability to calculate "expected" price ranges based on current trends. It uses mathematical formulas to project:
- Expected Daily/Weekly Ranges: Estimates where the price might move next based on current volatility.
- Projected Opening Levels: Calculates where the market might open for the next week or month by looking at previous growth patterns.
3. Dynamic Support and Resistance Levels
The tool identifies several types of key levels to help with entry and exit decisions:
- Moving Average Channels: It plots lines based on specific averages, which act as dynamic support or resistance. If the price interacts with these, the script can trigger alerts.
- Trendlines: It draws horizontal trendlines based on previous daily closes.
- Gann Grids: It includes optional logic to display "Gann-style" grids, which are used by many traders to identify harmonic price points and potential reversal zones.
4. Automated Alerts and Notifications
To keep the trader informed without constantly staring at the screen, the script features an active notification system. You can set it to:
- Play audio alerts when the price enters a specific zone.
- Show pop-up messages on your screen when price reaches a predicted range or a historical high/low.
- Notify you specifically when the price is within a certain number of "pips" (the smallest price movement) of a key trendline.
5. Real-Time Information Display
The script provides several convenience features directly on the chart interface:
- Multi-City Clocks: Displays the current time for major trading hubs like GMT, Tokyo, and New York.
- Spread Monitor: Shows the current "spread" (the difference between the buy and sell price) in real-time.
- Price Distance Tracking: It calculates and displays exactly how far the current price is from the high or low of the previous week.
6. Visual Cues for Price Action
The script helps highlight specific market behaviors by "painting" the chart:
- It can place arrows on the chart to identify when the market opens above or below a specific trendline.
- It can highlight specific bars (like the 4-hour close) to help traders stay focused on relevant timeframes during fast-moving markets.
Summary for the User
Essentially, this script acts like a "GPS" for your trading chart. It takes a massive amount of historical data—daily highs, weekly ranges, and monthly averages—and condenses it into clear visual lines and boxes. This allows you to see where the "walls" are in the market and receive an alarm before the price hits them.
//+------------------------------------------------------------------+
//| TEST_ôèíàë.2|
//+------------------------------------------------------------------+
//Nikita-Kiev 12.08.2009 http://forum.alpari-idc.ru/post1474281-3278.html
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red //Blue White SlateGray LightCyan
#property indicator_color2 Blue// Red Blue DarkGray Coral
#property indicator_color3 Goldenrod//Red White SlateGray LightCyan
#property indicator_color4 LimeGreen //Blue Blue DarkGray Coral
#property indicator_color5 Red // Blue Magenta
#property indicator_color6 Blue//DarkOrange Gold
#property indicator_color7 DarkGray //Blue
#property indicator_color8 Red //DarkOrange SlateGray
//+--------------
extern bool Line_ring_percent = false ; //
extern int Line_ring_percents =50; // Ìîæíî âûñòàâëÿòü äàæå íà ìèíóñ -200% Line_çâîíêà
extern string Alert_will_shut_up = "if set to -1 point, ";
extern int AlertLine_HL_points =-1; //Åñëè âûñòàâèòü -1 ïèùàòü íå áóäåò
extern int Alert_MAsound =-1; //Åñëè âûñòàâèòü -1 ïèùàòü íå áóäåò
extern int Alert_sound_percents=-1; //Åñëè âûñòàâèòü -1 ïèùàòü íå áóäåò
extern int Alert_TrendLine=-1; //Åñëè âûñòàâèòü -1 ïèùàòü íå áóäåò
extern bool Grid_25_points = true ; //false true
extern string show_Daily_Weekly = "raw code, going to change";//ñûðîé êîä,áóäó ïåðåäåëûâàòü
extern bool show_range_Daily = true ; // true false
extern bool show_range_Weekly = true ; // true false
extern bool Open_AboveOrUnder_Trendline = true ; // ðàáîòàåò òîëüêî íà ïåðèîäàõ îò Í1 è âûøå
extern bool Close_Í4_MT4 = true ; //false true
extern bool Close_Í4_GMT= true ; //false true
extern bool Percent_UpDn =false; // true false
extern bool paintBars =false ; // true false
extern int PERIOD_=240;
extern bool n_PERIOD = false ; //false true
extern bool range_0_1_2_bars = false ; //false true
extern bool Expected_Range_Week = true ; //false true
extern bool calculated_Range_Day = true ; //false true
extern bool MA_TF1 = false ; //false true
extern string Period_TF1_1440_240_120_60_30 = "0 = current Period ";//
extern int Period_TF1=0 ; // Îäèí èç Period äëÿ íå ñòàíäàðòíûõ òàéì ôðåéìîâ
extern int Ma_TF1 = 3;
extern int shift_Point_MA_TF1 = 4;
extern bool PopupON = true ; // true false
extern string MA_0_1_2_3 = "3=1000 pp,2=100 pp,1=10 ppâ,0=0 pp ";//
extern int MA_0_1_2=2; //0=ÌÀ ñðåDayÿ, 1= ñòóïåí÷àòàÿ ÷åðåç 10 ïóíêòîâ, 2= ÷åðåç 100 ïóíêòîâ
extern int col_days = 6;// Êîëè÷.áàðîâ â ðàñ÷¸òíîé èñòîðèè
//+--------------
extern bool GannGrid_Daily = false ; // Äûõàíèå âàëþòû V-12.5.mq4
extern bool GannGrid_Weekly = false ; //Èíñòðóêöèÿ: òàñêàéòå ýòè ëèíèè ïî ãðàôèêó,(è íà ëèíåéûõ ãðàôèêàõ òîæå), ïîêà íå óâèäèòå îò íèõ ïîëüçó.
extern bool GannGrid_Weekly2 = false ;
string AlertSound="alert.wav";
string Alert_ring= "timeout.wav"; // "connect.wav"; "email.wav";
bool Sound_Alert=true; // true false
extern bool clock = true ; // true false
extern int clock_font = 8;
double Days[][6]; double Days1[][6];
double Up [],Down [],Up1[],Down1[],Up2[],Down2[],Up3[],Buffer1[],Buffer2[],Buffer3[];
double nPoint = 0;
//+-----------------------------------------------------------------
int init() {
ArrayCopyRates(Days1,Symbol(),PERIOD_W1);
ArrayCopyRates(Days,Symbol(),PERIOD_D1);
SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,Up ); SetIndexDrawBegin(0,0);
SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexBuffer(1,Down); SetIndexDrawBegin(1,0);
SetIndexStyle(2, DRAW_LINE,2,0); SetIndexBuffer(2, Up1);
SetIndexLabel( 2, "High_MA_TF1(" + Ma_TF1 + "," +Period_TF1 +")");
SetIndexStyle(3, DRAW_LINE,2,0); SetIndexBuffer(3, Down1);
SetIndexLabel( 3, "Low_MA_TF1(" + Ma_TF1 + "," +Period_TF1+")");
SetIndexStyle(4,DRAW_ARROW,1, 3); SetIndexArrow(4,160);
SetIndexBuffer(4,Buffer1); SetIndexLabel( 4, "Close_H4_______________________GMT");
SetIndexStyle(5,DRAW_ARROW,1, 3); SetIndexArrow(5,160);
SetIndexBuffer(5,Buffer2); SetIndexLabel( 5, "Close__________________H4_MT4");
SetIndexStyle(6,DRAW_ARROW,1, 1); SetIndexArrow(6,160);
SetIndexBuffer(6,Up3);
// SetIndexStyle(7,DRAW_ARROW,1, 2); SetIndexArrow(7,115); //ñâîáîäíûé áóôåð
// SetIndexBuffer(7,Buffer3); SetIndexLabel( 7, "==========");
//+---------------------------
ObjectCreate( "clock GMT", OBJ_LABEL, 0,0,0);
ObjectSet( "clock GMT", OBJPROP_CORNER, 2);
ObjectSet( "clock GMT", OBJPROP_XDISTANCE, 244); ObjectSet( "clock GMT", OBJPROP_YDISTANCE, 1);
ObjectSetText( "clock GMT", "", clock_font, "Arial Black", Blue ); // Öâåò_÷àñîâ_ñëåâà_GMT
//+------
ObjectCreate( "time_Tokio", OBJ_LABEL, 0,0,0,0,0,0,0);
ObjectSet( "time_Tokio", OBJPROP_CORNER, 2);
ObjectSet( "time_Tokio", OBJPROP_XDISTANCE, 1); ObjectSet( "time_Tokio", OBJPROP_YDISTANCE, 1);
ObjectSetText( "time_Tokio", "", clock_font, "Arial ", Gray);
//+------
ObjectCreate( "time_NewYork", OBJ_LABEL, 0,0,0);
ObjectSet( "time_NewYork", OBJPROP_CORNER, 3 );
ObjectSet( "time_NewYork", OBJPROP_XDISTANCE, 1); ObjectSet( "time_NewYork", OBJPROP_YDISTANCE, 1);
ObjectSetText( "time_NewYork", "", clock_font, "Arial", Gray);
return(0);
}
int deinit()
{
ObjectDelete("UpperLevel_2WeekChannel_byHigh");
ObjectDelete("LoweLevel_2WeekChannel_byHigh");
ObjectDelete("UpperLevel_2WeekChannel_byLow"); ObjectDelete("ParallelTrendLine_byDayClose");
ObjectDelete("LowerLevel_2WeekChannel_byLow"); ObjectDelete("mirror_TrendLine_byDayClose");
ObjectDelete("Comment"); ObjectDelete("expected_Close_Yesterday"); ObjectDelete("clock GMT");
ObjectDelete("time_Tokio");ObjectDelete("time_NewYork"); ObjectDelete("2WeekAgo Open");
ObjectDelete("Line_byClose"); ObjectDelete("channel line by Low"); ObjectDelete("1WeekAgo Open");
ObjectDelete("channel line by High"); ObjectDelete("Close of 0 bar n_PERIOD");
ObjectDelete("Close_Bar_1"); ObjectDelete("Close_Bar_2"); ObjectDelete("High last month");
ObjectDelete("Bar_0"); ObjectDelete("Bar_1"); ObjectDelete("Bar_2");
ObjectDelete("Ðàññòîÿíèå îò öåíû äî Low last Week"); ObjectDelete("Low last month");
ObjectDelete("Ëèíèÿ ïî Close"); ObjectDelete("channel line by Low");
ObjectDelete("Ðàññòîÿíèå îò öåíû äî High last Week"); ObjectDelete("Low last_week");
ObjectDelete("High_last_week"); ObjectDelete("Channel 111"); ObjectDelete("Channel 11");
ObjectDelete("LowLine"); ObjectDelete("HighLine"); ObjectDelete("Low 2days ago");
ObjectDelete("High 2days ago"); ObjectDelete("channel line by Low");
ObjectDelete("channel line by High"); ObjectDelete("Close_Bar_0");
ObjectDelete("expected Close, Weekly");
ObjectDelete("High yesterday"); ObjectDelete("Low yesterday");
ObjectDelete("Close 3 Day íàçàä"); ObjectDelete("Close 2days ago");
ObjectDelete("Close yesterday"); ObjectDelete("Close last Week");
ObjectDelete("Week Open"); ObjectDelete("ecpected Close today");
ObjectDelete("channel line by High"); ObjectDelete("Close_Bar_0");
ObjectDelete("Today\'s Open"); ObjectDelete("next H4 period");
ObjectDelete("range of 0 bar_PERIOD"); ObjectDelete("expected range Day");
ObjectDelete("High_TF1"); ObjectDelete("Low_TF1"); ObjectDelete("High_TF2"); ObjectDelete("Low_TF2");
ObjectDelete("expected range this Week"); ObjectDelete("expected range next Week");
ObjectDelete("STOPLEVEL ïî Low"); ObjectDelete("STOPLEVEL ïî High"); ObjectDelete("STOPLEVEL ïî High ïëþñ ñïðåä");
ObjectDelete("Close of 0 bar"); ObjectDelete("Close 1 bar");ObjectDelete("Close 2 bar"); ObjectDelete("Close 3 bar");
ObjectDelete("Close 4 bar"); ObjectDelete("Close 5 bar");ObjectDelete("Close 6 bar"); ObjectDelete("Close 7 bar");
ObjectDelete("Trendline Close"); ObjectDelete("Trendline LOW");ObjectDelete("Trendline High"); ObjectDelete("Äèàïàçîí 2 bar");
ObjectDelete("range of 1st bar"); ObjectDelete("Äèàïàçîí of 0 bar"); ObjectDelete("High of 0 bar n_PERIOD"); ObjectDelete("Low of 0 bar n_PERIOD");
ObjectDelete("percent Max Growth Week"); ObjectDelete("percent Max Fall Week");
ObjectDelete("Month Open"); ObjectDelete("Last Month Open");ObjectDelete("2MonthAgo Open");
ObjectDelete("percent Max Growth Month"); ObjectDelete("percent Max Fall Month"); ObjectDelete("expected Close, last Week");
ObjectDelete("range between High of 0 bar and price"); ObjectDelete("range between Low of0 bar and price");
ObjectDelete("range between High of 1 bar and price"); ObjectDelete("range between Low of 1 bar and price");
ObjectDelete("range between High of 2 bar and price"); ObjectDelete("range between Low of 2 bar and price");
ObjectDelete("LineAlert_percent_ofHL_Daily");ObjectDelete("Line_ring_percent"); ObjectDelete("1");
ObjectDelete("High Daily");ObjectDelete("LowLine Daily");ObjectDelete("Line 50%_thisWeek");
ObjectDelete("2"); ObjectDelete("TrendLine 2");ObjectDelete("TrendLine 1");
ObjectDelete("Line ring 50% range Weekly");ObjectDelete("Line 50% Month range ");
ObjectDelete("level of expected close, Weekly 0"); ObjectDelete("level of expected open, next Weekly 0-1");
ObjectDelete("expected Close, last Weekly 1"); ObjectDelete("Óðîâåíü ðàññ÷èòàííîãî îòêðûòèÿ, this Week");
ObjectDelete("level of expected close, Weekly 2"); ObjectDelete("level of expected open, Weekly 1");
ObjectDelete("level of expected close, Weekly 3"); ObjectDelete("level of expected open, Weekly 2");
ObjectDelete("expected Close level 2days ago");ObjectDelete("expected Close level yesterday");
ObjectDelete("expected Close level today");
ObjectDelete("calculated level Open, this month");ObjectDelete("calculated level Open, last month");
ObjectDelete("calculated level Open, next month"); ObjectDelete("percent Max Growth - Last Month"); ObjectDelete("percent Max Fall - Last Month");
ObjectDelete("Upper level of Weekly channel by High");ObjectDelete("Lower level of Weekly channel by High");
ObjectDelete("Upper level of Weekly channel by Low"); ObjectDelete("Lower level of Weekly channel by Low");
ObjectDelete("Upper level of Daily channel by High"); ObjectDelete("Lower level of Daily channel by High");
ObjectDelete("Upper level of Daily channel by Low"); ObjectDelete("Lower level of Daily channel by Low");
ObjectDelete("Line 50% range 2Weekly"); ObjectDelete("Line 50% range 3Weekly"); ObjectDelete("50% last_week");
ObjectDelete("Line 50% range 2Daily"); ObjectDelete("Line 50% range 3Daily"); ObjectDelete("Open below Trendline");
ObjectDelete("two Open together"); ObjectDelete("Open above Trendline");
ObjectDelete("10"); ObjectDelete("11"); ObjectDelete("12"); ObjectDelete("13"); ObjectDelete("14");
ObjectDelete("15"); ObjectDelete("16"); ObjectDelete("17"); ObjectDelete("18"); ObjectDelete("19");
ObjectDelete("20"); ObjectDelete("21"); ObjectDelete("22"); ObjectDelete("23"); ObjectDelete("24");
ObjectDelete("25"); ObjectDelete("26"); ObjectDelete("27"); ObjectDelete("28"); ObjectDelete("29"); ObjectDelete("expected range next Week");
ObjectDelete("expected range Week"); ObjectDelete("expected range this Week");
ObjectDelete("expected range next Day"); ObjectDelete("expected Today\'s range"); ObjectDelete("expected range this Day");
//----------------------------------------------
for (int ii = col_days; ii >= 0; ii--) {
ObjectDelete("Weekly"+ii); ObjectDelete("Day"+ii);
} return(0); }
//--------------------------------------------------------------
int start()
{
nPoint = GetPoint(Symbol());
double HighLine = iHigh(NULL,PERIOD_D1,0) ;
double LowLine = iLow(NULL,PERIOD_D1,0) ;
//+--------- Äîáàâëåí èíäèêàòîð, Äèàïàçîí ïîñëåäíèõ áàðîâ -------------------
string name, value,H_L, data;
for (int w = 3; w >= 0; w--){
data = DoubleToStr(High[w]/nPoint-Low[w]/nPoint,0);
if (Close[w] > Open[w]) { value = " +" + data;
} if (Close[w] < Open[w]) { value = " -" + data;
} if (Close[w] == Open[w]) { value = " :" + data;
} name = name + value;
H_L = DoubleToStr((HighLine-LowLine)/nPoint,0);
Comment( " Spread = ", (Ask-Bid)/nPoint,", Daily = " ,H_L+" p, ", name +" p, ",
" MT4 = ",TimeToStr(TimeCurrent(), TIME_MINUTES));
}
if (clock) ObjectSetText("clock GMT", TimeToStr( CurTime()-7200, TIME_MINUTES ), clock_font, "Arial Black", SlateGray);
if (clock)ObjectSetText("time_NewYork", TimeToStr(CurTime()- 21600, TIME_MINUTES) , clock_font, "Arial Black", SlateGray);
if (clock)ObjectSetText("time_Tokio", TimeToStr(CurTime()+25200, TIME_MINUTES) , clock_font, "Arial Black", SlateGray);
//+---------------------------------------------------------------------------------------
int Counted_bars=IndicatorCounted(); // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ
int i=Bars-Counted_bars-1; // Èíäåêñ ïåðâîãî íåïîñ÷èòàííîãî
int old_bar=1440/Period()*col_days;
if (i>old_bar-1) // Åñëè ìíîãî áàðîâ òî ..
i=old_bar-1; // ..ðàññ÷èòûâàòü çàäàííîå êîëè÷.
while(i>=0)
{
int bb = HighBar(Symbol(), 0, i, Period_TF1);
if(bb == -1) continue;
//+------------------------------------------------------------------+
double r = iMA(Symbol(), Period_TF1, Ma_TF1, 0, 0, PRICE_HIGH, bb);
double rr = iMA(Symbol(), Period_TF1, Ma_TF1, 0, 0, PRICE_HIGH, bb+1);
//+------------------------------
double r1 = iMA(Symbol(), Period_TF1, Ma_TF1, 0, 0, PRICE_LOW, bb);
double rr1 = iMA(Symbol(), Period_TF1, Ma_TF1, 0, 0, PRICE_LOW, bb+1);
//+------------------------------
Up3 [i]=NormalizeDouble(iMA(NULL,0,3 ,0,MODE_SMMA,PRICE_CLOSE,i ),Digits- MA_0_1_2);
//+---------------------------------------------------------
Buffer1[i]=0; Buffer2[i]=0;
if (Close_Í4_GMT) if (TimeHour(Time[i]) == 1 && TimeHour(Time[i-1]) != 1) Buffer1[i] = Close[i];
if ( Close_Í4_MT4) if (TimeHour(Time[i]) == 3 && TimeHour(Time[i-1]) != 3) Buffer2[i] = Close[i];
if (Close_Í4_GMT) if (TimeHour(Time[i]) == 5 && TimeHour(Time[i-1]) != 5) Buffer1[i] = Close[i];
if ( Close_Í4_MT4) if (TimeHour(Time[i]) == 7 && TimeHour(Time[i-1]) != 7) Buffer2[i] = Close[i];
if (Close_Í4_GMT) if (TimeHour(Time[i]) == 9 && TimeHour(Time[i-1]) != 9) Buffer1[i] = Close[i];
if ( Close_Í4_MT4) if (TimeHour(Time[i]) == 11 && TimeHour(Time[i-1]) != 11) Buffer2[i] = Close[i];
if (Close_Í4_GMT) if (TimeHour(Time[i]) == 13 && TimeHour(Time[i-1]) != 13) Buffer1[i] = Close[i]; //+---------------------------------------------------------
if ( Close_Í4_MT4) if (TimeHour(Time[i]) == 15 && TimeHour(Time[i-1]) != 15) Buffer2[i] = Close[i];
if (Close_Í4_GMT) if (TimeHour(Time[i]) == 17 && TimeHour(Time[i-1]) != 17) Buffer1[i] = Close[i];
if ( Close_Í4_MT4) if (TimeHour(Time[i]) == 19 && TimeHour(Time[i-1]) != 19) Buffer2[i] = Close[i];
if (Close_Í4_GMT) if (TimeHour(Time[i]) == 21 && TimeHour(Time[i-1]) != 21) Buffer1[i] = Close[i];
if ( Close_Í4_MT4) if (TimeHour(Time[i]) == 23 && TimeHour(Time[i-1]) != 23) Buffer2[i] = Close[i];
//+---------------------------------------------------------
//+---------------------------------------------------------
if (rr>r || rr1>r1 ) // !!!!!! && =? ||= ? !!!!!!!
{
if (paintBars) Up [i]=High[i];
if (paintBars) Down[i]=Low[i];
if (MA_TF1) Up1 [i] =r +shift_Point_MA_TF1 *nPoint ; // ê High ïðèáàâëÿåì ñäâèã_ÌÀ_TF1, Îò LOW îòíèìàåì
if (ObjectFind("High_TF1")==-1){ ObjectCreate("High_TF1", OBJ_TREND, 0, 0,0, 0, 0); //
} ObjectSet("High_TF1",OBJPROP_TIME1,Time[i]);
ObjectSet("High_TF1",OBJPROP_PRICE1, Up1 [i]);
ObjectSet("High_TF1",OBJPROP_TIME2,Time[i]+3600);
ObjectSet("High_TF1",OBJPROP_PRICE2, Up1 [i]);
ObjectSet("High_TF1",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5|
OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1 );
ObjectSet("High_TF1", OBJPROP_COLOR, Goldenrod); ObjectSet("High_TF1",OBJPROP_RAY,false);
ObjectSet("High_TF1",OBJPROP_STYLE,2);
double val2=ObjectGetValueByShift("High_TF1", 0);
if (Bid-Alert_MAsound*nPoint <= val2 && Bid+Alert_MAsound*nPoint >= val2)
{ if (Sound_Alert) PlaySound (AlertSound);
if (PopupON) Alert (Symbol()," price within ",Alert_MAsound," pips of ","High_TF1");
} }
//+---------------------------------------------------------
if (r>rr || r1>rr1 ) // !!!!!! && =? ||= ? !!!!!!!
{
if (paintBars) Up [i]=Low[i];
if (paintBars) Down [i]=High[i];
if (MA_TF1) Down1 [i]=r1-shift_Point_MA_TF1 *nPoint ;
if (ObjectFind("Low_TF1")==-1){ ObjectCreate("Low_TF1", OBJ_TREND, 0, 0,0, 0, 0);
} ObjectSet("Low_TF1",OBJPROP_TIME1,Time[i]);
ObjectSet("Low_TF1",OBJPROP_PRICE1, Down1 [i]);
ObjectSet("Low_TF1",OBJPROP_TIME2,Time[i]+3600);
ObjectSet("Low_TF1",OBJPROP_PRICE2,Down1 [i]);
ObjectSet("Low_TF1",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5|
OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1 );
ObjectSet("Low_TF1", OBJPROP_COLOR, LimeGreen); ObjectSet("Low_TF1",OBJPROP_RAY,false);
ObjectSet("Low_TF1",OBJPROP_STYLE,2);
double val1=ObjectGetValueByShift("Low_TF1", 0);
if (Bid-Alert_MAsound*nPoint <= val1 && Bid+Alert_MAsound*nPoint >= val1)
{ if (Sound_Alert) PlaySound (AlertSound);
if (PopupON) Alert (Symbol()," price within ",Alert_MAsound," pips of ","Low_TF1");
} }
//+---------------------------------------------------------
//=======================================================================================
i--; // Ðàñ÷¸ò èíäåêñà ñëåäóþùåãî bar
//=======================================================================================
//+------------------------------------------------------------------+
if (ObjectFind("High Daily")==-1){ ObjectCreate("High Daily", OBJ_CHANNEL, 0, 0,0,0, 0,0, 0);
} ObjectSet("High Daily",OBJPROP_TIME1,Time[1]); ObjectSet("High Daily",OBJPROP_PRICE1,HighLine);
ObjectSet("High Daily",OBJPROP_TIME2,Time[0]); ObjectSet("High Daily",OBJPROP_PRICE2,HighLine);
// ObjectSet("High Daily",OBJPROP_TIME3,Time[0]); ObjectSet("High Daily",OBJPROP_PRICE3,HighLine);
ObjectSet("High Daily", OBJPROP_COLOR, SlateGray); ObjectSet("High Daily",OBJPROP_RAY,0);
ObjectSet("High Daily",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1|OBJ_PERIOD_H4);
//+---------
if (ObjectFind("HighLine")==-1){ ObjectCreate("HighLine",OBJ_TEXT, 0, 0, 0);
} ObjectSetText("HighLine",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble
(ObjectGetValueByShift("High Daily" ,0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray);
ObjectSet("HighLine",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("High Daily" ,0),Digits)+8*nPoint);
ObjectSet("HighLine",OBJPROP_TIME1,Time[0]) ;
double val41=ObjectGetValueByShift("High Daily", 0);
if (Bid-AlertLine_HL_points*nPoint <= val41 && Bid+AlertLine_HL_points*nPoint >= val41)
{ PlaySound (AlertSound);
if (PopupON) Alert (Symbol()," price within ",AlertLine_HL_points," pips of ","High Daily");
}
//+-----------------------------------------------------------------------------------------------
if (ObjectFind("LowLine Daily")==-1){ ObjectCreate("LowLine Daily", OBJ_CHANNEL, 0, 0,0,0, 0,0, 0);
} ObjectSet("LowLine Daily",OBJPROP_TIME1,Time[1]); ObjectSet("LowLine Daily",OBJPROP_PRICE1,LowLine);
ObjectSet("LowLine Daily",OBJPROP_TIME2,Time[0]); ObjectSet("LowLine Daily",OBJPROP_PRICE2,LowLine);
// ObjectSet("LowLine Daily",OBJPROP_TIME3,Time[0]); ObjectSet("LowLine Daily",OBJPROP_PRICE3,LowLine);
ObjectSet("LowLine Daily", OBJPROP_COLOR, SlateGray); ObjectSet("LowLine Daily",OBJPROP_RAY,0);
ObjectSet("LowLine Daily",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1|OBJ_PERIOD_H4);
//+---------
if (ObjectFind("LowLine")==-1){ ObjectCreate("LowLine",OBJ_TEXT, 0, 0, 0);
} ObjectSetText("LowLine",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble
(ObjectGetValueByShift("LowLine Daily" ,0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray);
ObjectSet("LowLine",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("LowLine Daily" ,0),Digits)-2*nPoint);
ObjectSet("LowLine",OBJPROP_TIME1,Time[0]) ;
double val42=ObjectGetValueByShift("LowLine Daily", 0);
if (Bid-AlertLine_HL_points*nPoint <= val42 && Bid+AlertLine_HL_points*nPoint >= val42)
{ PlaySound (AlertSound);
if (PopupON) Alert (Symbol()," price within ",AlertLine_HL_points," pips of ","LowLine Daily");
}
//+-----------------------------------------------------------------------------------
//+-----------------------------------------------------------------------------------------------
if (Line_ring_percent) if (ObjectFind("LineAlert_percent_ofHL_Daily")==-1){ ObjectCreate("LineAlert_percent_ofHL_Daily", OBJ_CHANNEL, 0, 0,0,0, 0,0, 0);
} ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_TIME1,Time[2]); ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_PRICE1,LowLine + (HighLine-LowLine)* Line_ring_percents/100);
ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_TIME2,Time[0]); ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_PRICE2,LowLine + (HighLine-LowLine)* Line_ring_percents/100);
ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_TIME3,Time[0]); ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_PRICE3,LowLine + (HighLine-LowLine)* Line_ring_percents/100) ;
ObjectSet("LineAlert_percent_ofHL_Daily", OBJPROP_COLOR, SlateGray); ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_RAY,0);
ObjectSet("LineAlert_percent_ofHL_Daily",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1);
//+------------- Ìîæåòå âîñòàíîâèòü èëè óáðàòü íàäïèñü ê this ëèíèè
if (Line_ring_percent) if (ObjectFind("Line_ring_percent")==-1){ ObjectCreate("Line_ring_percent",OBJ_TEXT, 0, 0, 0); }
ObjectSetText("Line_ring_percent", " " + DoubleToStr(( Line_ring_percents), 0)+" % GMT " + TimeToStr( CurTime()-7200, TIME_MINUTES ), 8,"Arial",SlateGray);
ObjectSet("Line_ring_percent",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1); //
ObjectSet("Line_ring_percent",OBJPROP_TIME1,Time[0]) ; ObjectSet("Line_ring_percent",OBJPROP_PRICE1,LowLine + (HighLine-LowLine)* Line_ring_percents/100);
// // // // //+-----------------------------------------------------------------------------------------------
double Limitka=LowLine + (HighLine-LowLine)* Line_ring_percents/100;
if (Line_ring_percent) if (Bid-Alert_sound_percents*nPoint <= Limitka && Bid+Alert_sound_percents*nPoint >= Limitka) { PlaySound (Alert_ring);
if (PopupON) Alert (Symbol()," price within ",AlertLine_HL_points," pips of ","LineAlert_percent_ofHL_Daily");
}
//+-------------------------------------------------------------------------------------------------
//+-------------------------------------------------------------------------------------------------
double High_Low_W = iLow(NULL,PERIOD_W1,0) + (iHigh(NULL,PERIOD_W1,0)-iLow(NULL,PERIOD_W1,0))/2 ;
//+-----------------------------------------------------------------------------------------------
if (ObjectFind("Line 50%_thisWeek")==-1){ ObjectCreate("Line 50%_thisWeek", OBJ_TREND, 0, 0,0, 0,0);
} ObjectSet("Line 50%_thisWeek",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,5) ); ObjectSet("Line 50%_thisWeek",OBJPROP_PRICE1,High_Low_W);
ObjectSet("Line 50%_thisWeek",OBJPROP_TIME2,iTime(NULL,PERIOD_H4,3)); ObjectSet("Line 50%_thisWeek",OBJPROP_PRICE2,High_Low_W);
ObjectSet("Line 50%_thisWeek", OBJPROP_COLOR, Chocolate); ObjectSet("Line 50%_thisWeek",OBJPROP_RAY,0); ObjectSet("Line 50%_thisWeek",OBJPROP_WIDTH,1);
//+------------- Ìîæåòå âîñòàíîâèòü íàäïèñü ê this ëèíèè
// if (ObjectFind("Line ring 50% range Weekly")==-1){ ObjectCreate("Line ring 50% range Weekly",OBJ_TEXT, 0, 0, 0); }
// ObjectSetText("Line ring 50% range Weekly", " " + DoubleToStr(( 50), 0)+" % W " + TimeToStr( CurTime(), TIME_MINUTES ), 8,"Arial",SlateGray);
// ObjectSet("Line ring 50% range Weekly",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1);
// ObjectSet("Line ring 50% range Weekly",OBJPROP_TIME1,iTime(NULL,PERIOD_H1,15)) ; ObjectSet("Line ring 50% range Weekly",OBJPROP_PRICE1,High_Low_W);
//+-----------------------------------------------------------------------------------------------
double LimitkaW = High_Low_W;
if (Bid-Alert_sound_percents*nPoint <= LimitkaW && Bid+Alert_sound_percents*nPoint >= LimitkaW) { PlaySound (Alert_ring);
if (PopupON) Alert (Symbol()," price within ",AlertLine_HL_points," pips of ","Line 50% range Weekly");
}
//+-------------------------------------------------------------------------------------------------
double High_Low_MN1 = iLow(NULL,PERIOD_MN1,0) + (iHigh(NULL,PERIOD_MN1,0)-iLow(NULL,PERIOD_MN1,0))/2 ;
//+-----------------------------------------------------------------------------------------------
if (ObjectFind("Line 50% Month range ")==-1){ ObjectCreate("Line 50% Month range ", OBJ_TREND, 0, 0,0, 0,0);
} ObjectSet("Line 50% Month range ",OBJPROP_TIME1,iTime(NULL,PERIOD_D1,1) ); ObjectSet("Line 50% Month range ",OBJPROP_PRICE1,High_Low_MN1 );
ObjectSet("Line 50% Month range ",OBJPROP_TIME2,iTime(NULL,PERIOD_D1,0)); ObjectSet("Line 50% Month range ",OBJPROP_PRICE2,High_Low_MN1 );
ObjectSet("Line 50% Month range ", OBJPROP_COLOR, Chocolate); ObjectSet("Line 50% Month range ",OBJPROP_RAY,0); ObjectSet("Line 50% Month range ",OBJPROP_STYLE,2);
double LimitkaM = High_Low_MN1;
if (Bid-Alert_sound_percents*nPoint <= LimitkaM && Bid+Alert_sound_percents*nPoint >= LimitkaM) { PlaySound (Alert_ring);
if (PopupON) Alert (Symbol()," price within ",AlertLine_HL_points," pips of ","Line 50% Month range ");
}
//+-------------------------------------------------------------------------------------------------
if (range_0_1_2_bars) ObjectCreate("range between High of 0 bar and price",OBJ_TEXT, 0, iTime(NULL,0,0), High[0]+22*nPoint);
ObjectSetText("range between High of 0 bar and price",DoubleToStr(High[0]/nPoint-Bid/nPoint,0),8,"Arial",SlateGray );
ObjectSet("range between High of 0 bar and price",OBJPROP_TIMEFRAMES,OBJ_PERIOD_H4 );
//+---
if (range_0_1_2_bars) ObjectCreate("range between Low of0 bar and price",OBJ_TEXT, 0, iTime(NULL,0,0), Low[0]-11*nPoint);
ObjectSetText("range between Low of0 bar and price",DoubleToStr(Bid/nPoint-Low[0]/nPoint,0),8,"Arial",SlateGray);
ObjectSet("range between Low of0 bar and price",OBJPROP_TIMEFRAMES,OBJ_PERIOD_H4 );
//+---
if (range_0_1_2_bars) ObjectCreate("range between High of 1 bar and price",OBJ_TEXT, 0, iTime(NULL,0,1), High[1]+22*nPoint);
ObjectSetText("range between High of 1 bar and price",DoubleToStr(High[1]/nPoint-Bid/nPoint,0),8,"Arial",SlateGray);
ObjectSet("range between High of 1 bar and price",OBJPROP_TIMEFRAMES,OBJ_PERIOD_H4|OBJ_PERIOD_D1 );
//+---
if (range_0_1_2_bars) ObjectCreate("range between Low of 1 bar and price",OBJ_TEXT, 0, iTime(NULL,0,1), Low[1]-11*nPoint);
ObjectSetText("range between Low of 1 bar and price",DoubleToStr(Bid/nPoint-Low[1]/nPoint,0),8,"Arial",SlateGray);
ObjectSet("range between Low of 1 bar and price",OBJPROP_TIMEFRAMES,OBJ_PERIOD_H4|OBJ_PERIOD_D1 );
//+---
if (range_0_1_2_bars) ObjectCreate("range between High of 2 bar and price",OBJ_TEXT, 0, iTime(NULL,0,2), High[2]+22*nPoint);
ObjectSetText( "range between High of 2 bar and price",DoubleToStr(High[2]/nPoint-Bid/nPoint,0),8,"Arial",SlateGray);
ObjectSet("range between High of 2 bar and price",OBJPROP_TIMEFRAMES,OBJ_PERIOD_H4|OBJ_PERIOD_D1 );
//+---
if (range_0_1_2_bars) ObjectCreate("range between Low of 2 bar and price",OBJ_TEXT, 0, iTime(NULL,0,2), Low[2]-11*nPoint);
ObjectSetText( "range between Low of 2 bar and price",DoubleToStr(Bid/nPoint-Low[2]/nPoint,0),8,"Arial",SlateGray);
ObjectSet("range between Low of 2 bar and price",OBJPROP_TIMEFRAMES,OBJ_PERIOD_H4|OBJ_PERIOD_D1 );
//+---
// ???????????????????????????????????????????????????????????????????????????????????????
if (n_PERIOD) if (ObjectFind("Close of 0 bar n_PERIOD")==-1){ ObjectCreate("Close of 0 bar n_PERIOD",OBJ_TREND,0,0,0,0,0);
ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_RAY,false); ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_STYLE,2); ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_COLOR,SlateGray);
ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
} ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_TIME1,iTime(NULL,PERIOD_,0)-60);ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_PRICE1, iClose(NULL,PERIOD_,1));
ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_TIME2,iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60); ObjectSet("Close of 0 bar n_PERIOD",OBJPROP_PRICE2, iClose(NULL,PERIOD_,0));
//+---------------------------
if (n_PERIOD) if (ObjectFind("High of 0 bar n_PERIOD")==-1){ ObjectCreate("High of 0 bar n_PERIOD",OBJ_CHANNEL,0,0,0,0,0);
ObjectSet("High of 0 bar n_PERIOD",OBJPROP_RAY,false); ObjectSet("High of 0 bar n_PERIOD",OBJPROP_STYLE,2); ObjectSet("High of 0 bar n_PERIOD",OBJPROP_COLOR,SlateGray);
ObjectSet("High of 0 bar n_PERIOD",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1);
} ObjectSet("High of 0 bar n_PERIOD",OBJPROP_TIME1, iTime(NULL,PERIOD_,0)-60); ObjectSet("High of 0 bar n_PERIOD",OBJPROP_PRICE1, iHigh(NULL,PERIOD_,0));
ObjectSet("High of 0 bar n_PERIOD",OBJPROP_TIME2, iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60); ObjectSet("High of 0 bar n_PERIOD",OBJPROP_PRICE2, iHigh(NULL,PERIOD_,0));
ObjectSet("High of 0 bar n_PERIOD",OBJPROP_TIME3,iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60); ObjectSet("High of 0 bar n_PERIOD",OBJPROP_PRICE3, iHigh(NULL,PERIOD_,0));
//+---------------------------
if (n_PERIOD) if (ObjectFind("Low of 0 bar n_PERIOD")==-1){ ObjectCreate("Low of 0 bar n_PERIOD",OBJ_CHANNEL,0,0,0,0,0);
ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_RAY,false); ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_STYLE,2); ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_COLOR,SlateGray);
ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
} ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_TIME1,iTime(NULL,PERIOD_,0)-60); ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_PRICE1, iLow(NULL,PERIOD_,0));
ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_TIME2,iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60); ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_PRICE2, iLow(NULL,PERIOD_,0));
ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_TIME3,iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60); ObjectSet("Low of 0 bar n_PERIOD",OBJPROP_PRICE3, iLow(NULL,PERIOD_,0));
//+--
if (n_PERIOD) if (ObjectFind("range of 0 bar_PERIOD")==-1){ ObjectCreate("range of 0 bar_PERIOD",OBJ_TREND,0,0,0,0,0);
ObjectSet("range of 0 bar_PERIOD",OBJPROP_RAY,false); ObjectSet("range of 0 bar_PERIOD",OBJPROP_STYLE,2);
ObjectSet("range of 0 bar_PERIOD",OBJPROP_COLOR,SlateGray);
ObjectSet("range of 0 bar_PERIOD",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1);
} ObjectSet("range of 0 bar_PERIOD",OBJPROP_TIME1,iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60); ObjectSet("range of 0 bar_PERIOD",OBJPROP_PRICE1, iHigh(NULL,PERIOD_,0));
ObjectSet("range of 0 bar_PERIOD",OBJPROP_TIME2,iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60); ObjectSet("range of 0 bar_PERIOD",OBJPROP_PRICE2, iLow(NULL,PERIOD_,0));
//+--
if (n_PERIOD) ObjectCreate("range of 1st bar",OBJ_TREND,0,iTime(NULL,PERIOD_,0)-60,iHigh(NULL,PERIOD_,1),iTime(NULL,PERIOD_,0)-60,iLow(NULL,PERIOD_,1));
ObjectSet("range of 1st bar",OBJPROP_COLOR,SlateGray); ObjectSet("range of 1st bar",OBJPROP_STYLE,2); ObjectSet("range of 1st bar",OBJPROP_RAY,false);
ObjectSet("range of 1st bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5 | OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+--
if (n_PERIOD) ObjectCreate("Äèàïàçîí 2 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,1)-60, iHigh(NULL,PERIOD_,2),iTime(NULL,PERIOD_,1)-60,iLow(NULL,PERIOD_,2));
ObjectSet("Äèàïàçîí 2 bar",OBJPROP_COLOR,SlateGray); ObjectSet("Äèàïàçîí 2 bar",OBJPROP_STYLE,2); ObjectSet("Äèàïàçîí 2 bar",OBJPROP_RAY,false);
ObjectSet("Äèàïàçîí 2 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5 | OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+--
if (n_PERIOD) ObjectCreate("Trendline Close",OBJ_CHANNEL,0,iTime(NULL,PERIOD_,1)-60,iClose(NULL,PERIOD_,2),iTime(NULL,PERIOD_,0)-60,iClose(NULL,PERIOD_,1),iTime(NULL,PERIOD_,0)-60,iClose(NULL,PERIOD_,1));
ObjectSet("Trendline Close",OBJPROP_RAY,false); ObjectSet("Trendline Close",OBJPROP_STYLE,2); ObjectSet("Trendline Close",OBJPROP_COLOR,SlateGray);
ObjectSet("Trendline Close",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+--
if (n_PERIOD) ObjectCreate("Trendline LOW",OBJ_CHANNEL,0,iTime(NULL,PERIOD_,1)-60, iLow(NULL,PERIOD_,2),iTime(NULL,PERIOD_,0)-60,iLow(NULL,PERIOD_,1),iTime(NULL,PERIOD_,0)-60,iLow(NULL,PERIOD_,1));
ObjectSet("Trendline LOW",OBJPROP_RAY,false); ObjectSet("Trendline LOW",OBJPROP_STYLE,2); ObjectSet("Trendline LOW",OBJPROP_COLOR,SlateGray);
ObjectSet("Trendline LOW",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1);
//+---
if (n_PERIOD) ObjectCreate("Trendline High",OBJ_CHANNEL,0,iTime(NULL,PERIOD_,1)-60,iHigh(NULL,PERIOD_,2),iTime(NULL,PERIOD_,0)-60,iHigh(NULL,PERIOD_,1),iTime(NULL,PERIOD_,0)-60,iHigh(NULL,PERIOD_,1));
ObjectSet("Trendline High",OBJPROP_RAY,false); ObjectSet("Trendline High",OBJPROP_STYLE,2); ObjectSet("Trendline High",OBJPROP_COLOR,SlateGray);
ObjectSet("Trendline High",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1);
//+---------------------------
if (n_PERIOD) ObjectCreate("Close 1 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,0)-60,iClose(NULL,PERIOD_,1),iTime(NULL,PERIOD_,0)+(PERIOD_*60)-60,iClose(NULL,PERIOD_,1));
ObjectSet("Close 1 bar",OBJPROP_RAY,false); ObjectSet("Close 1 bar",OBJPROP_STYLE,2); ObjectSet("Close 1 bar",OBJPROP_COLOR,Red);
ObjectSet("Close 1 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+---------------------------
if (n_PERIOD) ObjectCreate("Close 2 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,1)-60, iClose(NULL,PERIOD_,2),iTime(NULL,PERIOD_,0) -60,iClose(NULL,PERIOD_,2));
ObjectSet("Close 2 bar",OBJPROP_RAY,false); ObjectSet("Close 2 bar",OBJPROP_STYLE,2); ObjectSet("Close 2 bar",OBJPROP_COLOR,Red);
ObjectSet("Close 2 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+---------------------------
if (n_PERIOD) ObjectCreate("Close 3 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,2)-60, iClose(NULL,PERIOD_,3),iTime(NULL,PERIOD_,1) -60, iClose(NULL,PERIOD_,3));
ObjectSet("Close 3 bar",OBJPROP_RAY,false); ObjectSet("Close 3 bar",OBJPROP_STYLE,2); ObjectSet("Close 3 bar",OBJPROP_COLOR,Red);
ObjectSet("Close 3 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+---------------------------
if (n_PERIOD) ObjectCreate("Close 4 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,3)-60,iClose(NULL,PERIOD_,4),iTime(NULL,PERIOD_,2) -60, iClose(NULL,PERIOD_,4));
ObjectSet("Close 4 bar",OBJPROP_RAY,false);ObjectSet("Close 4 bar",OBJPROP_STYLE,2); ObjectSet("Close 4 bar",OBJPROP_COLOR,Red);
ObjectSet("Close 4 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+---------------------------
if (n_PERIOD) ObjectCreate("Close 5 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,4)-60,iClose(NULL,PERIOD_,5),iTime(NULL,PERIOD_,3) -60,iClose(NULL,PERIOD_,5));
ObjectSet("Close 5 bar",OBJPROP_RAY,false); ObjectSet("Close 5 bar",OBJPROP_STYLE,2); ObjectSet("Close 5 bar",OBJPROP_COLOR,Red);
ObjectSet("Close 5 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+---------------------------
if (n_PERIOD) ObjectCreate("Close 6 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,5)-60 , iClose(NULL,PERIOD_,6),iTime(NULL,PERIOD_,4) -60,iClose(NULL,PERIOD_,6));
ObjectSet("Close 6 bar",OBJPROP_RAY,false); ObjectSet("Close 6 bar",OBJPROP_STYLE,2); ObjectSet("Close 6 bar",OBJPROP_COLOR,Red);
ObjectSet("Close 6 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+---------------------------
if (n_PERIOD) ObjectCreate("Close 7 bar",OBJ_TREND,0,iTime(NULL,PERIOD_,6),iClose(NULL,PERIOD_,7),iTime(NULL,PERIOD_,5),iClose(NULL,PERIOD_,7));
ObjectSet("Close 7 bar",OBJPROP_RAY,false); ObjectSet("Close 7 bar",OBJPROP_STYLE,2); ObjectSet("Close 7 bar",OBJPROP_COLOR,Red);
ObjectSet("Close 7 bar",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
//+---------------------------
//+----
if (Percent_UpDn) ObjectCreate("percent Max Growth Week",OBJ_TEXT, 0, iTime(NULL,PERIOD_W1,0)+100800, iHigh(NULL,PERIOD_W1,0)+ 11*nPoint);
ObjectSetText("percent Max Growth Week"," ðîñò "+DoubleToStr ((iHigh(NULL,PERIOD_W1,0)-iOpen(NULL,PERIOD_W1,0))/(iOpen(NULL,PERIOD_W1,0)/100), 2)+" % çà íåäåëþ",8,"Arial",SlateGray);
ObjectSet("percent Max Growth Week",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 );
//+----
if (Percent_UpDn) ObjectCreate("percent Max Fall Week",OBJ_TEXT, 0, iTime(NULL,PERIOD_W1,0)+100800, iLow(NULL,PERIOD_W1,0)- 11*nPoint);
ObjectSetText("percent Max Fall Week"," ïàäåíèå "+DoubleToStr((iLow(NULL,PERIOD_W1,0)-iOpen(NULL,PERIOD_W1,0))/(iOpen(NULL,PERIOD_W1,0)/100), 2)+" % çà íåäåëþ",8,"Arial",SlateGray);
ObjectSet("percent Max Fall Week",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 );
//+----
if (Percent_UpDn) ObjectCreate("percent Max Growth Month",OBJ_TEXT, 0, iTime(NULL,PERIOD_MN1,0)+100800, iHigh(NULL,PERIOD_MN1,0)+ 11*nPoint);
ObjectSetText("percent Max Growth Month"," ìàêñ ðîñò "+DoubleToStr((iHigh(NULL,PERIOD_MN1,0)-iOpen(NULL,PERIOD_MN1,0))/(iOpen(NULL,PERIOD_MN1,0)/100), 2)+" % çà ìåñÿö",8,"Arial",SlateGray);
ObjectSet("percent Max Growth Month",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1|OBJ_PERIOD_H4);
//+----
if (Percent_UpDn) ObjectCreate("percent Max Fall Month",OBJ_TEXT, 0, iTime(NULL,PERIOD_MN1,0)+201600, iLow(NULL,PERIOD_MN1,0)- 11*nPoint);
ObjectSetText("percent Max Fall Month","ìàêñ ïàäåíèå "+DoubleToStr((iLow(NULL,PERIOD_MN1,0)-iOpen(NULL,PERIOD_MN1,0))/(iOpen(NULL,PERIOD_MN1,0)/100), 2)+" % çà ìåñÿö",8,"Arial",SlateGray);
ObjectSet("percent Max Fall Month",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1|OBJ_PERIOD_H4);
//+--
//+----
if (Percent_UpDn) ObjectCreate("percent Max Growth - Last Month",OBJ_TEXT, 0, iTime(NULL,PERIOD_MN1,1)+201600, iHigh(NULL,PERIOD_MN1,1)+ 11*nPoint);
ObjectSetText("percent Max Growth - Last Month"," ìàêñ ðîñò "+DoubleToStr((iHigh(NULL,PERIOD_MN1,1)-iOpen(NULL,PERIOD_MN1,1))/(iOpen(NULL,PERIOD_MN1,1)/100), 2)+" % çà ìåñÿö",8,"Arial",SlateGray);
ObjectSet("percent Max Growth - Last Month",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1|OBJ_PERIOD_H4);
//+----
if (Percent_UpDn) ObjectCreate("percent Max Fall - Last Month",OBJ_TEXT, 0, iTime(NULL,PERIOD_MN1,1)+201600, iLow(NULL,PERIOD_MN1,1)- 11*nPoint);
ObjectSetText("percent Max Fall - Last Month","ìàêñ ïàäåíèå "+DoubleToStr((iLow(NULL,PERIOD_MN1,1)-iOpen(NULL,PERIOD_MN1,1))/(iOpen(NULL,PERIOD_MN1,1)/100), 2)+" % çà ìåñÿö",8,"Arial",SlateGray);
ObjectSet("percent Max Fall - Last Month",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1|OBJ_PERIOD_H4);
//+--
ObjectCreate("Month Open",OBJ_TREND,0,iTime(NULL,PERIOD_MN1,0),iOpen(NULL,PERIOD_MN1,0),iTime(NULL,PERIOD_D1,0)+172800,iOpen(NULL,PERIOD_MN1,0));
ObjectSet("Month Open",OBJPROP_RAY,false); ObjectSet("Month Open",OBJPROP_STYLE,2);
ObjectSet("Month Open",OBJPROP_COLOR,Chocolate);
ObjectSet("Month Open",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_W1|OBJ_PERIOD_M30|OBJ_PERIOD_H1|OBJ_PERIOD_H4|OBJ_PERIOD_D1);
//+--
ObjectCreate("Last Month Open",OBJ_TREND, 0,iTime(NULL,PERIOD_MN1,1),iOpen(NULL,PERIOD_MN1,1),iTime(NULL,PERIOD_MN1,0),iOpen(NULL,PERIOD_MN1,1));
ObjectSet("Last Month Open",OBJPROP_RAY,false); ObjectSet("Last Month Open",OBJPROP_STYLE,2);
ObjectSet("Last Month Open",OBJPROP_COLOR,Chocolate);
ObjectSet("Last Month Open",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_W1|OBJ_PERIOD_M30|OBJ_PERIOD_H1|OBJ_PERIOD_H4|OBJ_PERIOD_D1);
//+--
ObjectCreate("2MonthAgo Open",OBJ_TREND, 0,iTime(NULL,PERIOD_MN1,2),iOpen(NULL,PERIOD_MN1,2),iTime(NULL,PERIOD_MN1,1),iOpen(NULL,PERIOD_MN1,2));
ObjectSet("2MonthAgo Open",OBJPROP_RAY,false); ObjectSet("2MonthAgo Open",OBJPROP_STYLE,2);
ObjectSet("2MonthAgo Open",OBJPROP_COLOR,Chocolate);
ObjectSet("2MonthAgo Open",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_W1|OBJ_PERIOD_M30|OBJ_PERIOD_H1|OBJ_PERIOD_H4|OBJ_PERIOD_D1);
//+---------------------------------------------------------------------------------------
ObjectCreate("Week Open",OBJ_TREND,0,iTime(NULL,PERIOD_W1,0),iOpen(NULL,PERIOD_W1,0),iTime(NULL,PERIOD_M5,1)+6000,iOpen(NULL,PERIOD_W1,0));
ObjectSet("Week Open",OBJPROP_RAY,false); ObjectSet("Week Open",OBJPROP_STYLE,2);
ObjectSet("Week Open",OBJPROP_COLOR,Blue);
//+--
ObjectCreate("1WeekAgo Open",OBJ_TREND,0,iTime(NULL,PERIOD_W1,1),iOpen(NULL,PERIOD_W1,1),iTime(NULL,PERIOD_W1,0),iOpen(NULL,PERIOD_W1,1));
ObjectSet("1WeekAgo Open",OBJPROP_RAY,false); ObjectSet("1WeekAgo Open",OBJPROP_STYLE,2);
ObjectSet("1WeekAgo Open",OBJPROP_COLOR,Blue);
//+--
ObjectCreate("2WeekAgo Open",OBJ_TREND,0,iTime(NULL,PERIOD_W1,2),iOpen(NULL,PERIOD_W1,2),iTime(NULL,PERIOD_W1,1),iOpen(NULL,PERIOD_W1,2));
ObjectSet("2WeekAgo Open",OBJPROP_RAY,false); ObjectSet("2WeekAgo Open",OBJPROP_STYLE,2);
ObjectSet("2WeekAgo Open",OBJPROP_COLOR,Blue);
//+------------------------------------------------------------------+
//===== Åñëè öåíà Weekly ñðàçó íå äîøëà äî this óðîâíÿ, çíà÷èò ïîíåñåòñÿ â äðóãóþ ñòîðîíó = ïðîâåðÿéòå
ObjectCreate("level of expected close, Weekly 0",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0)+86340,iClose(NULL,PERIOD_W1,1)+ (iClose(NULL,PERIOD_W1,1)-iClose(NULL,PERIOD_W1,2)));
ObjectSet("level of expected close, Weekly 0",OBJPROP_ARROWCODE,115); ObjectSet("level of expected close, Weekly 0",OBJPROP_COLOR,Blue);
ObjectSet("level of expected close, Weekly 0",OBJPROP_WIDTH ,1);
ObjectSet("level of expected close, Weekly 0",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//
ObjectCreate("level of expected open, next Weekly 0-1",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0)+86340,iOpen(NULL,PERIOD_W1,0)+ (iOpen(NULL,PERIOD_W1,0)-iOpen(NULL,PERIOD_W1,1)));
ObjectSet("level of expected open, next Weekly 0-1",OBJPROP_ARROWCODE,4); // 167 159 115 4 5
ObjectSet("level of expected open, next Weekly 0-1",OBJPROP_WIDTH ,1); ObjectSet("level of expected open, next Weekly 0-1",OBJPROP_COLOR,SlateGray);
ObjectSet("level of expected open, next Weekly 0-1",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//+------------------------------------------------------------------+
//
ObjectCreate("calculated level Open, next month",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0)+86340,iOpen(NULL,PERIOD_MN1,0)+ (iOpen(NULL,PERIOD_MN1,0)-iOpen(NULL,PERIOD_MN1,1)));
ObjectSet("calculated level Open, next month",OBJPROP_ARROWCODE,115); ObjectSet("calculated level Open, next month",OBJPROP_COLOR,Red);
ObjectSet("calculated level Open, next month",OBJPROP_WIDTH ,1);
ObjectSet("calculated level Open, next month",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 | OBJ_PERIOD_H4 | OBJ_PERIOD_D1 );
//+------------------------------------------------------------------+
ObjectCreate("calculated level Open, this month",OBJ_ARROW,0,iTime(NULL,PERIOD_MN1,0),iOpen(NULL,PERIOD_MN1,1)+ (iOpen(NULL,PERIOD_MN1,1)-iOpen(NULL,PERIOD_MN1,2)));
ObjectSet("calculated level Open, this month",OBJPROP_ARROWCODE,115); ObjectSet("calculated level Open, this month",OBJPROP_COLOR,Red);
ObjectSet("calculated level Open, this month",OBJPROP_WIDTH ,1);
ObjectSet("calculated level Open, this month",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M30 | OBJ_PERIOD_H1 | OBJ_PERIOD_H4 | OBJ_PERIOD_D1 );
//+------------------------------------------------------------------+
ObjectCreate("calculated level Open, last month",OBJ_ARROW,0,iTime(NULL,PERIOD_MN1,1),iOpen(NULL,PERIOD_MN1,2)+ (iOpen(NULL,PERIOD_MN1,2)-iOpen(NULL,PERIOD_MN1,3)));
ObjectSet("calculated level Open, last month",OBJPROP_ARROWCODE,115); ObjectSet("calculated level Open, last month",OBJPROP_COLOR,Red);
ObjectSet("calculated level Open, last month",OBJPROP_WIDTH ,1);
ObjectSet("calculated level Open, last month",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M30 | OBJ_PERIOD_H1 | OBJ_PERIOD_H4 | OBJ_PERIOD_D1 );
//+------------------------------------------------------------------+
ObjectCreate("expected Close, last Weekly 1",OBJ_ARROW,0,iTime(NULL,PERIOD_W1,0)+86340,iClose(NULL,PERIOD_W1,2)+ (iClose(NULL,PERIOD_W1,2)-iClose(NULL,PERIOD_W1,3)));
ObjectSet("expected Close, last Weekly 1",OBJPROP_ARROWCODE,115); ObjectSet("expected Close, last Weekly 1",OBJPROP_COLOR,Blue);
ObjectSet("expected Close, last Weekly 1",OBJPROP_WIDTH ,1);
ObjectSet("expected Close, last Weekly 1",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//
ObjectCreate("Óðîâåíü ðàññ÷èòàííîãî îòêðûòèÿ, this Week",OBJ_ARROW,0,iTime(NULL,PERIOD_W1,0)+86340,iOpen(NULL,PERIOD_W1,1)+ (iOpen(NULL,PERIOD_W1,1)-iOpen(NULL,PERIOD_W1,2)));
ObjectSet("Óðîâåíü ðàññ÷èòàííîãî îòêðûòèÿ, this Week",OBJPROP_ARROWCODE,4); ObjectSet("Óðîâåíü ðàññ÷èòàííîãî îòêðûòèÿ, this Week",OBJPROP_COLOR,SlateGray);
ObjectSet("Óðîâåíü ðàññ÷èòàííîãî îòêðûòèÿ, this Week",OBJPROP_WIDTH ,1);
ObjectSet("Óðîâåíü ðàññ÷èòàííîãî îòêðûòèÿ, this Week",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//+------------------------------------------------------------------+
ObjectCreate("level of expected close, Weekly 2",OBJ_ARROW,0,iTime(NULL,PERIOD_W1,1)+86340,iClose(NULL,PERIOD_W1,3)+ (iClose(NULL,PERIOD_W1,3)-iClose(NULL,PERIOD_W1,4)));
ObjectSet("level of expected close, Weekly 2",OBJPROP_ARROWCODE,115); // 167 159 115 4 5
ObjectSet("level of expected close, Weekly 2",OBJPROP_WIDTH ,1); ObjectSet("level of expected close, Weekly 2",OBJPROP_COLOR,Blue);
ObjectSet("level of expected close, Weekly 2",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//+---
ObjectCreate("level of expected open, Weekly 1",OBJ_ARROW,0,iTime(NULL,PERIOD_W1,1)+86340,iOpen(NULL,PERIOD_W1,2)+ (iOpen(NULL,PERIOD_W1,2)-iOpen(NULL,PERIOD_W1,3)));
ObjectSet("level of expected open, Weekly 1",OBJPROP_ARROWCODE,4); ObjectSet("level of expected open, Weekly 1",OBJPROP_COLOR,SlateGray);
ObjectSet("level of expected open, Weekly 1",OBJPROP_WIDTH ,1);
ObjectSet("level of expected open, Weekly 1",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
ObjectCreate("level of expected close, Weekly 3",OBJ_ARROW,0,iTime(NULL,PERIOD_W1,2)+86340,iClose(NULL,PERIOD_W1,4)+ (iClose(NULL,PERIOD_W1,4)-iClose(NULL,PERIOD_W1,5)));
ObjectSet("level of expected close, Weekly 3",OBJPROP_ARROWCODE,115); // 167 159 115 4 5
ObjectSet("level of expected close, Weekly 3",OBJPROP_WIDTH ,1); ObjectSet("level of expected close, Weekly 3",OBJPROP_COLOR,Blue);
ObjectSet("level of expected close, Weekly 3",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//+---
ObjectCreate("level of expected open, Weekly 2",OBJ_ARROW,0,iTime(NULL,PERIOD_W1,2)+86340,iOpen(NULL,PERIOD_W1,3)+ (iOpen(NULL,PERIOD_W1,3)-iOpen(NULL,PERIOD_W1,4)));
ObjectSet("level of expected open, Weekly 2",OBJPROP_ARROWCODE,4); ObjectSet("level of expected open, Weekly 2",OBJPROP_COLOR,SlateGray);
ObjectSet("level of expected open, Weekly 2",OBJPROP_WIDTH ,1);
ObjectSet("level of expected open, Weekly 2",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15| OBJ_PERIOD_M30 | OBJ_PERIOD_H1 );
//+------------------------------------------------------------------+
ObjectCreate("Today\'s Open",OBJ_TREND,0,iTime(NULL,PERIOD_H4,0),iOpen(NULL,PERIOD_D1,0),iTime(NULL,PERIOD_M5,1)+6000,iOpen(NULL,PERIOD_D1,0));
ObjectSet("Today\'s Open",OBJPROP_RAY,false); ObjectSet("Today\'s Open",OBJPROP_STYLE,2); ObjectSet("Today\'s Open",OBJPROP_COLOR,Blue);
//+---
//===== Åñëè öåíà íå äîøëà äî this óðîâíÿ, çíà÷èò ïîíåñåòñÿ â äðóãóþ ñòîðîíó = ïðîâåðÿéòå
ObjectCreate("expected Close level today",OBJ_ARROW,0, iTime(NULL,PERIOD_D1,0)+86200, iClose(NULL,PERIOD_D1,1)+ (iClose(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,2)));
ObjectSet("expected Close level today",OBJPROP_ARROWCODE,115); ObjectSet("expected Close level today",OBJPROP_COLOR,Blue);
ObjectSet("expected Close level today",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1 );
//+---
ObjectCreate("expected Close level yesterday",OBJ_ARROW,0, iTime(NULL,PERIOD_D1,1)+86200, iClose(NULL,PERIOD_D1,2)+ (iClose(NULL,PERIOD_D1,2)-iClose(NULL,PERIOD_D1,3)));
ObjectSet("expected Close level yesterday",OBJPROP_ARROWCODE,115); ObjectSet("expected Close level yesterday",OBJPROP_COLOR,Blue);
ObjectSet("expected Close level yesterday",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1 );
//+---
ObjectCreate("expected Close level 2days ago",OBJ_ARROW,0, iTime(NULL,PERIOD_D1,2)+86200, iClose(NULL,PERIOD_D1,3)+ (iClose(NULL,PERIOD_D1,3)-iClose(NULL,PERIOD_D1,4)));
ObjectSet("expected Close level 2days ago",OBJPROP_ARROWCODE,115); ObjectSet("expected Close level 2days ago",OBJPROP_COLOR,Blue);
ObjectSet("expected Close level 2days ago",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1 );
//+---
ObjectCreate("Close 3 Day íàçàä",OBJ_TREND,0,iTime(NULL,PERIOD_H4,1),iClose(NULL,PERIOD_D1,3),iTime(NULL,PERIOD_M5,1)+6000,iClose(NULL,PERIOD_D1,3));
ObjectSet("Close 3 Day íàçàä",OBJPROP_RAY,false); ObjectSet("Close 3 Day íàçàä",OBJPROP_STYLE,2); ObjectSet("Close 3 Day íàçàä",OBJPROP_COLOR,Blue);
//+---
ObjectCreate("Close 2days ago",OBJ_TREND,0,iTime(NULL,PERIOD_H4,1),iClose(NULL,PERIOD_D1,2),iTime(NULL,PERIOD_M5,1)+6000,iClose(NULL,PERIOD_D1,2));
ObjectSet("Close 2days ago",OBJPROP_RAY,false); ObjectSet("Close 2days ago",OBJPROP_STYLE,2);
ObjectSet("Close 2days ago",OBJPROP_COLOR,Magenta);
//+--
ObjectCreate("Low yesterday",OBJ_TREND, 0,iTime(NULL,PERIOD_H4,1), iLow(NULL,PERIOD_D1,1), iTime(NULL,PERIOD_M5,1)+6000, iLow(NULL,PERIOD_D1,1));
ObjectSet("Low yesterday",OBJPROP_RAY,false); ObjectSet("Low yesterday",OBJPROP_STYLE,2); ObjectSet("Low yesterday",OBJPROP_COLOR,Blue);
//+--
ObjectCreate("High yesterday",OBJ_TREND,0,iTime(NULL,PERIOD_H4,1),iHigh(NULL,PERIOD_D1,1),iTime(NULL,PERIOD_M5,1)+6000,iHigh(NULL,PERIOD_D1,1));
ObjectSet("High yesterday",OBJPROP_RAY,false); ObjectSet("High yesterday",OBJPROP_STYLE,2); ObjectSet("High yesterday",OBJPROP_COLOR,Red);
//+------
ObjectCreate("High 2days ago",OBJ_TREND,0,iTime(NULL,PERIOD_H4,1),iHigh(NULL,PERIOD_D1,2),iTime(NULL,PERIOD_M5,1)+6000,iHigh(NULL,PERIOD_D1,2));
ObjectSet("High 2days ago",OBJPROP_RAY,false); ObjectSet("High 2days ago",OBJPROP_STYLE,2); ObjectSet("High 2days ago",OBJPROP_COLOR,Red);
//+---
ObjectCreate("Low 2days ago",OBJ_TREND,0,iTime(NULL,PERIOD_H4,1),iLow(NULL,PERIOD_D1,2),iTime(NULL,PERIOD_M5,1)+6000,iLow(NULL,PERIOD_D1,2));
ObjectSet("Low 2days ago",OBJPROP_RAY,false); ObjectSet("Low 2days ago",OBJPROP_STYLE,2); ObjectSet("Low 2days ago",OBJPROP_COLOR,Blue);
//+------------------------------------------------------------------+
ObjectCreate("High_last_week", OBJ_TREND,0,iTime(NULL,PERIOD_H4,1),iHigh(NULL,PERIOD_W1,1),iTime(NULL,PERIOD_M5,1)+6000,iHigh(NULL,PERIOD_W1,1));
ObjectSet("High_last_week", OBJPROP_COLOR, Red); ObjectSet("High_last_week",OBJPROP_RAY,0); ObjectSet("High_last_week",OBJPROP_STYLE,2);
//+---------
ObjectCreate("Low last_week", OBJ_TREND,0,iTime(NULL,PERIOD_H4,1),iLow(NULL,PERIOD_W1,1),iTime(NULL,PERIOD_M5,1)+6000,iLow(NULL,PERIOD_W1,1));
ObjectSet("Low last_week", OBJPROP_COLOR, Blue); ObjectSet("Low last_week",OBJPROP_RAY,0); ObjectSet("Low last_week",OBJPROP_STYLE,2);
//+---------
//+------------------------------------------------------------------+
ObjectCreate("50% last_week", OBJ_TREND,0,iTime(NULL,PERIOD_H4,5),iHigh(NULL,PERIOD_W1,1)*0.5 +iLow(NULL,PERIOD_W1,1)*0.5,iTime(NULL,PERIOD_H4,3),iHigh(NULL,PERIOD_W1,1)*0.5 +iLow(NULL,PERIOD_W1,1)*0.5);
ObjectSet("50% last_week", OBJPROP_COLOR, Chocolate); ObjectSet("50% last_week",OBJPROP_RAY,0); ObjectSet("50% last_week",OBJPROP_STYLE,0);
//+------------------------------------------------------------------+
ObjectCreate("High last month", OBJ_TREND,0,iTime(NULL,PERIOD_D1,1),iHigh(NULL,PERIOD_MN1,1),iTime(NULL,PERIOD_D1,0),iHigh(NULL,PERIOD_MN1,1));
ObjectSet("High last month", OBJPROP_COLOR, Chocolate); ObjectSet("High last month",OBJPROP_RAY,0); ObjectSet("High last month",OBJPROP_STYLE,2);
//+---------
//+------------------------------------------------------------------+
ObjectCreate("Low last month", OBJ_TREND,0,iTime(NULL,PERIOD_D1,1),iLow(NULL,PERIOD_MN1,1),iTime(NULL,PERIOD_D1,0),iLow(NULL,PERIOD_MN1,1));
ObjectSet("Low last month", OBJPROP_COLOR, Chocolate); ObjectSet("Low last month",OBJPROP_RAY,0); ObjectSet("Low last month",OBJPROP_STYLE,2);
//+---------
if (ObjectFind("Ðàññòîÿíèå îò öåíû äî High last Week")==-1){ ObjectCreate("Ðàññòîÿíèå îò öåíû äî High last Week",OBJ_TEXT, 0, 0, 0);
} ObjectSetText("Ðàññòîÿíèå îò öåíû äî High last Week",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble
(ObjectGetValueByShift("High_last_week",0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray);
ObjectSet("Ðàññòîÿíèå îò öåíû äî High last Week",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("High_last_week",0),Digits)+5*nPoint);
ObjectSet("Ðàññòîÿíèå îò öåíû äî High last Week",OBJPROP_TIME1,iTime(NULL,PERIOD_H1,1));
ObjectSet("Ðàññòîÿíèå îò öåíû äî High last Week", OBJPROP_COLOR, Magenta);
//+-------
if (ObjectFind("Ðàññòîÿíèå îò öåíû äî Low last Week")==-1){ ObjectCreate("Ðàññòîÿíèå îò öåíû äî Low last Week",OBJ_TEXT, 0, 0, 0);
} ObjectSetText("Ðàññòîÿíèå îò öåíû äî Low last Week",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble
(ObjectGetValueByShift("Low last_week",0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray);
ObjectSet("Ðàññòîÿíèå îò öåíû äî Low last Week",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("Low last_week",0),Digits)-2*nPoint);
ObjectSet("Ðàññòîÿíèå îò öåíû äî Low last Week",OBJPROP_TIME1,iTime(NULL,PERIOD_H1,1));
ObjectSet("Ðàññòîÿíèå îò öåíû äî Low last Week", OBJPROP_COLOR, Blue);
//+-----------------------------------------------------------------------------------------------
ObjectCreate("TrendLine 1", OBJ_TREND, 0,iTime(NULL,PERIOD_D1,1),iHigh(NULL,PERIOD_D1,1),iTime(NULL,PERIOD_D1,0)+86400,iHigh(NULL,PERIOD_D1,1));
ObjectSet("TrendLine 1", OBJPROP_COLOR, Blue); ObjectSet("TrendLine 1",OBJPROP_RAY,false); ObjectSet("TrendLine 1",OBJPROP_STYLE,2);
if (ObjectFind("1")==-1){ ObjectCreate("1",OBJ_TEXT, 0, 0, 0);
} ObjectSetText("1",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble
(ObjectGetValueByShift("Trendline "+1,0),Digits))*MathPow(10,Digits)),0),7,"Arial",Blue);
ObjectSet("1",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("Trendline "+1,0),Digits));
ObjectSet("1",OBJPROP_TIME1,Time[1]) ;
//+--- //
double val77=ObjectGetValueByShift("Trendline 1", 0);
if (Bid-Alert_TrendLine*nPoint <= val77 && Bid+Alert_TrendLine*nPoint >= val77)
{ PlaySound (AlertSound); if (PopupON) Alert (Symbol()," price within ",Alert_ring," pips of ","Trendline 1");
}
//+-----------------------------------------------------------------------------------------------
//+-----------------------------------------------------------------------------------------------
ObjectCreate("TrendLine 2", OBJ_TREND, 0, iTime(NULL,PERIOD_D1,1),iLow(NULL,PERIOD_D1,1), iTime(NULL,PERIOD_D1,0)+86400, iLow(NULL,PERIOD_D1,1));
ObjectSet("TrendLine 2", OBJPROP_COLOR, Blue); ObjectSet("TrendLine 2",OBJPROP_RAY,false); ObjectSet("TrendLine 2",OBJPROP_STYLE,2);
if (ObjectFind("2")==-1){ ObjectCreate("2",OBJ_TEXT, 0, 0, 0);
} ObjectSetText("2",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble
(ObjectGetValueByShift("Trendline "+2,0),Digits))*MathPow(10,Digits)),0),7,"Arial",Blue);
ObjectSet("2",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("Trendline "+2,0),Digits));
ObjectSet("2",OBJPROP_TIME1,Time[1]) ;
//----
double val88=ObjectGetValueByShift("Trendline 2", 0);
if (Bid-Alert_TrendLine*nPoint <= val88 && Bid+Alert_TrendLine*nPoint >= val88)//Alert_sound_percents
{ PlaySound (AlertSound); if (PopupON) Alert (Symbol()," price within ",Alert_ring," pips of ","Trendline 2");
}
//+-----------------------------------------------------------------------------------------------
//+------------------------------------------------------------------+
ObjectCreate("Upper level of Weekly channel by High",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0) ,iHigh(NULL,PERIOD_W1,1)+(iHigh(NULL,PERIOD_W1,1)-iHigh(NULL,PERIOD_W1,2)));
ObjectSet("Upper level of Weekly channel by High",OBJPROP_ARROWCODE,4); ObjectSet("Upper level of Weekly channel by High",OBJPROP_COLOR,Magenta);
//--------
ObjectCreate("Lower level of Weekly channel by High",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0) ,iLow(NULL,PERIOD_W1,1)+(iHigh(NULL,PERIOD_W1,1)-iHigh(NULL,PERIOD_W1,2)));
ObjectSet("Lower level of Weekly channel by High",OBJPROP_ARROWCODE,4); ObjectSet("Lower level of Weekly channel by High",OBJPROP_COLOR,Magenta);
//--------
ObjectCreate("Upper level of Weekly channel by Low",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0) ,iHigh(NULL,PERIOD_W1,1)+(iLow(NULL,PERIOD_W1,1)-iLow(NULL,PERIOD_W1,2)));
ObjectSet("Upper level of Weekly channel by Low",OBJPROP_ARROWCODE,4); ObjectSet("Upper level of Weekly channel by Low",OBJPROP_COLOR,Magenta);
//--------
ObjectCreate("Lower level of Weekly channel by Low",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0) ,iLow(NULL,PERIOD_W1,1)+(iLow(NULL,PERIOD_W1,1)-iLow(NULL,PERIOD_W1,2)));
ObjectSet("Lower level of Weekly channel by Low",OBJPROP_ARROWCODE,4); ObjectSet("Lower level of Weekly channel by Low",OBJPROP_COLOR,Magenta);
//--------
ObjectCreate("Upper level of Daily channel by High",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0) ,iHigh(NULL,PERIOD_D1,1)+(iHigh(NULL,PERIOD_D1,1)-iHigh(NULL,PERIOD_D1,2)));
ObjectSet("Upper level of Daily channel by High",OBJPROP_ARROWCODE,4); ObjectSet("Upper level of Daily channel by High",OBJPROP_COLOR,Magenta);
//--------
ObjectCreate("Lower level of Daily channel by High",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0) ,iLow(NULL,PERIOD_D1,1)+(iHigh(NULL,PERIOD_D1,1)-iHigh(NULL,PERIOD_D1,2)));
ObjectSet("Lower level of Daily channel by High",OBJPROP_ARROWCODE,4); ObjectSet("Lower level of Daily channel by High",OBJPROP_COLOR,Magenta);
//--------
ObjectCreate("Lower level of Daily channel by Low",OBJ_ARROW,0,iTime(NULL,PERIOD_D1,0) ,iLow(NULL,PERIOD_D1,1)+(iLow(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,2)));
ObjectSet("Lower level of Daily channel by Low",OBJPROP_ARROWCODE,4); ObjectSet("Lower level of Daily channel by Low",OBJPROP_COLOR,Magenta);
//--------
ObjectCreate("Upper level of Daily channel by Low",OBJ_ARROW,0, iTime(NULL,PERIOD_D1,0) ,iHigh(NULL,PERIOD_D1,1)+(iLow(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,2)));
ObjectSet("Upper level of Daily channel by Low",OBJPROP_ARROWCODE,4); ObjectSet("Upper level of Daily channel by Low",OBJPROP_COLOR,Magenta);
//------------------------------------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------------------------------------
//===========================================================================================
double TIMEd1 = iTime(NULL,PERIOD_D1,0)-60;
double PRICEd1 = iClose(NULL,PERIOD_D1,1)+ (iClose(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,2));
if (GannGrid_Daily) ObjectCreate("Çåðêàëüíîå èçîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Day",OBJ_CHANNEL,0,
TIMEd1,iClose(NULL,PERIOD_D1,1)-10000*nPoint,TIMEd1 +86340,iClose(NULL,PERIOD_D1,2)-10000*nPoint,TIMEd1 , iClose(NULL,PERIOD_D1,1));
ObjectSet("Çåðêàëüíîå èçîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Day",OBJPROP_RAY,false);
ObjectSet("Çåðêàëüíîå èçîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Day",OBJPROP_STYLE,2); //0 1 2 3 4
ObjectSet("Çåðêàëüíîå èçîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Day",OBJPROP_COLOR,DarkGray);
ObjectSet("Çåðêàëüíîå èçîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Day",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1 );
//-------------------------------------------------------------------------------------------
if (GannGrid_Daily) ObjectCreate("parallel TrendLine by DayCloseþ Day",OBJ_CHANNEL,0,
TIMEd1, iClose(NULL,PERIOD_D1,1)-10000*nPoint,TIMEd1+86340,PRICEd1-10000*nPoint,TIMEd1 ,iClose(NULL,PERIOD_D1,1));
ObjectSet("parallel TrendLine by DayClose",OBJPROP_RAY,false);
ObjectSet("parallel TrendLine by DayClose",OBJPROP_STYLE,2 ); //0 1 2 3 4
ObjectSet("parallel TrendLine by DayClose",OBJPROP_COLOR,DarkGray);
ObjectSet("parallel TrendLine by DayClose",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5| OBJ_PERIOD_M15 | OBJ_PERIOD_M30| OBJ_PERIOD_H1 );
//===========================================================================================
//=========Èíñòðóêöèÿ: òàñêàéòå ýòè ëèíèè ïî ãðàôèêó,(è íà ëèíåéûõ ãðàôèêàõ òîæå), ïîêà íå óâèäèòå îò íèõ ïîëüçó.==========
double TIME_W = iTime(NULL,PERIOD_W1,0)-60;
double PRICE_W = iClose(NULL,PERIOD_W1,1)+ (iClose(NULL,PERIOD_W1,1)-iClose(NULL,PERIOD_W1,2));
if (GannGrid_Weekly) ObjectCreate("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Week",OBJ_CHANNEL,0,
TIME_W,iClose(NULL,PERIOD_W1,1)-10000*nPoint,TIME_W+518000, iClose(NULL,PERIOD_W1,2)-10000*nPoint, TIME_W, iClose(NULL,PERIOD_W1,1));
ObjectSet("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Week",OBJPROP_RAY,false);
ObjectSet("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Week",OBJPROP_STYLE,2); //0 1 2 3 4
ObjectSet("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ Week",OBJPROP_COLOR,DarkGray); // Blue Red
//-------------------------------------------------------------------------------------------
if (GannGrid_Weekly) ObjectCreate("parallel TrendLine by DayCloseþ Week",OBJ_CHANNEL,0,
TIME_W, iClose(NULL,PERIOD_W1,1)-10000*nPoint, TIME_W+518000, PRICE_W -10000*nPoint,TIME_W,iClose(NULL,PERIOD_W1,1));
ObjectSet("parallel TrendLine by DayCloseþ Week",OBJPROP_RAY,false);
ObjectSet("parallel TrendLine by DayCloseþ Week",OBJPROP_STYLE,2); //0 1 2 3 4
ObjectSet("parallel TrendLine by DayCloseþ Week",OBJPROP_COLOR,DarkGray);
//===========================================================================================
double TIME1 = iTime(NULL,PERIOD_W1,1)-60;
double PRICE1 = iClose(NULL,PERIOD_W1,2)+ (iClose(NULL,PERIOD_W1,2)-iClose(NULL,PERIOD_W1,3));
if (GannGrid_Weekly2) ObjectCreate("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ last Week",OBJ_CHANNEL,0,
TIME1,iClose(NULL,PERIOD_W1,2)-10000*nPoint,TIME1+518000,iClose(NULL,PERIOD_W1,3)-10000*nPoint,TIME1,iClose(NULL,PERIOD_W1,2));
ObjectSet("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ last Week",OBJPROP_RAY,false);
ObjectSet("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ last Week",OBJPROP_STYLE,2); //0 1 2 3 4
ObjectSet("Çåðêàëüíîå îòîáðàæåíèå Òðåíä ëèíèè ïî çàêðûòèþ last Week",OBJPROP_COLOR,DarkGray); // Blue Red
//-------------------------------------------------------------------------------------------
if (GannGrid_Weekly2) ObjectCreate("parallel TrendLine by DayCloseþ last Week",OBJ_CHANNEL,0,
TIME1, iClose(NULL,PERIOD_W1,2)-10000*nPoint,TIME1+518000,PRICE1-10000*nPoint,TIME1,iClose(NULL,PERIOD_W1,2));
ObjectSet("parallel TrendLine by DayCloseþ last Week",OBJPROP_RAY,false);
ObjectSet("parallel TrendLine by DayCloseþ last Week",OBJPROP_STYLE,2); //0 1 2 3 4
ObjectSet("parallel TrendLine by DayCloseþ last Week",OBJPROP_COLOR,DarkGray); // Blue Red
//===========================================================================================
if (Open[0]-Open[1]<= 2*nPoint && Open[0]-Open[1]>= -2*nPoint)
ObjectCreate("two Open together", OBJ_ARROW, 0, Time[0],Open[0]);//
ObjectSet("two Open together", OBJPROP_ARROWCODE,4);//
ObjectSet("two Open together", OBJPROP_COLOR, Red);//
ObjectSet("two Open together",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M30| OBJ_PERIOD_H1 | OBJ_PERIOD_H4 | OBJ_PERIOD_D1| OBJ_PERIOD_W1);
//---- Open_AboveOrUnder_Trendline ðàáîòàåò òîëüêî íà ïåðèîäàõ îò Í1 è âûøå
if (Open_AboveOrUnder_Trendline) if (Low [1]>Low [2] && Open[0] < Low [1]+(Low [1]-Low [2]) ) //
ObjectCreate("Open below Trendline", OBJ_ARROW, 0, Time[0],Open[0]);//
ObjectSet("Open below Trendline", OBJPROP_ARROWCODE,115);
ObjectSet("Open below Trendline", OBJPROP_COLOR, Red);
ObjectSet("Open below Trendline",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M30| OBJ_PERIOD_H1 | OBJ_PERIOD_H4 | OBJ_PERIOD_D1| OBJ_PERIOD_W1);
//----
if (Open_AboveOrUnder_Trendline) if (High[1]< High[2] && Open[0]>= High [1]-(High [2]-High [1]) ) // //
ObjectCreate("Open above Trendline", OBJ_ARROW, 0, Time[0],Open[0]);
ObjectSet("Open above Trendline" , OBJPROP_ARROWCODE,115);
ObjectSet("Open above Trendline", OBJPROP_COLOR, Red);
ObjectSet("Open above Trendline",OBJPROP_TIMEFRAMES, OBJ_PERIOD_M30| OBJ_PERIOD_H1 | OBJ_PERIOD_H4 | OBJ_PERIOD_D1| OBJ_PERIOD_W1);
//===========================================================================================================================================
// ???????????????????????????????????????????????????????????????????????????????????????
// ???????????????????????????????????????????????????????????????????????????????????????
double W1_H = iHigh(NULL,PERIOD_W1,1)-(iHigh(NULL,PERIOD_W1,2)-iHigh(NULL,PERIOD_W1,1));
double W1_L = iLow(NULL,PERIOD_W1,1) +(iLow(NULL,PERIOD_W1,2) -iLow(NULL,PERIOD_W1,1 ));
if (Expected_Range_Week) ObjectCreate("expected range this Week",OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_W1,0)+86400 ,W1_H,iTime(NULL,PERIOD_W1,0)+86400*6,W1_L);
ObjectSet("expected range this Week",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4| OBJ_PERIOD_D1 );
ObjectSet("expected range this Week",OBJPROP_BACK,false ); //false true
ObjectSet("expected range this Week",OBJPROP_STYLE,0); //0 1 2 3 4
ObjectSet("expected range this Week",OBJPROP_COLOR,Red);
//+------------------------------------------------------------------+
double W1_H11 = iHigh(NULL,PERIOD_W1,1)-(iHigh(NULL,PERIOD_W1,1)-iHigh(NULL,PERIOD_W1,2));
double W1_L11 = iLow(NULL,PERIOD_W1,1) +(iLow(NULL,PERIOD_W1,1) -iLow(NULL,PERIOD_W1,2 ));
if (Expected_Range_Week) ObjectCreate("expected range Week",OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_W1,0)+86400 ,W1_H11,iTime(NULL,PERIOD_W1,0)+86400*6,W1_L11);
ObjectSet("expected range Week",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4| OBJ_PERIOD_D1 );
ObjectSet("expected range Week",OBJPROP_BACK,false );
ObjectSet("expected range Week",OBJPROP_STYLE,0);
ObjectSet("expected range Week",OBJPROP_COLOR,SlateGray);
//+------------------------------------------------------------------+
double W1_H1 = iHigh(NULL,PERIOD_W1,0)-(iHigh(NULL,PERIOD_W1,1)-iHigh(NULL,PERIOD_W1,0));
double W1_L1 = iLow(NULL,PERIOD_W1,0) +(iLow(NULL,PERIOD_W1,1) -iLow(NULL,PERIOD_W1,0 ));
if (Expected_Range_Week) ObjectCreate("expected range next Week",OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_W1,0)+86400 ,W1_H1,iTime(NULL,PERIOD_W1,0)+86400*6,W1_L1);
ObjectSet("expected range next Week",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4| OBJ_PERIOD_D1 );
ObjectSet("expected range next Week",OBJPROP_BACK,false );
ObjectSet("expected range next Week",OBJPROP_STYLE,0);
ObjectSet("expected range next Week",OBJPROP_COLOR,Blue);
// ???????????????????????????????????????????????????????????????????????????????????????
//===========================================================================================================================================
// ???????????????????????????????????????????????????????????????????????????????????????
double D1_H = iHigh(NULL,PERIOD_D1,1)-(iHigh(NULL,PERIOD_D1,1)-iHigh(NULL,PERIOD_D1,2));
double D1_L = iLow(NULL,PERIOD_D1,1) +(iLow(NULL,PERIOD_D1,1) -iLow(NULL,PERIOD_D1,2 ));
if (calculated_Range_Day) ObjectCreate("expected range this Day",OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_D1,0) ,D1_H,iTime(NULL,PERIOD_D1,0)+82800,D1_L);
ObjectSet("expected range this Day",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_H4 );
ObjectSet("expected range this Day",OBJPROP_BACK,false ); ObjectSet("expected range this Day",OBJPROP_STYLE,0);
ObjectSet("expected range this Day",OBJPROP_COLOR,Red);
//+------------------------------------------------------------------+
double D1_H11 = iHigh(NULL,PERIOD_D1,1)-(iHigh(NULL,PERIOD_D1,2)-iHigh(NULL,PERIOD_D1,1));
double D1_L11 = iLow(NULL,PERIOD_D1,1) +(iLow(NULL,PERIOD_D1,2) -iLow(NULL,PERIOD_D1,1 ));
if (calculated_Range_Day) ObjectCreate("expected Today\'s range",OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_D1,0) ,D1_H11,iTime(NULL,PERIOD_D1,0)+82800,D1_L11);
ObjectSet("expected Today\'s range",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_H4 );
ObjectSet("expected Today\'s range",OBJPROP_BACK,false ); ObjectSet("expected Today\'s range",OBJPROP_STYLE,0);
ObjectSet("expected Today\'s range",OBJPROP_COLOR,SlateGray);
//+------------------------------------------------------------------+
double D1_H1 = iHigh(NULL,PERIOD_D1,0)-(iHigh(NULL,PERIOD_D1,1)-iHigh(NULL,PERIOD_D1,0));
double D1_L1 = iLow(NULL,PERIOD_D1,0) +(iLow(NULL,PERIOD_D1,1) -iLow(NULL,PERIOD_D1,0 ));
if (calculated_Range_Day) ObjectCreate("expected range next Day",OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_D1,0) ,D1_H1,iTime(NULL,PERIOD_D1,0)+82800,D1_L1);
ObjectSet("expected range next Day",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_H4 );
ObjectSet("expected range next Day",OBJPROP_BACK,false ); ObjectSet("expected range next Day",OBJPROP_STYLE,0);
ObjectSet("expected range next Day",OBJPROP_COLOR,Blue);
//+------------------------------------------------------------------+
// ???????????????????????????????????????????????????????????????????????????????????????
//===========================================================================================================================================
double line_1 = NormalizeDouble(iMA(NULL,0,2 ,0,MODE_SMMA,PRICE_CLOSE,0 ),Digits- 2); // äëÿ 5-çíà÷íûõ ÄÖ ñòàâèì Digits- 3
double line_2 = line_1 ; string Line1 = "1"; string Line2 = "2";
for (int l=0; l<9; l++) { int ll=0; if (ll>=9) break; else {
//+------------------------------------------------------------------+
if (Grid_25_points) ObjectCreate(Line1+l,OBJ_TREND,0,iTime(NULL,PERIOD_W1,0),line_1,iTime(NULL,0,0) ,line_1);
ObjectSet(Line1+l,OBJPROP_RAY,1); ObjectSet(Line1+l,OBJPROP_STYLE,2); ObjectSet(Line1+l, OBJPROP_COLOR, DarkGray);
ObjectSet(Line1+l,OBJPROP_TIMEFRAMES, OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
line_1 = line_1 + 25*nPoint;
//+------------------------------------------------------------------+
if (Grid_25_points) ObjectCreate(Line2+l,OBJ_TREND,0,iTime(NULL,PERIOD_W1,0),line_2,iTime(NULL,0,0) ,line_2);
ObjectSet(Line2+l,OBJPROP_RAY,1); ObjectSet(Line2+l,OBJPROP_STYLE,2);ObjectSet (Line2+l,OBJPROP_COLOR,DarkGray);
ObjectSet(Line2+l,OBJPROP_TIMEFRAMES, OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30 | OBJ_PERIOD_H1);
line_2 = line_2 - 25*nPoint;
ll++; } }
//+------------------------------------------------------------------+
// ???????????????????????????????????????????????????????????????????????????????????????
for (int ii = 0; ii <= col_days; ii++) {
if (show_range_Daily) ObjectCreate("Day"+ii,OBJ_RECTANGLE,0,Days[ii][0]+86400,Days[ii][3],Days[ii][0],Days[ii][2]);
ObjectSet("Day"+ii,OBJPROP_COLOR,DarkGray);
ObjectSet("Day"+ii,OBJPROP_STYLE,2); //
ObjectSet("Day"+ii,OBJPROP_BACK,false ); //false true
//--------------------------------------------------------------
if (show_range_Weekly) ObjectCreate("Weekly"+ii,OBJ_RECTANGLE,0,Days1[ii][0]+86400*6,Days1[ii][3],Days1[ii][0],Days1[ii][2]);
ObjectSet("Weekly"+ii,OBJPROP_COLOR,DarkGray);
ObjectSet("Weekly"+ii,OBJPROP_STYLE,3);
ObjectSet("Weekly"+ii,OBJPROP_BACK,false ); //false true
}
}
//--------------------------------------------------------------
return(0);
}
//+------------------------------------------------------------------+
int HighBar(string symbol,int TFLow,int BarLow,int TFHigh)
{
datetime BarTimeLow = iTime(symbol, TFLow, BarLow);
int error = GetLastError();
if(error == 4066) return (-1);
int res = iBarShift(symbol, TFHigh, BarTimeLow, false);
error = GetLastError();if(error == 4066)
return (-1);
return (res);
}
//+---------------------------------------------------------
//+------------------------------------------------------------------+
double GetPoint(string vSymbol)
{
int vres = StringFind(vSymbol,"JPY");
if (vres == -1) return(0.0001);
return(0.01);
}
//+-----------------------------------------------+
Comments