私のアプローチコアはエンジンです。 - ページ 41

 

この2年間、「生きていない」という感覚はありましたが、正直なところ、自分がどこにいるのかわからないんです。

静脈を切ってしまって(縦に、写真を送ります)、今は生きているかどうかわからない--でも、ピーターのトピックによると、生きてはいないらしいです。:(

私はマトリックスの中にいる :(
 
Vladimir Gribachev:

この2年間、「生きてはいないけど、どこにいるのかわからない」という感覚を持っていました。

静脈を切ってしまって(縦に、写真を送ります)、今は生きているかどうかわからない--でも、ピーターのトピックによると、生きてはいないらしいです。:(

きっと悪いことなんだ - 僕はマトリックスの中にいるんだ :(

ウラジーミル・グリバチョフ

どうなんでしょうね。

しかし、私はそれを夢見ていたのです。

やばい!

精神病院へ戻って休まなければならない。

同志よ、そのような冗談はやめてくれ)

私もモフモフするのは構わないのですが、義憤に駆られるのが怖いです。そうなんですねぇ。これだけの評価と製品数がありながら、よくぞ自粛してくれたものだと思います =))
 
Ilya Malev:
多少のフラッブは気にしないが、正義の味方の怒りが怖い。そうなんですねぇ。これだけの評価と商品数がありながら、よくぞ自粛してくれたものだと思います =))

管理人の怒り......それは正当なものです。

禁止事項が多いけど、書いてあるうんちくを読むと、なるほど、殺すほどじゃないんだな、と。

私が何か間違ったことを言ったのなら、あなたはそれを歓迎します。

 
Ilya Malev:

同志よ、そのような冗談はやめてくれ。

幸福、健康、愛、繁栄、たくさんのお金、2台の赤いポルシェ、そしてポーランドにある家。

 
Vladimir Gribachev:

幸福、健康、愛、繁栄、たくさんのお金、2台の赤いポルシェ、そしてポーランドの家。

すみません、プロの癖に。

P.S. そして、引用せずに返信した書き込みを削除していただき、ありがとうございました。

 

約束通り、このエンジンのデモ第2弾をご紹介します。このエンジンは、テスト用のExpert Advisor(下にファイルを添付)に接続し、ユーザーのアクションを渡します。

  1. エンジンウィンドウには2つのタブがあります。グループフォルダ」タブに、グループ「G_FOLDER」を最小化する項目があります。クリックすると、表が表示/非表示になります。
  2. アピアランス・コントローラー」タブに、2つのボタンがあります。それぞれ、異なるテキストの外観を制御します。クリックすると、片方のテキストが表示され、もう片方は消えます。
インストール します。
  1. 2つの接続ファイル(External ConnectionとConnection properties)が添付されています。これらは、inludというフォルダーにインストールする必要があります。(以前のものがあればその代わりに)。
  2. エンジンをindicatorsフォルダにインストールし(古いものがあればその代わりに)、チャートに配置します。
  3. テスト用Expert Advisorをチャートにインストールします。(ファイルがない場合は下記に添付しています。Experts フォルダにインストールし、開き、保存し、コンパイルしてチャートに貼る)。

以上の手順で、テスト用EAの接続テストができます。

テーブル要素を クリックしたり、テキストを入力したり、オプションを選択すると、テスト用Expert Advisorはイベントに関するコメントを含むアラートメッセージを表示します。

Externals Connectionファイルの構造を調べることができます。それはとてもシンプルなことです。

接続プロパティファイルは、開いたり変更したりしないでください。



SZY.最下部にウィンドウズコードのファイルもありますので、興味のある方はご覧ください。

ファイル:
 
Dmitry Fedoseev:

あるボタンをクリックすると1組のコントロールが表示され、別のボタンをクリックすると別のコントロールが表示されるようにしてみてください。同 時に、ウィンドウの最小化、最大化も可能です。また、多くのバリエーションがあり得ることも想定されています。

この課題をどう解決するのか、ピーターに尋ねてみるのも面白いかもしれません。

