مرحباً يا غال ،

نشكرك على المبرمج الذي تم ترميزه في الأساس.
حرص شديد على الحصول على مؤشر محوري أسبوعي مع إزاحة المنطقة الزمنية. تم التلاعب مؤشر شخص آخر ، ولكن أنا حقا لا تملك أي دليل؟

يحتاج المؤشر أدناه إلى إزاحة المنطقة الزمنية بحيث يتمكن المؤشر من أخذ سعر الإغلاق الأسبوعي يوم الاثنين 01:59 و 59 ثانية (W_yesterday_close)
وسعره الافتتاحي الأسبوعي عند الساعة 02:00 و 00 ثانية (W_today_open).

إذا كان بإمكان أي شخص نشر إصدار مشفر من المحور الأسبوعي مع إزاحة المنطقة الزمنية ، فسيكون موضع تقدير كبير.

شكرا لكم

أدناه حيث توجد المشكلة في التعليمات البرمجية.

الرمز المدرج/---------------------------------------------- ------------------------------- الأسبوعية --------------- ArrayCopyRates (W_rates_d1 ، الرمز () ، 10080) ؛ W_yesterday_open = W_rates_d1 # 91 ؛ 1 # 93 ؛ # 91 ؛ 1 # 93 ؛؛ W_yesterday_high = W_rates_d1 # 91؛ 1 # 93؛ # 91؛ 3 # 93 ؛؛ W_yesterday_low = W_rates_d1 # 91؛ 1 # 93؛ # 91؛ 2 # 93 ؛؛ W_day_high = W_rates_d1 # 91 ؛ 0 # 93 ؛ # 91 ؛ 3 # 93 ؛؛ W_day_low = W_rates_d1 # 91 ؛ 0 # 93 ؛ # 91 ؛ 2 # 93 ؛؛ if (DayOfWeek () == 1) {if (Hour () == 1) {if (Minute () == 59) {if (Seconds () == 59) {W_yesterday_close = MarketInfo (Symbol ()، MODE_BID) . }}}} آخر W_yesterday_close = W_yesterday_close؛ if (DayOfWeek () == 1) {if (Hour () == 2) {if (Minute () == 0) {if (Seconds () == 0) {W_today_open = MarketInfo (Symbol ()، MODE_BID) . }}}} آخر W_today_open = W_today_open؛ if (DayOfWeek () gt؛ 1) {W_yesterday_close = W_y yesterday_close؛ W_today_open = W_today_open؛ } if (DayOfWeek () == 0) {W_y yesterday_close = W_y yesterday_close؛ W_today_open = W_today_open؛ }///احسب محاور W_D = (W_day_high - W_day_low)؛ W_Q = (W_yبعة_high - W_y yesterday_low)؛ W_P = (W_yبعة_high W_y yesterday_low W_y yesterday_close W_today_open)4؛ W_R1 = (2 * W_P) -W_y yesterday_low؛ W_S1 = (2 * W_P) -W_y yesterday_high؛ W_R2 = W_P (W_yesterday_high - W_y yesterday_low)؛ W_S2 = W_P- (W_yesterday_high - W_y yesterday_low)؛ W_R3 = (2 * W_P) (W_yesterday_high- (2 * W_y yesterday_low))؛ W_M5 = (W_R2 W_R3)2؛/W_R2 = W_P-W_S1 W_R1؛ W_M4 = (W_R1 W_R2)2؛/W_R1 = (2 * W_P) -W_y yesterday_low؛ W_M3 = (W_P W_R1)2؛/W_P = (W_yesterday_high W_yesterday_low W_y yesterday_close W_today_open)4؛ W_M2 = (W_P W_S1)2؛/W_S1 = (2 * W_P) -W_y yesterday_high؛ W_M1 = (W_S1 W_S2)2؛/W_S2 = W_P-W_R1 W_S1؛ W_S3 = (2 * W_P) - ((2 * W_yesterday_high) -W_y yesterday_low)؛ W_M0 = (W_S2 W_S3)2؛ if (W_Q gt؛ 5) {W_nQ = W_Q؛ } آخر {W_nQ = W_Q * 10000؛ } إذا كان (W_D gt؛ 5) {W_nD = W_D؛ } آخر {W_nD = W_D * 10000؛ }



