MQLで書かれたUIのギャラリー - ページ 42

 
なぜなら、それらはビルダーの以前のビルド(4年前)ですでに動作していたからである。新しいリリースにそれらを含めることはかなり現実的である。
 

優先順位をつけた開発の方向性の欠如は、決して 良い結果をもたらさない。プロの開発者なら誰でも知っている初歩的な真理だ。4年前、私には完成までの計画がなかったため、デザイナーの完成版を出すことができなかった。もし計画があれば、とっくにすべてが完成していただろう。プロジェクトを止めた次の理由は、フォーラムでの他の人の意見との実のない議論です。プログラミングのアプローチについての議論や、GUIの 必要性不必要性についての議論...。残念ながら、無駄な時間の浪費だった。

では、このプロジェクトの完成形は?この質問に対する答えは、さらなる開発の方向性の選択を決定するため、非常に重要である。

というわけで、発表する:

1.インターフェース要素のソフトウェア制御

これは現時点での主要課題のひとつである。現在、ユーザーはAPIファイルでGUIイベントを "キャッチ "できるだけで、要素のプロパティやパラメータ値を取得/変更することはできません。複雑さを天秤にかけると、このタスクは簡単で、次のリリースまでには解決されるでしょう。GUI要素とウィンドウのプロパティの幅広いセットへのプログラム的なアクセスをユーザーに与える。


2.レギュラー・テーブルとダイナミック・テーブル

通常のテーブルはすでに実装されている。その動作は繰り返しテストされている。列や行のドラッグ・アンド・ドロップ(テーブル内での位置の変更)、テーブル行の折りたたみ/展開(T_FOLDER要素の追加)、列の非表示/非表示などの機能が動作しました。テーブルへのコントロールの自動統合が機能しました。たとえば、チェックボックス、ドロップダウン・リスト、ボタン、スライダー、ボタン付き入力フィールド、単純な入力フィールドなど、IS_TABLEというキーワードがグループ・ヘッダーに追加されると、それらすべてがテーブルに自動的に統合されました。セル内の値は、値に応じて色分けすることができた。テーブルをツリーリストに埋め込むこともできる。

しかし、すべての古い機能を復活させるために時間を費やす価値があるのだろうか?

それは何とも言えない。

まず最初にすべきことは、通常のテーブルの基本的な機能を復活させ、それがうまく機能するようにすることだと思う。あとは、なるようになるさ。

しかし、本格的なトレーディング・ロボットのインターフェースでメインとなるのはダイナミック・テーブルだ。証券取引所からのデータを無限に受け渡すことができるものだ。私はこれまで一度も実装したことがない。

結論:ダイナミック・テーブルは優先事項である。

(開発を始める必要がある)。


3.ツリーリスト。

かなり現実的なGUI要素で、以前何度もやり直した。そして、その都度より良く機能するようになった。最新バージョンは特に良いが、まだ完成していない。細かく覚えていれば、1日か2日で仕上げることができる。でも、GUIにどれだけ必要なんだ?損はしないと思うが、こだわらないほうがいい。

結論:ツリーリストは今後の開発の優先事項ではない。

(時間があるときに完成させます)。


4.ダイナミック・ウィンドウ。

基本的なメカニズム-リサイズ、垂直・水平スクロール、スケーリング、チャートサイズの変化に対するスケーリングされたウィンドウの適応-はすでにうまく機能している。しかし、小さくて厄介なバグがたくさんある。ダイナミック・ウィンドウは、大きなダイナミック・テーブルや長いリストに理想的です。

結論:ダイナミック・ウィンドウを完成させることが優先事項である。

(熱意を持って2、3日頑張る必要があるかもしれない)。


5.グループとテーブルのミニマイザー。

G_FOLDERエレメントとT_FOLDERエレメント。 過去にはすでに非常にうまく機能していた。今はどうなのか、テストする時間がないのでわからない。興味深いことに、要素現象機能の最新の開発では、ツリーリストとこれら2種類の折りたたみ機能の管理を統一した。つの関数は3つの要素を管理し、サイズは400~500行以内だった(私の基準では大したことはない)。この関数を再び使えるようにすれば(今は無効になっている)、3つの要素すべてが完璧に機能するようになる。見てみよう。

結論:要素G_FOLDERとT_FOLDERの優先順位は低い。

(機会と欲望があればやります)。



そして、今思い浮かんだ最後の優先タスク:

6.マークアップ言語で書かれたエレメントとウィンドウのグループのテンプレートの枝の作成

