Mam ten kod i działa dobrze, ale chciałbym móc przenieść tekst tak, aby był to 10 pipsów od góry wykresu i jednocześnie chciałbym móc wyśrodkować tekst do okresu dziennego separatory, więc zawsze jest w środku
Jak mogę to zrobić?
Oto kod, który mam
Wstawiony kod/ --------------------------------------------- --------------------- /| Week_Days.mq4 |/ ----------------------------------------------- ------------------- #property indior_chart_window input int Dni = 100;/Dni pola/input bool OpenCloseBox = true;/Open Close Boxs input bool DrawBox = prawdziwe; datetime T; ciąg mql_name; int a, Bar;/ ----------------------------------------------- ------------------- /| Niestandardowa funkcja inicjalizacji/ ----------------------------------------------- ------------------- int OnInit () {//--- mql_name = MQLInfoString (MQL_PROGRAM_NAME);/--- return (INIT_SUCCEEDED); }/ ---------------------------------------------- -------------------- /| Specjalistyczna funkcja deinicjalizacji |/ ----------------------------------------------- ------------------- void OnDeinit (const int reason) {//--- ObjectsDeleteAll (0, mql_name);/---}/ ----------------------------------------- ------------------------- /| Niestandardowa funkcja iteracji |/ ----------------------------------------------- ------------------- 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 = Dni;} 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 = wtorek;} if (TimeDayOfWeek (iTime (NULL, PERIOD_D1, i)) == 3) {clr = clrDimGray; TXT = Środa;} if (TimeDayOfWeek (iTime (NULL, PERIOD_D1, i)) == 4) {clr = clrDimGray; TXT = czwartek;} if (TimeDayOfWeek (iTime (NULL, PERIOD_D1, i)) == 5) {clr = clrDimGray; TXT = Friday;} DrawTXT (TXT tname, TXT, t, high 10 * Point, clr); }}/---------------------------------------------- --------------------- void DrawTXT (nazwa ciągu, tekst ciągu, data i godzina, podwójna cena, kolor CLR, ENUM_ANCHOR_POINT ANCHOR_ = ANCHOR_LEFT_LOWER, int rozmiar = 16) {name = nazwa_mql nazwa; if (ObjectFind (0, name) lt; 0) {ObjectCreate (0, nazwa, OBJ_TEXT, 0, czas, cena);ObjectSetString (0, nazwa, OBJPROP_TEXT, tekst); ObjectSetInteger (0, nazwa, OBJPROP_BACK, prawda); ObjectSetString (0, nazwa, OBJPROP_FONT, Arial); ObjectSetInteger (0, nazwa, OBJPROP_FONTSIZE, rozmiar); ObjectSetInteger (0, nazwa, OBJPROP_ANCHOR, ANCHOR_); ObjectSetInteger (0, nazwa, OBJPROP_COLOR, clr); ObjectSetInteger (0, nazwa, OBJPROP_SELECTABLE, false); ObjectSetInteger (0, nazwa, OBJPROP_SELECTED, false); ObjectSetInteger (0, nazwa, OBJPROP_HIDDEN, true); } else {ObjectMove (0, nazwa, 0, czas, cena); ObjectSetInteger (0, nazwa, OBJPROP_COLOR, clr); ObjectSetString (0, nazwa, OBJPROP_TEXT, tekst); ObjectSetInteger (0, nazwa, OBJPROP_FONTSIZE, rozmiar); }}/---------------------------------------------- ----------------------