ここで、ディミトリ、上記の例では、要素現象制御の3つの原理が同時に働いているのだ。

  1. タブの切り替え
  2. G_FOLDER要素を持つ要素のグループを表示/非表示する。
  3. 現象コントロールによるグループまたは個々の要素の表示/非表示。

標準ライブラリには(私の知る限り)そのような機能はありません。

タブ、ボタン、ラジオボタン、アイテムなどの要素はSWITCHで切り替えることができます。

SWITCH, "Элемент 1","Элемент 2","Элемент 3","Элемент 4",..., END,

要素グループや個々の要素のロックは、BLOCKSで行います。

"Элемент 1",BLOCKS,"Элемент 2","Элемент 3","Элемент 4",..., END,

グループ現象は、要素 G_FOLDER で制御する。

//Объявляем элемент G_FOLDER:
//----------------------------------------------------------------------------------
GROUP,A,

__,  G_FOLDER, "Group opener 1",  

END_GROUP,
//--------------------------------------------
i,IN,"V1",                       <------------- Устанавливаем канвас на котором рисуем группу элементов.
i, AT, LEFT_TOP, 1,20,           <------------- Устанавливаем позицию группы элементов.

//Устанавливаем свойства элементов типа G_FOLDERS внутри группы:
i,G_FOLDERS, N_COLOR, (int)C'245,245,245',   N_COLOR, (int)C'245,245,245',  AH_COLOR, (int)C'245,245,245',  NH_COLOR, (int)C'245,245,245', END,
//----------------------------------------------------------------------------------
//Делаем таблицу:
//----------------------------------------------------------------------------------
GROUP,A, IS_TABLE,  ROOT,"Group opener 1", <------------------- Устанавливаем привязку явления группы к элементу "Group opener 1", (который является G_FOLDER)


__,     T_HEADER, "The name of the table", H,30,   C_HEADER, "Text cells", C_HEADER, "Checkbox cells",  C_HEADER, "R button cells", C_HEADER, "C list cells",      C_HEADER, "Edit cells", 
__,     R_HEADER, "Row header 1",    T_CELL, "text 1", CHECKBOX, "Checkbox cell 1",    R_BUTTON, "R button cell 1", C_LIST, "C list cell 1",    EDIT, "Edit cell 1",     
__,     R_HEADER, "Row header 2",    T_CELL, "text 2", CHECKBOX, "Checkbox cell 2",    R_BUTTON, "R button cell 2", C_LIST, "C list cell 2",    EDIT, "Edit cell 2",  
__,     R_HEADER, "Row header 3",    T_CELL, "text 3", CHECKBOX, "Checkbox cell 3",    R_BUTTON, "R button cell 3", C_LIST, "C list cell 3",    EDIT, "Edit cell 3",       
__,     R_HEADER, "Row header 4",    T_CELL, "text 4", CHECKBOX, "Checkbox cell 4",    R_BUTTON, "R button cell 4", C_LIST, "C list cell 4",    EDIT, "Edit cell 4", 

END_GROUP,
//----------------------------------
i,  IN, "V1",
i, Y_GAP,-1,
i, X_GAP,-1,

//Устанавливаем свойства элементов типа CHECKBOXES, R_BUTTONS, EDITS внутри группы:
//---------------------------------------------------------------------------------
i, CHECKBOXES, POINTED,0, END, 
i, R_BUTTONS,  POINTED,0, END, 
i, EDITS, POINTED,0, END, 

//Устанавливаем переключение радио-кнопок внутри таблицы:
//---------------------------------------------------------------------------------
"Radio buttons option",SWITCH, "R button cell 1", "R button cell 2","R button cell 3","R button cell 4",  END,

i,IS_ZEBRA_STYLE, <-----------------------------------Устанавливаем стиль Зебра.
i, AT, _X2X, "V1", 4, _Y2H,"Group opener 1", 5,<-----------------------------------Устанавливаем позицию группы относительно сворачивателя.
//----------------------------------------------------------------------------------

