記事「Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する」についてのディスカッション

 

新しい記事「Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する」はパブリッシュされました:

最終製品がWindowsとLinuxシステムの両方でシームレスに動作するMetaTrader 5プラットフォームの開発をLinuxシステムのみでおこなう方法のステップとワークフローを探索する旅を始めます。WineとMinGWについて学ぶことができます。これらはどちらも、クロスプラットフォーム開発を機能させるために不可欠なツールです。特に、MinGWのスレッド実装(POSIXおよびWin32)については、どれを使用するかを選択する際に考慮する必要があります。次に、概念実証のDLLを構築し、それをMQL5コードで使用して、最後に両方のスレッド実装のパフォーマンスを比較します。すべては読者の基盤が自力でさらに拡大するようにするためです。この記事を読めば、LinuxでMT関連のツールを快適に構築できるはずです。

Linuxには、力強い開発エコシステムと、ソフトウェア開発のための優れた人間工学があります。

これは、コマンドラインでの作業を楽しむ人にとって魅力的です。アプリケーションのインストールはパッケージマネージャーを使用して容易におこなわれ、OSはブラックボックスではないが内部について詳しく学びたくさせるようなものです。ほとんどすべてのサブシステム用に構成可能で、すぐに使用できる不可欠な開発ツールを備えるという、ソフトウェア開発に適した柔軟で合理化された環境です。

エンドユーザーのPCデスクトップから、VPSなどのクラウドソリューションやAWS、GoogleCloudなどのクラウドサービスプロバイダーまで、幅広く利用できます。

私は、自分が好きなOSに固執したいが、製品を開発してWindowsユーザーに提供したいと考えている開発者がいると強く信じています。もちろん、製品はプラットフォーム間でシームレスに同じように機能する必要があります。

通常、MetaTrader 5開発者は、MQL5プログラミング言語を使用して指標/エキスパートアドバイザー(EA)や関連製品を開発し、どのOSをベースにするかを気にせずにマーケットでエンドユーザーに公開します。配布前には、MT5のIDEを利用して.EX5実行可能ファイルのコンパイルとビルドをおこなうことができます(LinuxでMetaTrader 5を起動する方法を知っている場合)。
ただし、開発者が、MQL5プログラミング言語だけでは提供できない追加サービスをさらに拡張して提供するために、共有ライブラリ(DLL)としてカスタムソリューションを開発する必要がある場合、クロスコンパイルソリューションを探し、落とし穴やベストプラクティスを発見したりツールに慣れたりするのには、より多くの時間と労力を費やさなければなりません。

作者: Wasin Thonkaew

 
興味深い資料を提供してくれた著者に感謝する!
Dockerを使ったMT5の実験についてもっと学び、読むことは興味深いでしょう。
 

なぜ私の一連の似たような(C/C++/mingwについての)記事は、会社のイデオロギーに合わないという 表現で却下されたのでしょうか?

 
pythonの配列やテーブル(numpyやpandasから)を処理する高速なカスタムC/C++関数を作成する文脈で、このようなものがあれば面白いだろう。linuxなしでもできる)
 
Nikolai Semko #:
興味深い資料をありがとう!
Dockerを使ったMT5の実験についてもっと学んだり読んだりするのは面白いと思います。
ご親切にありがとうございます。ロシア語が話せなくてすみません。
 
Aleksey Nikolayev #:
pythonの配列やテーブル(numpyやpandasから)を処理する高速なカスタムC/C++関数を作成する文脈で、このようなものがあれば面白いだろう。Linuxなしでもできる)
はい、Linuxである必要はありません。ただ、クロスプラットフォーム開発の観点から、お好きなプラットフォームでの開発をご提案します。

理想を言えば、各プラットフォームにネイティブなコンパイラを使うのがベストでしょう。CMakeビルド・システムを使って何か書くかもしれません。

コメントありがとう!