Новая версия платформы MetaTrader 5 build 5430: Улучшенные графики на движке Blend2D - страница 34

 
fxsaber # :

b5487, нечитабельный текст.

Знак "равно" не видно.

Подтверждено в сборке 5495. Сообщено в MQ.

 
Ilya Filatov # :

Спасибо огромное!

Можно ещё размытие у DRAW_COLOR_CANDLES и DRAW_CANDLES по телу свечей в среднем размере (второй уровень масштаба) убрать? Если что, у меня масштабирование дисплея 125% (в wine) настроено. Вот, как это выглядит (сверху бары чарта, снизу индикаторные DRAW_COLOR_CANDLES):

В сборке 5495 ситуация осталась прежней?

Если да, пожалуйста, предоставьте код для воспроизведения проблемы. Спасибо.

 
Alain Verleyen #:

В сборке 5495 ситуация осталась прежней?

Если да, пожалуйста, предоставьте код для воспроизведения проблемы. Спасибо.

Осталось как было (сверху чарт, снизу индикатор). Код воспроизведения ниже.

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_plots 1

#property indicator_type1 DRAW_COLOR_CANDLES
#property indicator_color1 clrBlue, clrGreen, clrRed

double Buffer_BO[];
double Buffer_BH[];
double Buffer_BL[];
double Buffer_BC[];
double Buffer_Bclr[];

int OnInit()
{
   SetIndexBuffer(0, Buffer_BO);
   SetIndexBuffer(1, Buffer_BH);
   SetIndexBuffer(2, Buffer_BL);
   SetIndexBuffer(3, Buffer_BC);
   SetIndexBuffer(4, Buffer_Bclr);

   IndicatorSetDouble(INDICATOR_MINIMUM, ChartGetDouble(0, CHART_FIXED_MIN));
   IndicatorSetDouble(INDICATOR_MAXIMUM, ChartGetDouble(0, CHART_FIXED_MAX));

   return INIT_SUCCEEDED;
}

int OnCalculate
(
   const int total,
   const int prev,
   const datetime &time[],
   const double &open[],
   const double &high[],
   const double &low[],
   const double &close[],
   const long &ticks[],
   const long &volume[],
   const int &spread[])
{
   int limit = total - prev - 1;
   if(limit < 0) limit = 1;

   for(int i = limit; i >= 0 && !_StopFlag; i--)
   {
      Buffer_BO[i] = open[i];
      Buffer_BH[i] = high[i];
      Buffer_BL[i] = low[i];
      Buffer_BC[i] = close[i];
      Buffer_Bclr[i] = 0;

      if(open[i] < close[i]) Buffer_Bclr[i] = 1;
      if(open[i] > close[i]) Buffer_Bclr[i] = 2;
   }

   return total;
}

MetaTrader 5 x64 build 5495 started for MetaQuotes Software Corp.
Windows 11 build 22000 on Wine 10.20 Linux 6.12.63-1-MANJARO, 4 x Intel N150, AVX2, 11 / 15 Gb memory, 251 / 343 Gb disk, GMT+3
 
Ilya Filatov #:
Код воспроизведения ниже.

Кстати, если при инициализации добавить строчку

PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_CANDLES);

тогда график строится странным образом:

У свечей появляется обводка одним цветом (нулевым). В случае с привидённым кодом это clrBlue.

 
Ilya Filatov # :

Осталось как было (сверху чарт, снизу индикатор). Код воспроизведения ниже.

Спасибо. Проблема воспроизведена и подтверждена. Сообщено в MQ.
 
Ilya Filatov #:

Кстати, если при инициализации добавить строчку

тогда график строится странным образом:

У свечей появляется обводка одним цветом (нулевым). В случае с привидённым кодом это clrBlue.

  PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_COLOR_CANDLES);
 
fxsaber #:

b5488, ME не закрыть. Пробовал через крестик, через ALT+F4, через меню File->Exit.

Первый раз такое вижу.

У меня такое было тут: https://www.mql5.com/ru/forum/499840/page28#comment_58811220
 
Sunriser # :

В новых версиях терминала, например 5478 объекты OBJ_LABEL создаются, но не отображаются.

Но если открыть свойства объекта и ничего не меняя нажать Ок, то он появляется на графике.

В версии 5452 такой проблемы нет, он нормально отображается сразу после запуска тестового скрипта.

Исправлено в сборке 5495.
 

После этого сообщения озаботился сохранением нажитого непосильным трудом.

Я как то раз тоже столкнулся с такой проблемой, правда виноват был сам, пытался разобраться с хранилищем и не туда нажал, теперь просто боюсь даже смотреть в сторону хранилищ версий.

Поэтому после того как увидел, что можно всё потерять опять, озаботился сохранялкой.