さて、標準ライブラリの力を借りてそんなものを作るには、どれだけのコードを書けばいいのでしょう?

これがマーキング言語とライブラリの違いである。軽さ、速さ。

 
Реter Konow:

ここで、ディミトリ、上記の例では、要素現象制御の3つの原理が同時に働いている。

  1. タブの切り替え
  2. G_FOLDER要素による要素グループの表示/非表示。
  3. 現象コントロールによるグループまたは個々の要素の表示/非表示。

標準ライブラリには(私の知る限り)そのような機能はありません。

タブ、ボタン、ラジオボタン、アイテムなどの要素はSWITCHで切り替えが可能です。

要素グループや個々の要素のロックは、BLOCKSで行います。

グループ現象は、要素 G_FOLDER で制御する。

さて、標準ライブラリの力を借りてそんなものを作るには、どれだけのコードを書けばいいのでしょう?

これがマーキング言語とライブラリの違いである。軽さ、速さ。

タブは全く面白い操作ではありません。タブがなくても十分生きていけます。タブの数が限られすぎている。

そして2と3は、森の奥に行けば行くほど薪が増えるということです。それが何なのか、なぜ必要なのか、まったくわからないし、調べる気もない。なぜなら、本当に必要で不可欠なコントロールのセットはとっくの昔に定義されており、どんなGUI作成タスクにも十分すぎるほどだからです。しかし、これはまるでカルト宗教のようです。自分たちで名前、方法論、定義を作り出して...。など

EAを制御するためのインジケータにGUIを分離して実装しても、EAに何も接続する必要がないことを、もう一度確認しておきます...。OOPの代わりに配列が使われても。だから、アプローチが曲者なのです。最も完璧に考え抜かれるべきところが曲がっている。これは、「製品の顔」と言ってもいいくらいですからね。

 
Dmitry Fedoseev:

タブは全く面白いコントロールではなく、なくても十分生きていけます。タブの数が限られすぎている。

そして2と3は、森の奥に行けば行くほど薪が大きくなる。それが何なのか、なぜ必要なのか、全く分からないし、調べる気もない。なぜなら、本当に必要で不可欠なコントロールのセットはとっくの昔に定義されており、どんなGUI作成タスクにも十分すぎるほどだからです。しかし、これはまるでカルト宗教のようです。自分たちで名前、方法論、定義を作り出して...。など

EAを制御するためのインジケータにGUIを分離して実装しても、EAに何も接続する必要がないことを、もう一度確認しておきます...。OOPの代わりに配列が使われても。だから、アプローチが曲者なのです。最も完璧に考え抜かれるべきところが曲がっている。それは、「製品の顔」とも言えるからです。

タブでキャンバスを完全に入れ替える。そして、2番目と3番目は、カンヴァスを入れ替えることなくエレメント現象を管理するためのものです。そのため、同じキャンバスを再描画し、その都度、異なる要素で 構成しています。

接続についてですが、あなたの考えが理解できません。なぜEAと接続してはいけないのでしょうか?パラメータの同期はどのように行うのですか?

GUIは完全にExpert Advisorの中にあるか、外から接続されているかのどちらかです。外部接続の場合は、接続プロパティを設定し、双方のパラメータ値を同期させる必要があります。

 

Expert Advisorからindicatorに持ち出されたGUIは疑問の余地があります(ただ、MTアーキテクチャのため - indicatorはインターフェーススレッドで動作し、everythingを遅らせることができます)。減速しない指標のために、その機能の一部でもMTでは禁止されている)

そんなことより

惨めなユーザーが(サードパーティの)インディケータとEAをいくつか持っていって、それらがカーネルエンジンの邪魔をしないように全部GUIになったら。どうなるんだろう?

PS/ピーター、あなたはすでに少なくとも無料のホスティングを 見つけ、そこにあなたの製品を入れています。コードベースが良くない場合。α版/β版/プレビュー版の公開は2〜3時間。時間が取れないのか?