Помощь, необходимая для выравнивания текста по вертикали и по усилию; горизонтальный
Results 1 to 9 of 9

Thread: Помощь, необходимая для выравнивания текста по вертикали и по усилию; горизонтальный

  1. #1
    У меня есть этот код, и он работает нормально, но я хотел бы, чтобы он мог перемещать текст, поэтому он составляет 10 пипсов в верхней части диаграммы, и в то же время я хотел бы иметь возможность центрировать текст на дневной период сепараторы, поэтому он всегда находится в середине

    Как я могу это сделать?

    Вот код, который у меня есть

    Введенный код/ --------------------------------------------- --------------------- /| Week_Days.mq4 |/ ----------------------------------------------- ------------------- #property indior_chart_window input int Days = 100;/Days Boxs/ввод bool OpenCloseBox = true;/Open Close Boxs input 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; строка TXT = понедельник; if (TimeDayOfWeek (iTime (NULL, PERIOD_D1, i)) == 2) {clr = clrDimGray; TXT = вторник;} if (TimeDayOfWeek (iTime (NULL, PERIOD_D1, i)) == 3) {clr = clrDimGray; TXT = Среда;} 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, высокий 10 * Point, clr); }}/---------------------------------------------- --------------------- void DrawTXT (имя строки, текст строки, время datetime, двойная цена, цвет clr, ENUM_ANCHOR_POINT ANCHOR_ = ANCHOR_LEFT_LOWER, int size = 16) {name = mql_name имя; if (ObjectFind (0, name) lt; 0) {ObjectCreate (0, имя, OBJ_TEXT, 0, время, цена);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, ложь); ObjectSetInteger (0, имя, OBJPROP_SELECTED, ложь); ObjectSetInteger (0, имя, OBJPROP_HIDDEN, правда); } else {ObjectMove (0, имя, 0, время, цена); ObjectSetInteger (0, имя, OBJPROP_COLOR, CLR); ObjectSetString (0, имя, OBJPROP_TEXT, текст); ObjectSetInteger (0, имя, OBJPROP_FONTSIZE, размер); }}/---------------------------------------------- ----------------------

  2. #2
    здесь ваш pg слегка измененный Введенный код/ --------------------------------------- --------------------------- /| Week_Days.mq4 |/ ----------------------------------------------- ------------------- #property indior_chart_window строка dayWeek # 91; # 93; = {Воскресенье, понедельник, вторник, среда, четверг, пятница, суббота}; input int Days = 100;/Days Boxs/ввод bool OpenCloseBox = true;/Open Close Boxs input bool DrawBox = true; datetime T = 0; int a, Bar; string mql_name;/ ----------------------------------------------- ------------------- /| Пользовательская функция инициализации indior |/ ----------------------------------------------- ------------------- int OnInit () {mql_name = MQLInfoString (MQL_PROGRAM_NAME); возвращать (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 () {datetime t, arrT # 91; # 93 ;; MqlRates ставки # 91; # 93 ;; MqlDateTime mqlTime; цвет clr = clrDimGray; строка TXT; if (a == 0) Bar = Days; else Bar = 1; ArrayResize (ARRT, бар); ArrayResize (тарифы, Бар); CopyTime (_Symbol, PERIOD_D1,0, Бар, ARRT); CopyRates (_Symbol, PERIOD_D1, 0, Bar, ставки); для (int i = 0; ilt; Bar; i ) {t = arrT # 91; i # 93 ;; TimeToStruct (t, mqlTime); TXT = dayWeek # 91; mqlTime.day_of_week # 93 ;; DrawTXT (mql_name TXT TimeToString (t), TXT, t, rate # 91; i # 93; .high 100 * Point, clr); }}/---------------------------------------------- --------------------- void DrawTXT (имя строки, текст строки, время datetime, двойная цена, цвет clr, ENUM_ANCHOR_POINT ANCHOR_ = ANCHOR_LEFT, int size = 16) {if (ObjectFind (0, name) lt; 0) {ObjectCreate (0, имя, OBJ_TEXT, 0, время, цена); ObjectSetString (0, имя, OBJPROP_TEXT, текст); ObjectSetString (0, имя, OBJPROP_FONT, Arial); ObjectSetInteger (0, имя, OBJPROP_FONTSIZE, размер);ObjectSetInteger (0, имя, OBJPROP_ANCHOR, ANCHOR_); ObjectSetInteger (0, имя, OBJPROP_COLOR, CLR); ObjectSet (имя, OBJPROP_ANGLE, 90); } else ObjectMove (0, имя, 0, время, цена); } проверять его, когда рынок открыт

  3. #3
    Quote Originally Posted by ;
    здесь ваш pg слегка изменен/ ----------------------------------------- ------------------------- /| Week_Days.mq4 |/ ----------------------------------------------- ------------------- #property indior_chart_window строка dayWeek [] = {воскресенье, понедельник, вторник, среда, четверг, пятница, суббота}; input int Days = 100;/Days Boxs/ввод bool OpenCloseBox = true;/Open Close Boxs input bool DrawBox = true; datetime T = 0; int a, Bar; string mql_name;/ ----------------------------------------------- ------------------- ...
    Спасибо, Полсельван Должен читать мой пост правильно? Текст вертикальный, и он должен быть горизонтальным

  4. #4
    1 Вложения (и)

  5. #5
    1 Вложения (ы) проверяют этот прикрепленный индекс, когда рынок открыт для точной настройки.
    https://www.russia-forex.ru/attachme...1585643079.mq4

  6. #6

    Quote Originally Posted by ;
    проверьте это в закрытом помещении, когда рынок открыт для тонкой настройки. {файл}
    Не центрирует текст дня

  7. #7
    Разве не возможно иметь его как 10 пипсов от верхней части диаграммы независимо от того, как вы меняете временные рамки?

  8. #8

  9. #9
    1 Вложения (и)
    Quote Originally Posted by ;
    tf {file}
    Спасибо. Расстояние от верхней части диаграммы отлично работает, когда я изменяю временные рамки.
    Можете ли вы изменить его, чтобы текст между разделителями дневного периода был центрирован?

Действующие разрешения

  • Вы не можете создавать новые темы
  • Вы не можете размещать ответы
  • Вы не можете использовать вложения
  • Вы не можете редактировать ваши записи
  •  
  • BB-код - Вкл.
  • Смайлики - Вкл.
  • Код [IMG] - Вкл.
  • Код [VIDEO] - Вкл.
  • HTML-код - Выкл.
Веб-сайт использует cookies
Веб-сайт использует cookies, в настоящее время некоторые из них уже установлены. Вы можете ознакомиться с более подробной информацией об использовании нами cookies здесь. Чтобы принять условия использования cookies, пожалуйста, нажмите на кнопку справа. Если вы продолжаете пользоваться веб-сайтом, вы по умолчанию принимаете условия использования cookies.