記事"Linux 上での MetaTrader 5"についてのディスカッション - ページ 32

 
Thiago Ferreira #:
wine-10.8-staging-tkg-ntsync

Lutrisからタンバリンなしで wine-10.8-staging-tkg-ntsyncを インストールした。Proton-Up-Qtソフトは Lutris 用のWINEビルドをインストールする Windows10モードがデフォルトで設定されており、Windows11には変更しなかった。MicrosoftEdgeWebview2Setup.exeの インストールだけはWindows8.1との互換性を試した。

 
Wine Staging経由でMT5をインストールした後、メニューでマウスをドラッグするとグラフに矛盾があることに気づいたので、これ以上問題が起きないようにWindows Server 2019でVMを作成することにした。Serverのすべての機能(というかほとんどすべての機能)を停止させ、私にとってはWindows 10のようになったが、さらに数年間アップデートサポートがあるという利点がある。Linux用のMT5ネイティブ・ソリューションがない限り、私の最初の選択肢はWindows VMであるべきだ。
 
確かに、新しいバージョンのワインをwindows 11モードにバンドルすることで、スタートアップの問題は回避される。しかし、現在、矢印のインジケータ・ バッファはチャート上に表示されません(標準的なインジケータでさえも)。Wingdinsフォントは存在し、他のアプリケーションで見ることができます。また、以前はすべて動作していました。
 
Ilya Filatov 矢印のインジケータ・ バッファはチャート上に表示されません(標準的なインジケータでさえも)。Wingdinsフォントは存在し、他のアプリケーションで見ることができます。以前はすべて機能していた。
以前はシステム内のHKEY_LOCAL_MACHINEにフォントが正しく書かれていなくてもターミナルが動作していたが、今は動作しない。つまり、矢印がない場合は、wingding.ttfフォントの存在を整理する必要があるということだ。
 

私はCachyOSを使っているが、Linuxは初めてだ。

1.Bottlesをインストールし、ボトル(アプリケーション)を作る。

2.オリジナルのmql5のウェブサイトからmt5のウィンドウズセットアップをダウンロード(他のバージョンはインストール中にプロキシエラーが出た)

3.ブートルの "ランナー "は "ge-proton10-25 "で、ブートルのホーム(Preferences => Runners)からダウンロードしました。

4.メタトレーダー5のボトルの設定で、ウィンドウズ11に切り替えた。

5.ダウンロードしたブートルの依存ファイルは、dotnet48 - allfonts - vcredist2019 - vcredist2015 です。

6.作成したメタトレーダー5ボトルでmt5.exeを実行します。

7.ボトルの設定でターミナルを開き、"winecfg "と書き、新しいウィンドウでグラフィックに行き、mt5をどの程度ズームしたいかに基づいて "dpi "を調整する。

いろいろ試してコーディングしているが、うまくいっているようだ。

 
Federico Quintieri この方法しか私には使えませんでした。私はUbuntu 24.0 LTSを使用しており、多くのオプションを試しましたが、MT5でマーケットが表示されない問題を解決するものはありませんでした。これらの正確な手順は、すべての問題を解決しました。ありがとうございました!
 
ボトルズ、ピュアワイン、プレイオリナックスを使ったが、何をインストールしても、ボトルズではスムーズに動くが、テンプレートを読み込まない。
 
Federico Quintieri #:

私はCachyOSを使っていますが、Linuxは初めてです。

1.Bottlesをインストールし、ボトル(アプリケーション)を作る。

2.本家mql5のサイトからmt5のwindowsセットアップをダウンロード(他のバージョンはインストール中にプロキシエラーが出た)

3.ブートルの "ランナー "は "ge-proton10-25 "で、ブートルのホーム(Preferences => Runners)からダウンロードしました。

4.メタトレーダー5ボトルの設定で、ウィンドウズ11に切り替えました。

5.ダウンロードしたブートルの種類は、dotnet48 - allfonts - vcredist2019 - vcredist2015 です。

6.作成したメタトレーダー5ボトルでmt5.exeを実行します。

7.そして、ボトルの設定でターミナルを開き、"winecfg "と書き、新しいウィンドウでグラフィックに行き、mt5をどのくらいズームさせたいかによって "dpi "を調整する。

いろいろ試してコーディングしているが、うまくいっているようだ。

本当にありがとう。ボトルを使っても、3週間近く悩んでいました。あなたのプロトンランナーを使うことで、すべてがスムーズに動くようになりました。ありがとうございました。
 

インストールスクリプトは動作します。取引も機能し、基本的なインジケータでMT5を実行することもできます。

しかし、すべてのインジケーターが同じように作られているわけではないため、すでにいくつかの問題があります。いくつかのインジケーターは異なる設定ウィンドウを持ち、すべてのインジケーターが色を変更できるわけではありません。カラーピッカーが開かないからです。期間を変更することはできます。

付属のCustom Indicators フォルダのChannelsを試してみてください。

また、Expertを介して複数のグラフィカル・オブジェクトを作成・操作することもできません。インストールスクリプトが動作しないため、どのBottleの組み合わせでも動作しません。

:-|
 
#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;
  }

このテスト EA は、EURUSD チャート上に投げられたとき、4 つのレクタングルを一列に表示する。最後のレクタングルだけが表示されている。これは、2つのレクタングルと数個のボタンで小さなEAを構築しようとしていたときに気づいた。ボタンも見えませんでした。

不思議なことに、テスト用の Expert"Controls" ではすべてのボタンがきれいに表示されます。

ボトルでは、directxがMT5のグラフィカルオブジェクトと関係があるかもしれないと思ったことを覚えているので、別の依存関係、つまりdirectxをインストールすることで問題を解決しようとしましたが、それが正しいかどうかはわかりません。