يوجد أدناه رمز المؤشر بالكامل الذي كنت أبحث عنه.

Inserted Code/ ------------------------------------------------------------------ /| Weekly_Pivot_Indior.mq4 |/| Copyright © 2009, MetaQuotes Software Corp. |/| #91;url#93;http://www.metaquotes.net#91;/url#93; |/ ------------------------------------------------------------------ #property copyright #property link #property indior_chart_window #property indior_buffers 4 #property indior_color1 EMPTY /extern bool pivots = true; extern bool weekly = true; extern bool midpivots = false; extern int Period1 = PERIOD_W1; /--------------------------------- double W_day_high=0; double W_day_low=0; double W_yesterday_high=0; double W_yesterday_open=0; double W_yesterday_low=0; double W_yesterday_close=0; double W_today_open=0; double W_today_high=0; double W_today_low=0; double W_P=0; double W_Q=0; double W_R1,W_R2,W_R3; double W_M0,W_M1,W_M2,W_M3,W_M4,W_M5; double W_S1,W_S2,W_S3; double W_nQ=0; double W_nD=0; double W_D=0; double W_rates_d1#91;2#93;#91;6#93;; double W_ExtMapBuffer#91;#93;;/---------------------------------/ ------------------------------------------------------------------ /| Custom indior initialization function |/ ------------------------------------------------------------------ int init() { SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,159); SetIndexBuffer(2, W_ExtMapBuffer); /---- indiors W_R1=0; W_R2=0; W_R3=0; W_M0=0; W_M1=0; W_M2=0; W_M3=0; W_M4=0; W_M5=0; W_S1=0; W_S2=0; W_S3=0; /---- return(0); }/ ------------------------------------------------------------------ /| Custor indior deinitialization function |/ ------------------------------------------------------------------ int deinit() {/---- TODO: add your code here/-------------------------------------- ObjectDelete(W_R1 Label); ObjectDelete(W_R1 Line); ObjectDelete(W_R2 Label); ObjectDelete(W_R2 Line); ObjectDelete(W_R3 Label); ObjectDelete(W_R3 Line); ObjectDelete(W_S1 Label); ObjectDelete(W_S1 Line); ObjectDelete(W_S2 Label); ObjectDelete(W_S2 Line); ObjectDelete(W_S3 Label); ObjectDelete(W_S3 Line); ObjectDelete(W_P Label); ObjectDelete(W_P Line); ObjectDelete(W_M5 Label); ObjectDelete(W_M5 Line); ObjectDelete(W_M4 Label); ObjectDelete(W_M4 Line); ObjectDelete(W_M3 Label); ObjectDelete(W_M3 Line); ObjectDelete(W_M2 Label); ObjectDelete(W_M2 Line); ObjectDelete(W_M1 Label); ObjectDelete(W_M1 Line); ObjectDelete(W_M0 Label); ObjectDelete(W_M0 Line);/-------------------------------------- /---- return(0); }/ ------------------------------------------------------------------ /| Custom indior iteration function |/ ------------------------------------------------------------------ int start() {/---- TODO: add your code here*/---- exit if period is greater than daily charts if(Period() gt; 1440) { Print(Error - Chart period is greater than 1 day.); return(-1);/then exit } *///----------------------------------------------------------------------------- Weekly --------------- ArrayCopyRates(W_rates_d1, Symbol(), 10080); W_yesterday_open = W_rates_d1#91;1#93;#91;1#93;; W_yesterday_high = W_rates_d1#91;1#93;#91;3#93;; W_yesterday_low = W_rates_d1#91;1#93;#91;2#93;; W_day_high = W_rates_d1#91;0#93;#91;3#93;; W_day_low = W_rates_d1#91;0#93;#91;2#93;; if(DayOfWeek()==1) {if(Hour()==1) {if(Minute()==59) {if(Seconds()==59) { W_yesterday_close = MarketInfo(Symbol(),MODE_BID); }}}} else W_yesterday_close = W_yesterday_close; if(DayOfWeek()==1) {if(Hour()==2) {if(Minute()==0) {if(Seconds()==0) { W_today_open = MarketInfo(Symbol(),MODE_BID); }}}} else W_today_open = W_today_open; if(DayOfWeek()gt;1) {W_yesterday_close = W_yesterday_close; W_today_open = W_today_open; } if(DayOfWeek()==0) {W_yesterday_close = W_yesterday_close; W_today_open = W_today_open; } /---- Calculate Pivots W_D = (W_day_high - W_day_low); W_Q = (W_yesterday_high - W_yesterday_low); W_P = (W_yesterday_high W_yesterday_low W_yesterday_close W_today_open)/4; W_R1 = (2*W_P)-W_yesterday_low; W_S1 = (2*W_P)-W_yesterday_high; W_R2 = W_P (W_yesterday_high - W_yesterday_low); W_S2 = W_P-(W_yesterday_high - W_yesterday_low); W_R3 = (2*W_P) (W_yesterday_high-(2*W_yesterday_low)); W_M5 = (W_R2 W_R3)/2; /W_R2 = W_P-W_S1 W_R1; W_M4 = (W_R1 W_R2)/2; /W_R1 = (2*W_P)-W_yesterday_low; W_M3 = (W_P W_R1)/2; /W_P = (W_yesterday_high W_yesterday_low W_yesterday_close W_today_open)/4; W_M2 = (W_P W_S1)/2; /W_S1 = (2*W_P)-W_yesterday_high; W_M1 = (W_S1 W_S2)/2; /W_S2 = W_P-W_R1 W_S1; W_S3 = (2*W_P)-((2* W_yesterday_high)-W_yesterday_low); W_M0 = (W_S2 W_S3)/2; if (W_Q gt; 5) { W_nQ = W_Q; } else { W_nQ = W_Q*10000; } if (W_D gt; 5) { W_nD = W_D; } else { W_nD = W_D*10000; }/Comment(High= ,yesterday_high, Previous DaysRange= ,nQ,\nLow= ,yesterday_low, Current DaysRange= ,nD,\nClose= ,yesterday_close, Time Frame ,Period1 ); /--------------------------------------------------------------------------------------------------------------/---- Set line labels on chart window/---------------------------------------------------------------------WEEKLY Pivot Lines -------------------- if (weekly==true) { if(ObjectFind(W_R1 label) != 0) { ObjectCreate(W_R1 label, OBJ_TEXT, 0, Time#91;0#93;, W_R1); ObjectSetText(W_R1 label, W_R1 DoubleToStr(W_R1,4), 8, Arial, EMPTY); } else { ObjectMove(W_R1 label, 0, Time#91;0#93;, W_R1); } if(ObjectFind(W_R2 label) != 0) { ObjectCreate(W_R2 label, OBJ_TEXT, 0, Time#91;20#93;, W_R2); ObjectSetText(W_R2 label, W_R2 DoubleToStr(W_R2,4), 8, Arial, EMPTY); } else { ObjectMove(W_R2 label, 0, Time#91;0#93;, W_R2); } if(ObjectFind(W_R3 label) != 0) { ObjectCreate(W_R3 label, OBJ_TEXT, 0, Time#91;20#93;, W_R3); ObjectSetText(W_R3 label, W_R3 DoubleToStr(W_R3,4), 8, Arial, EMPTY); } else { ObjectMove(W_R3 label, 0, Time#91;0#93;, W_R3); } if(ObjectFind(W_P label) != 0) { ObjectCreate(W_P label, OBJ_TEXT, 0, Time#91;0#93;, W_P); ObjectSetText(W_P label, W_Pivot DoubleToStr(W_P,4), 8, Arial,EMPTY); } else { ObjectMove(W_P label, 0, Time#91;0#93;, W_P); } if(ObjectFind(W_S1 label) != 0) { ObjectCreate(W_S1 label, OBJ_TEXT, 0, Time#91;0#93;, W_S1); ObjectSetText(W_S1 label, W_S1 DoubleToStr(W_S1,4), 8, Arial, EMPTY); } else { ObjectMove(W_S1 label, 0, Time#91;0#93;, W_S1); } if(ObjectFind(W_S2 label) != 0) { ObjectCreate(W_S2 label, OBJ_TEXT, 0, Time#91;20#93;, W_S2); ObjectSetText(W_S2 label, W_S2 DoubleToStr(W_S2,4), 8, Arial, EMPTY); } else { ObjectMove(W_S2 label, 0, Time#91;0#93;, W_S2); } if(ObjectFind(W_S3 label) != 0) { ObjectCreate(W_S3 label, OBJ_TEXT, 0, Time#91;20#93;, W_S3); ObjectSetText(W_S3 label, W_S3 DoubleToStr(W_S3,4), 8, Arial, EMPTY); } else { ObjectMove(W_S3 label, 0, Time#91;0#93;, W_S3); }/--- Draw Pivot lines on chart if(ObjectFind(W_S1 line) != 0) { ObjectCreate(W_S1 line, OBJ_HLINE, 0, Time#91;40#93;, W_S1); ObjectSet(W_S1 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_S1 line, OBJPROP_WIDTH,4); ObjectSet(W_S1 line, OBJPROP_COLOR, Blue); } else { ObjectMove(W_S1 line, 0, Time#91;40#93;, W_S1); } if(ObjectFind(W_S2 line) != 0) { ObjectCreate(W_S2 line, OBJ_HLINE, 0, Time#91;40#93;, W_S2); ObjectSet(W_S2 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_S2 line, OBJPROP_WIDTH,4); ObjectSet(W_S2 line, OBJPROP_COLOR, Blue); } else { ObjectMove(W_S2 line, 0, Time#91;40#93;, W_S2); } if(ObjectFind(W_S3 line) != 0) { ObjectCreate(W_S3 line, OBJ_HLINE, 0, Time#91;40#93;, W_S3); ObjectSet(W_S3 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_S3 line, OBJPROP_WIDTH,4); ObjectSet(W_S3 line, OBJPROP_COLOR, Blue); } else { ObjectMove(W_S3 line, 0, Time#91;40#93;, W_S3); } if(ObjectFind(W_P line) != 0) { ObjectCreate(W_P line, OBJ_HLINE, 0, Time#91;40#93;, W_P); ObjectSet(W_P line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_P line, OBJPROP_WIDTH,4); ObjectSet(W_P line, OBJPROP_COLOR, LightBlue); } else { ObjectMove(W_P line, 0, Time#91;40#93;, W_P); } if(ObjectFind(W_R1 line) != 0) { ObjectCreate(W_R1 line, OBJ_HLINE, 0, Time#91;40#93;, W_R1); ObjectSet(W_R1 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_R1 line, OBJPROP_WIDTH,4); ObjectSet(W_R1 line, OBJPROP_COLOR, Red); } else { ObjectMove(W_R1 line, 0, Time#91;40#93;, W_R1); } if(ObjectFind(W_R2 line) != 0) { ObjectCreate(W_R2 line, OBJ_HLINE, 0, Time#91;40#93;, W_R2); ObjectSet(W_R2 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_R2 line, OBJPROP_WIDTH,4); ObjectSet(W_R2 line, OBJPROP_COLOR, Red); } else { ObjectMove(W_R2 line, 0, Time#91;40#93;, W_R2); } if(ObjectFind(W_R3 line) != 0) { ObjectCreate(W_R3 line, OBJ_HLINE, 0, Time#91;40#93;, W_R3); ObjectSet(W_R3 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_R3 line, OBJPROP_WIDTH,4); ObjectSet(W_R3 line, OBJPROP_COLOR, Red); } else { ObjectMove(W_R3 line, 0, Time#91;40#93;, W_R3); } }/---- End of Pivot Line Draw /------ Midpoints Pivots if (weekly == true midpivots==true) { if(ObjectFind(W_M5 label) != 0) { ObjectCreate(W_M5 label, OBJ_TEXT, 0, Time#91;20#93;, W_M5); ObjectSetText(W_M5 label, W_M5 DoubleToStr(W_M5,4), 8, Arial, EMPTY); } else { ObjectMove(W_M5 label, 0, Time#91;0#93;, W_M5); } if(ObjectFind(W_M4 label) != 0) { ObjectCreate(W_M4 label, OBJ_TEXT, 0, Time#91;20#93;, W_M4); ObjectSetText(W_M4 label, W_M4 DoubleToStr(W_M4,4), 8, Arial, EMPTY); } else { ObjectMove(W_M4 label, 0, Time#91;0#93;, W_M4); } if(ObjectFind(W_M3 label) != 0) { ObjectCreate(W_M3 label, OBJ_TEXT, 0, Time#91;20#93;, W_M3); ObjectSetText(W_M3 label, W_M3 DoubleToStr(W_M3,4), 8, Arial, EMPTY); } else { ObjectMove(W_M3 label, 0, Time#91;0#93;, W_M3); } if(ObjectFind(W_M2 label) != 0) { ObjectCreate(W_M2 label, OBJ_TEXT, 0, Time#91;20#93;, W_M2); ObjectSetText(W_M2 label, W_M2 DoubleToStr(W_M2,4), 8, Arial, EMPTY); } else { ObjectMove(W_M2 label, 0, Time#91;0#93;, W_M2); } if(ObjectFind(W_M1 label) != 0) { ObjectCreate(W_M1 label, OBJ_TEXT, 0, Time#91;20#93;, W_M1); ObjectSetText(W_M1 label, W_M1 DoubleToStr(W_M1,4), 8, Arial, EMPTY); } else { ObjectMove(W_M1 label, 0, Time#91;0#93;, W_M1); } if(ObjectFind(W_M0 label) != 0) { ObjectCreate(W_M0 label, OBJ_TEXT, 0, Time#91;20#93;, W_M0); ObjectSetText(W_M0 label, W_M0 DoubleToStr(W_M0,4), 8, Arial, EMPTY); } else { ObjectMove(W_M0 label, 0, Time#91;0#93;, W_M0); }/---- Draw Midpoint Pivots on Chart if(ObjectFind(W_M5 line) != 0) { ObjectCreate(W_M5 line, OBJ_HLINE, 0, Time#91;40#93;, W_M5); ObjectSet(W_M5 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_M5 line, OBJPROP_WIDTH,1); ObjectSet(W_M5 line, OBJPROP_COLOR, Red); } else { ObjectMove(W_M5 line, 0, Time#91;40#93;, W_M5); } if(ObjectFind(W_M4 line) != 0) { ObjectCreate(W_M4 line, OBJ_HLINE, 0, Time#91;40#93;, W_M4); ObjectSet(W_M4 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_M4 line, OBJPROP_WIDTH,1); ObjectSet(W_M4 line, OBJPROP_COLOR, Red); } else { ObjectMove(W_M4 line, 0, Time#91;40#93;, W_M4); } if(ObjectFind(W_M3 line) != 0) { ObjectCreate(W_M3 line, OBJ_HLINE, 0, Time#91;40#93;, W_M3); ObjectSet(W_M3 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_M3 line, OBJPROP_WIDTH,1); ObjectSet(W_M3 line, OBJPROP_COLOR, Red); } else { ObjectMove(W_M3 line, 0, Time#91;40#93;, W_M3); } if(ObjectFind(W_M2 line) != 0) { ObjectCreate(W_M2 line, OBJ_HLINE, 0, Time#91;40#93;, W_M2); ObjectSet(W_M2 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_M2 line, OBJPROP_WIDTH,1); ObjectSet(W_M2 line, OBJPROP_COLOR, Blue); } else { ObjectMove(W_M2 line, 0, Time#91;40#93;, W_M2); } if(ObjectFind(W_M1 line) != 0) { ObjectCreate(W_M1 line, OBJ_HLINE, 0, Time#91;40#93;, W_M1); ObjectSet(W_M1 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_M1 line, OBJPROP_WIDTH,1); ObjectSet(W_M1 line, OBJPROP_COLOR, Blue); } else { ObjectMove(W_M1 line, 0, Time#91;40#93;, W_M1); } if(ObjectFind(W_M0 line) != 0) { ObjectCreate(W_M0 line, OBJ_HLINE, 0, Time#91;40#93;, W_M0); ObjectSet(W_M0 line, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(W_M0 line, OBJPROP_WIDTH,1); ObjectSet(W_M0 line, OBJPROP_COLOR, Blue); } else { ObjectMove(W_M0 line, 0, Time#91;40#93;, W_M0); } }/-------------=-------------------------------------------End /-----------------------------------------------------------------------------------------------------------------------/---- End Of Program return(0); }/ ------------------------------------------------------------------