これによってユーザーは、マークアップ言語の深い知識がなくても、タスクを解決するために必要なインターフェイスを素早く簡単に構築できるようになる。


どなたか、さらなる開発の優先順位について お考えがあれば、ぜひお聞かせください。参考にさせていただきます。

 

そう、プログラム管理は最も重要で、エンジンを使う人にとっては必須だ。

私にとっては、ダイナミック・テーブルは必須です。インターフェイスは、主にイベントやレポートをリアルタイムで視覚化するために必要です。コントロールは、それらを管理するためのストラップです(フィルターなど)。これを実装することで、エンジンの統合を始めることができます。

第二の優先事項はフルスクリーンウィンドウだ。しかし、これは非常に簡単なことで、デザイナーにはすでに実装されている。タスクバーを使ってね。そして一時的に、可能な限り大きなウィンドウを使うことができる。サイズを選ばなければならないのは苦痛だ。

第三の優先事項はグラフィックだ。どれだけ難しいかわからない。たぶん、標準のカンバスツールを使うべきだろう。Fast And Furious Easy And Fast v1以外は試したことがない。

やる気さえあれば十分だ。多くの場合、嫌われ者に遭遇すると、それは消えてしまう。「善人は多数派だが、悪人は組織化されている」。

 
Edgar Akhmadeev コントロールは、それらを管理するために必要です(フィルターなど)。

第二の優先事項はフルスクリーンウィンドウだ。しかし、これは非常に簡単なことで、すでにデザイナーで実現しています。タスクバーで。そして一時的に、可能な限り大きなウィンドウを使うことができる。寸法を拾わなければならないのが辛い。

優先順位の3番目はグラフィックだ。どれほど難しいかわからない。たぶん、標準のカンバスツールを使うべきだろう。Fast And Furious Easy And Fast v1以外は試したことがない。

やる気があればいいんだけどね。多くの場合、嫌われ者に遭遇すると、それは消えてしまう。「善人は多数派だが、悪人は組織化されている」。

1.プログラム・アイテム管理は次のリリースで。7~10日後を予定している。

2.ダイナミック・テーブルは "開発中 "です。どのくらいかかるかはまだ言えない。プロセスは非常に速いかもしれない......。それほど速くないかもしれない。未知数だ。

3.すでにフルスクリーンのウィンドウがあります。試してみてください。ウィンドウのプロパティに「SETTINGS」ではなく「DINAMIC」と書いてください。テストして感想を書いてください。(ビルダーのフィールドリリースバージョンに アクセスしてください)。ウィンドウの端を引っ張ってサイズを変更したり、上のボタンでズームすることができます。一番上のバー(ウィンドウ名のあるところ)をダブルクリックするオプションもあるし、ウィンドウの「キャップ」をつかんで、それ自体が拡大縮小されるまで上にドラッグするだけでもいい。同じ操作は他の方法でも可能です。

4.ウィンドウのAPIファイルを印刷し、ここに投稿してください。そこにどのようにテーブルが印刷されているかを見て理解する。これは将来のソフトウェア接続実装のために重要です。


5.カスタムチャートについて真剣に考えてみます。アナトリーの実装を見たことがありますが、この要素を再現しようとしたことはありません。

 

ダイナミック・ウィンドウを扱うときの重要な注意点:

ウィンドウはV_BOX型の要素を受け付けません。その結果、あるキャンバスが別のキャンバスに重なってしまう。したがって、この要素は、すべての行i、IN、"V1"、...とともにコメントアウトされなければならない。

つまり、V_BOX要素に 配置されたグループは、"MF "上のウィンドウの中だけにあるべきだという ことです。特にi, IN, "V1 " の行をコメントアウトする必要はない。

うまくいかなかったら、明日詳しく紹介しよう。写真で。

 

設定ウィンドウをダイナミックウィンドウに変換した例:

(画像をクリック)

 
正常に実行されましたが、このGUIライブラリをゼロから使いこなす方法を知るには、少し投稿が多すぎるように感じます。
 
私が期待しているのは、ライブラリーの使い方をユーザーに知ってもらうために、さらに(7つの)LESSONSを追加することだ。
 
ツールボックスを絞り込むと、下部のタスクバーがすぐに反応せず、タスクバーが下部に移動する前に別のチャートに切り替えてクリックし直す必要がある。これが改善されるかどうかはわからない。
 
ダイナミック・ウィンドウはまだ完成していないようだ。マウスオーバーはマウスがその位置から離れた後も保持される