Обсуждение статьи "MetaTrader 5 на Linux" - страница 32

 
Edgar Akhmadeev управления WINE. Для игр я использую GE-Proton10-11. Он не подходил для MT5, потому что шрифт был слишком большим и не масштабировался (или я не знаю как). Поэтому я установил wine-10.8-staging-tkg-ntsync и отдельный префикс. Технология ntsync позволяет ускорить графику, поддерживается новыми ядрами и требует активации устройства /dev/ntsync (sudo modprobe ntsync). Она также совместима с GE-Proton, но не с другими версиями, доступными в Lutris и ProtonUp-Qt.

До всего этого я пытался установить WINE+MT5 с помощью инсталлятора от разработчиков, но он разбился с ошибкой при установке MicrosoftEdgeWebview2Setup.exe. Ручная установка не удалась, пока я не изменил версию в WINE на Windows 8.1. После этого MT5 перестал запускаться, сообщая о наличии отладчика в системе. Поэтому пришлось обойтись без него. С wine-gecko отображается весь веб-контент, кроме вкладки отчетов, которую я не использую. Но я бы хотел, чтобы все работало.

В результате МТ5 работает без проблем.

У меня было несколько проблем с играми. Я настроил его на работу с дискретной картой, отключил от нее монитор и подключил к интегрированному видео. Игра запускается с тем же FPS. Если бы она работала только как ускоритель для вычислений, то все равно была бы потеря FPS. Я не понимаю.

Вы пробовали решение коллеги выше - установить Wine Staging + Configure для режима Windows 11? Это сработало для меня. После примерно недели попыток установить с помощью Bottles я сдался и решил попробовать этот способ, и он сработал.
 
Thiago Ferreira #:
wine-10.8-staging-tkg-ntsync

Я установил wine-10.8-staging-tkg-ntsync из Lutris без танцев с бубном. Программа ProtonUp-Qt устанавливает сборки WINE для Lutris. По умолчанию настроен режим Windows 10, и я не менял его на Windows 11. Только для установки MicrosoftEdgeWebview2Setup.exe пробовал совместимость с Windows 8.1.

 
После того как я заметил некоторые несоответствия на графике при перетаскивании мыши в меню после установки MT5 через Wine Staging, я решил создать виртуальную машину с Windows Server 2019, чтобы у меня больше не было проблем с ним. Я отключил все функции (или почти все) сервера, и он стал для меня как Windows 10, но с преимуществом в виде поддержки обновлений в течение еще нескольких лет. До тех пор, пока у меня нет родного решения MT5 для Linux, моим первым выбором должны быть виртуальные машины Windows.
 
Действительно, связка новых версий wine с режимом работы windows 11 обходит проблемы запуска. Но, теперь на графиках не отображаются стрелочные индикаторные буферы (вообще, даже у стандартных индикаторов). Шрифт Wingdins имеется и виден в других приложениях. Да и раньше всё работало.
 
Ilya Filatov #:
Действительно, связка новых версий wine с режимом работы windows 11 обходит проблемы запуска. Но, теперь на графиках не отображаются стрелочные индикаторные буферы (вообще, даже у стандартных индикаторов). Шрифт Wingdins имеется и виден в других приложениях. Да и раньше всё работало.
Выяснилось, что раньше терминал обходился без корректно записанного в  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts  шрифта в системе, а теперь не обходится. Так что если пропали стрелочки, значит нужно привести в порядок наличие шрифта wingding.ttf.
 
@Federico Quintieri Это единственный метод, который сработал для меня. Я на Ubuntu 24.0 LTS и перепробовал столько вариантов, но ничего не помогло решить проблему отсутствия отображения рынка на MT5. Эти точные шаги решили все проблемы. Большое спасибо!!!
 
Я использовал bottles, pure wine и playonelinux, и ничего, что я устанавливаю, работает гладко, например, в bottles, но не загружает шаблоны, у него всегда проблемы с маркетом, и поэтому мне пришлось использовать virtual box для самого мощного ПК, установить windows на два других ПК и вернуться к windows, ожидая, когда mql5 сделает приложение, которое работает в linux.
 
Federico Quintieri #:

С помощью этих шагов я заставил его работать (я на CachyOS), и я новичок в linux

1. Установил Bottles и создал бутылку (приложение)

2. Скачал mt5 windows setup с оригинального сайта mql5 (другие версии выдавали ошибки прокси при установке)

