Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях. Мало кто...
The term has slightly different meanings in different branches of linguistics and computer science. Traditional sentence parsing is often performed as a method of understanding the exact meaning of a sentence or word, sometimes with the aid of devices such as sentence diagrams. It usually emphasizes the importance of grammatical divisions such...
なぜ、複雑なものを作る必要があるのでしょうか?
この例では、インジケータではなく、Expert Advisorの情報を 外部コードを作成することなくインジケータとして 出力することが可能であることを実証しています。
ToIndicator_Example.mq5が動作しなかった場合、Indicators folderRoffildのコードはターミナル起動 時にビルドされていないはずです。ログがあると助かる。
もちろん、何でも一から作ることに慣れているので、誰も新しいライブラリを覚えようとは思わないのですが、今の世の中、サードパーティのコードを使うのは当たり前...。
プラットフォームの開発者は、ソフトウェア・モジュールを機能別にランク付けするシステムを体系的に改良しているのに、あなたとあなたのライブラリは逆の方向に進み、またすべてを脱人格化したがる...))
モジュールに分割するためには、依存関係管理システムが必要です。現在、MQLにはそのようなシステムはありませんし、今後もないでしょう。
通常の開発では、Expert Advisor、Libraries、Indicator、Scriptという明確な区分はなく、すべてが相互に関連している。MQでは、それらを分離することにしたのです。この部門は、CodeBaseに殺到するような小規模なプロジェクトに適して います。
CodeBaseにこのライブラリがない主な理由は、すべてのファイルを1つのアーカイブにまとめたり、バージョン管理システムを通じて公開することができないからです。今までは、1つ1つのファイルをデータベースに追加しなければなりませんでしたが、それはナンセンスです...。そのため、CodeBaseではこの制約のために中・大規模なプロジェクトができないのです。
ログエントリ例: https://github.com/Roffild/RoffildLibrary/blob/master/Scripts/Roffild/UnitTests/Log4MQL_UnitTest.mq5
LogMX用モジュールロフィルド図書館
私はMQL5プログラミング・コミュニティではRoffildとして知られており、これは私のMQL5用オープンソース・ライブラリです。昔、一般的なプログラミング言語の標準となった機能をMQL5で実現しようとしたものです。1つのファイルに1つのアイデアを実装しています。ライブラリーは、新しい機能が必要になったときに補充されます。
Githubにプロジェクトを掲載しようとした人はほとんどいない。統一された規格はありません。MetaQuotesは、プロジェクト作成時にバージョン管理システムの利用を考慮していません。なぜかMetaQuotesのプログラマーは、プロジェクトは1種類でなければならないと考えています。MQL5.comのCodeBaseで公開されているような小規模なプロジェクトでは、この区分は合理的です。中・大規模プロジェクトでは、1つのプロジェクトタイプを選択することは不可能です。
プロジェクト構築の構造をいろいろと実験してみたんです。Gitを使うために、MetaQuotesの標準的なフォルダ構造の外にファイルを移動させる必要があったのです。中間フォルダ(このライブラリでは "Roffild "フォルダ)へのリンクを作成するのが最も良い方法です。
MetaEditorはUTF-16でコードを保存できますが、BOM付きのUTF-8エンコーディングもサポートされています。ソースコードファイルを変換するには、サードパーティ製のエディタ(メモ帳++ をお勧めします)を使用する必要があります。
ライブラリーは、関心ごとに細分化することができます。
ドキュメンテーション
MQL5
ジャワ
参考文献
ロフィルド・ドットコム
ギズブ
MQL5.com:英語でのトピックについて
MQL5.com:ロシア語での議論のためのトピック
インストール
(オプション)
mklink /j link where - は、管理者権限を必要としません。
APPDATA%MetaQuotesフォルダをパーティションのルートまたは大きなパーティションに置くことは理にかなっています。 Windowsには255文字のファイルパスの制限があります。MQL5のフォルダに88文字でフルパスしているのですが、テスト時に端末が履歴をローカルエージェントの数だけコピーしてしまい、このフォルダのサイズが数Gバイト大きくなってしまいます。
(重要)
プロジェクトのクローン後、MQL5MyProjects﹑RoffildLibraryフォルダーからcreate_links.batを実行します。
コードスタイル
Google Javaスタイル
タブ=3スペース
カラムリミット=110
ライセンス
Apacheライセンス2.0
MySQLファイルフォーマットへのデータ 書き込み」がありますが、なぜこのフォーマットからの読み込みがないのでしょうか?
なぜなら、テキストフォーマットに書き込むのは簡単ですが、このフォーマットから読み込むにはパーサーを使わなければならないからです。https://en.wikipedia.org/wiki/Parsing
例えば、MQLを使って1000カラムを作るのは、全然簡単じゃない...。
ある人にとっては簡単なことでも、ある人にとってはそうではない、例えばMQLを使って1000カラムを作るのは全然簡単じゃない...。
あの...MQLにはカラムが全くありません。そして、MQL != SQLは全く別の言語です。
SQLを知っている人は、パスが5000本を超えると最適化後のベストパスのふるい分けが楽になります。TesterSql.mqh に実装。