我有这个代码,它工作正常,但我希望能够移动文本,所以它是从图表的顶部10点,同时我希望能够将文本居中到白天分隔符,所以它总是在中间
我怎样才能做到这一点?
这是我的代码
插入的代码// --------------------------------------------- --------------------- /| Week_Days.mq4 |/ ----------------------------------------------- ------------------- #property indior_chart_window input int Days = 100;/Days Boxs/输入bool OpenCloseBox = true;/打开关闭框输入bool DrawBox =真正; datetime T; string mql_name; int a,Bar;/ ----------------------------------------------- ------------------- /|自定义indior初始化函数|/ ----------------------------------------------- ------------------- int OnInit(){//--- mql_name = MQLInfoString(MQL_PROGRAM_NAME);/--- return(INIT_SUCCEEDED); }/ ---------------------------------------------- -------------------- /|专家取消初始化功能|/ ----------------------------------------------- ------------------- void OnDeinit(const int reason){//--- ObjectsDeleteAll(0,mql_name);/---}/ ----------------------------------------- ------------------------- /|自定义indior迭代功能|/ ----------------------------------------------- ------------------- int OnCalculate(const int rates_total,const int prev_calculated,const datetime time#91;#93;,const double open#91;#93; ,const double high#91;#93;,const double low#91;#93;,const double close#91;#93;,const long tick_volume#91;#93;,const long volume#91;#93; ,const int spread#91;#93;){//--- if(iTime(NULL,PERIOD_D1,0)!= T){T = iTime(NULL,PERIOD_D1,0); DrawWeekDays(); }/--- return(rates_total); }/ ---------------------------------------------- -------------------- void DrawWeekDays(){if(a == 0){Bar = Days;} else {Bar = 1;} for(int i = 0; ilt; Bar; i ){string tname = TimeToString(iTime(NULL,PERIOD_D1,i)); datetime t = iTime(NULL,PERIOD_D1,i); double high = iHigh(NULL,PERIOD_D1,i); double low = iLow(NULL,PERIOD_D1,i); double open = iOpen(NULL,PERIOD_D1,i); double close = iClose(NULL,PERIOD_D1,i); color clr = clrDimGray; string TXT = Monday; if(TimeDayOfWeek(iTime(NULL,PERIOD_D1,i))== 2){clr = clrDimGray; TXT = Tuesday;} if(TimeDayOfWeek(iTime(NULL,PERIOD_D1,i))== 3){clr = clrDimGray; TXT = Wednesday;} if(TimeDayOfWeek(iTime(NULL,PERIOD_D1,i))== 4){clr = clrDimGray; TXT = Thursday;} if(TimeDayOfWeek(iTime(NULL,PERIOD_D1,i))== 5){clr = clrDimGray; TXT = Friday;} DrawTXT(TXT tname,TXT,t,high 10 * Point,clr); }}/---------------------------------------------- --------------------- void DrawTXT(字符串名称,字符串文本,日期时间,双倍价格,颜色clr,ENUM_ANCHOR_POINT ANCHOR_ = ANCHOR_LEFT_LOWER,int size = 16) {name = mql_name name; if(ObjectFind(0,name)lt; 0){ObjectCreate(0,name,OBJ_TEXT,0,time,price);ObjectSetString(0,姓名,OBJPROP_TEXT,文本); ObjectSetInteger(0,姓名,OBJPROP_BACK,真正的); ObjectSetString(0,名称,OBJPROP_FONT,Arial字体); ObjectSetInteger(0,名称,OBJPROP_FONTSIZE,大小); ObjectSetInteger(0,名称,OBJPROP_ANCHOR,ANCHOR_); ObjectSetInteger(0,名称,OBJPROP_COLOR,CLR); ObjectSetInteger(0,名称,OBJPROP_SELECTABLE,FALSE); ObjectSetInteger(0,名称,OBJPROP_SELECTED,FALSE); ObjectSetInteger(0,姓名,OBJPROP_HIDDEN,真正的); } else {ObjectMove(0,name,0,time,price); ObjectSetInteger(0,名称,OBJPROP_COLOR,CLR); ObjectSetString(0,姓名,OBJPROP_TEXT,文本); ObjectSetInteger(0,名称,OBJPROP_FONTSIZE,大小); }}/---------------------------------------------- ----------------------