3. В бутле "бегунок" - "ge-proton10-25", который я скачал из домашнего бутла (Preferences => Runners)

4. В настройках бутылки metatrader5 я переключился на windows 11

5. Зависимости бутла, который я скачал: dotnet48 - allfonts - vcredist2019 - vcredist2015

6. Запустил mt5.exe в бутылке metatrader5, которую только что создал.

7. Затем в настройках бутылки открываем терминал, пишем "winecfg", в новом окне переходим в графику и настраиваем "dpi" в зависимости от того, насколько сильно вы хотите увеличить mt5, у меня 96 (у меня была такая же проблема с масштабированием, когда я пытался установить его с lucris, теперь он работает отлично)

Это то, что сработало для меня, я пробую и кодирую разные вещи, и это, кажется, работает хорошо.

Спасибо большое. Я боролся с этим почти 3 недели, даже используя бутылки. Использование ваших протонных бегунов делает все гладко. Большое спасибо. Теперь нет необходимости в дорогом wndows vps. lol
 

Скрипт установки работает. Торговля также работает, как и запуск MT5 с базовыми индикаторами.

Но тут уже возникают некоторые проблемы, потому что не все индикаторы созданы одинаковыми. Некоторые имеют другое окно настройки, и не все они позволяют менять цвета. Потому что окно выбора цвета не открывается. Зато можно изменить период.

Попробуйте использовать Channels из папки Custom Indicators, входящей в комплект поставки: вы не можете менять цвета на каналах.

Что он также не умеет делать, так это создавать и манипулировать несколькими графическими объектами с помощью эксперта. Он не работает с любой комбинацией Bottles, потому что не работает со скриптом установки.

:-|
 
#include <ChartObjects/ChartObjectsShapes.mqh>

CChartObjectRectangle   m_rect[];


bool IsFirstRun=true;

//+------------------------------------------------------------------+
//| Функция инициализации эксперта|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   ArrayResize(m_rect,4);
   for(int i=0;i<ArraySize(m_rect);i++)
     {
      if(!(m_rect[i].Create(0,"Profit",0,0,0,0,0)
       ))
      Print("Test Rectangle objects creation failed!");

   else
      PrintFormat("Test Rectangle%d creation succeeded",i);
     }
   

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Функция деинициализации эксперта|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   for(int i=0;i<ArraySize(m_rect);i++)
     {
      if(m_rect[i].Delete())PrintFormat("Test Rectangle%d deleted",i);
      else PrintFormat("Test Rectangle%d removal failed",i);
     }
  }
//+------------------------------------------------------------------+
//| Функция экспертного тика|
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(IsFirstRun || IsNewBar())
     {
      int barShift=0;
      for(int i=0;i<ArraySize(m_rect);i++)
        {
         if(!m_rect[i].SetPoint(0,iTime(_Symbol,_Period,barShift),SymbolInfoDouble(_Symbol,SYMBOL_ASK))) PrintFormat("Point %d, %d Setting failed",i,0); else PrintFormat("Point %d, %d Setting succeeded",i,0);
         barShift+=10;
         if(!m_rect[i].SetPoint(1,iTime(_Symbol,_Period,barShift),SymbolInfoDouble(_Symbol,SYMBOL_ASK)+0.003))PrintFormat("Point %d, %d Setting failed",i,1); else PrintFormat("Point %d, %d Setting succeeded",i,1);
        }
      

      IsFirstRun=false;
     }
  }

bool IsNewBar()
  {
   bool result=false;
   static datetime newBar=0;
   datetime currBar = iTime(_Symbol,_Period,0);
   if(newBar!=currBar)
     {
      result=true;
      newBar=currBar;
     }
   return result;
  }

Этот тестовый советник должен показывать четыре прямоугольника в линию при броске на график EURUSD. Виден только последний прямоугольник. Также у меня возникли проблемы с изменением цвета и заливки прямоугольников. На это я обратил внимание, когда пытался построить небольшой советник с двумя прямоугольниками и несколькими кнопками. Кнопки тоже не были видны.

Странно, но тестовый эксперт"Controls" прекрасно отображает все кнопки.

В бутылках я пытался решить проблему установкой различных зависимостей, а именно directx, поскольку я помню, что думал, что directx может иметь какое-то отношение к графическим объектам MT5, но я не уверен, что это верно.