Благо сейчас есть всякие ИИ, которые могут помочь.

Собственно сохранялка всех моих индикаторов и советников в архив, при запуске компа, в папку яндекс диска на компе. 

Проверенно работает стабильно, правда валит всё в одну кучу, но лучше ковыряться в куче своего хлама, чем сидеть совсем ни с чем.

У меня архив весит 50мб раз в 1-2 месяца удалить не нужные архивы меня не задавит. 

Положу здесь, может кому пригодится. 


@echo off
chcp 65001 
title Резервное копирование MetaQuotes

set BACKUP_DIR=D:\Прогр\MQL5_Backups
set LOG_FILE=D:\Прогр\MQL5_Backups\backup_log.txt

echo.%date% %time%: Начало резервного копирования>> "%LOG_FILE%"

REM Создаем папку для бэкапов, если ее нет
if not exist "%BACKUP_DIR%" (
    mkdir "%BACKUP_DIR%"
    echo Создана папка для бэкапов: %BACKUP_DIR%
)

REM Создаем имя файла с датой и временем (без пробелов и двоеточий)
for /f "tokens=1-3 delims=." %%a in ("%date%") do set d=%%a%%b%%c
for /f "tokens=1-3 delims=:." %%a in ("%time%") do set t=%%a%%b%%c
set BACKUP_FILE=%BACKUP_DIR%\MQL5_backup_%d%_%t%.zip

echo.
echo ============================================
echo    Резервное копирование MetaQuotes
echo ============================================
echo Дата: %date% %time%
echo Файл: %BACKUP_FILE%
echo ============================================
echo.

echo Создание резервной копии...

powershell -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; $sourcePath = 'C:\Users\Iskander\AppData\Roaming\MetaQuotes'; $extensions = @('*.mq5','*.mq4','*.mqh'); $excludePaths = @('Shared Projects', 'Examples', 'Free Robots', 'Free Indicators','UnitTests', 'Arrays', 'ChartObjects', 'Charts', 'Math'); $pattern = ($excludePaths | ForEach-Object { [regex]::Escape($_) }) -join '|'; $files = Get-ChildItem -Path $sourcePath -Include $extensions -Recurse | Where-Object { -not ($_.FullName -match $pattern) }; if($files.Count -gt 0) { Compress-Archive -Path $files.FullName -DestinationPath '%BACKUP_FILE%' -CompressionLevel Fastest; $size = (Get-Item '%BACKUP_FILE%').Length/1MB; Write-Host 'Успешно! Заархивировано' $files.Count 'файлов.'; Write-Host 'Размер архива:' ([math]::Round($size,2)) 'MB'; Add-Content -Path '%LOG_FILE%' -Value ('%date% %time%: Создан архив %BACKUP_FILE% - ' + $files.Count + ' файлов, ' + [math]::Round($size,2) + ' MB') -Encoding UTF8 } else { Write-Host 'Файлы не найдены!'; Add-Content -Path '%LOG_FILE%' -Value ('%date% %time%: Файлы не найдены') -Encoding UTF8 }"

echo.
echo ============================================
echo Резервное копирование завершено!
echo ============================================
echo.
pause 

Немного пояснений: 

Путь куда сохраняем архив D:\Прогр\MQL5_Backups

 'C:\Users\Iskander\AppData\Roaming\MetaQuotes'  путь к папке терминалов. 

Папки в которых поиск файлов не осуществляется  'Shared Projects', 'Examples', 'Free Robots', 'Free Indicators','UnitTests', 'Arrays', 'ChartObjects', 'Charts', 'Math'

Код нужно скопировать в текстовый документ, а затем изменить расширение файла  .txt  на   .bat.  переносить строки не рекомендую, так как перестаёт работать

Для автозапуска нужно создать ярлык этого батника и поместить его в папку автозапуска.

Нажать сочетание клавиш Win + R, ввести shell:startup и кликнуть «ОК» — откроется папка автозапуска.

 
Aleksandr Slavskii #:

После этого сообщения озаботился сохранением нажитого непосильным трудом.


если winrar пользуетесь, то там мощная командная строка. Коды и примеры можно в ИИ или интернете посмотреть, при старте windows будет генерировать архив с датой и не будет помойки, будет архив типа такого MQL5_2025-12-29.RAR

после создания, протестирует архив на ошибки, выдаст результат, мощная система

DeepSeek сгенерировал - https://chat.deepseek.com/share/687rt8ata0gg0rxp4a
Shared Conversation - DeepSeek
Shared Conversation - DeepSeek
  • chat.deepseek.com
Отличный запрос! Создание автоматического резервного копирования через командную строку WinRAR с запуском при загрузке Windows — профессиональное решение. ## Полное руководство: Автоматический бэкап при запуске Windows ### 1. Основная команда WinRAR для ...