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

 
Maxim Kuznetsov:
もしかしたら彼は、フォーラムに気を取られないように、カーネル・エンジンを書くように指示されたのかもしれませんね :-)

次の作業は、覚えている限りでは、カンヴァスに書くことだった。

"マットレスに寝そべってからキャンバスに書く" )))

 
Реter Konow:

ジョージ、よくわからないのですが、私のアプローチと何か関係があるのでしょうか?軽量なマークアップ言語で作成したGUI接続インターフェースを提供しているんだ。誰 が、何のために、私のやり方を学ぼうとするのか?

私が提供するのは、最もシンプルなMQLよりずっと簡単なものばかりです。

違うんです。見てみると、もっと複雑なんです。何を、どこで、どのように、と覚えておかなければならない機会が一度にたくさんあるからです。それに私の記憶力はあなたよりずっと悪いですから。だから--すべてを記憶している人にとっては、本当に複雑なことではないんです。思い出せない人は?

マークアップ言語は、「いつでも何でも使える」場合の、あなたのアプローチの一例に過ぎません。

しかし、繰り返しになりますが、問題は、このマークアップ言語が良いかどうか、アプローチが良いかどうか、実装が良いかどうかではありません。

誰がそれを必要としているのか、ターゲットは誰なのか、が一番の問題であるはずです。

何度も言いますが、見当たりません。表示される」と異議を唱えたのですね。まあ...まてよ

 
誤動作する可能性があります。仕事柄、知っています。:)よろしくお願いします。今度はみんなにもBAN解除を要求します。(念のため。念のため、間違って。 :))
 
Georgiy Merts:

いいえ、そんなことはありません。見てみると......もっと複雑なんですね。まさに、「何を」「どこで」「どのように」「どのように」覚えなければならないのか、多くの機会が一度に提示されるからです。それに私の記憶力はあなたよりずっと悪いです。だから--すべてを記憶している人にとっては、本当に複雑なことではないんです。思い出せない人は?

マークアップ言語は、「いつでも何でも使える」場合の、あなたのアプローチの一例に過ぎません。

しかし、繰り返しになりますが、問題は、このマークアップ言語が良いかどうか、アプローチが良いかどうか、実装が良いかどうかではありません。

誰がそれを必要としているのか、ターゲットは誰なのか、が一番の問題であるはずです。

何度も言いますが、見当たりません。表示される」と異議を唱えたのですね。まあ...まてよ

ワシリー・ソコロフ

Piotrさん、申し訳ありませんが、あなたがこれまでに提示したのは、何十ものパラメータと未知のものの呼び出しがある地獄のようなMQLプログラムの数行だけです。これがマークアップ言語のプロトタイプだとしたら、もう怖いですね。

さて、昨日は2つの窓を使った解決策を紹介します。以下は、そのマークアップ言語のコードの例である。

(何が地獄のような複雑さなのか、正直言ってわからない)。

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------


//-----------------------------------------------------------------
GROUP,A, 

__, BOARD,"Enter text",   

END_GROUP,
//----------------------------------
"Enter text", H_C2C,  "Edit box 1", 0,
"Enter text", ON_LEFT,"Edit box 1", -20,
//-----------------------------------------------------------------


//====================================================================================================================
END_WINDOW,


//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 2",  W_ICON,99,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================

GROUP, A,

__, T_BOX,"T_1",
             "This window's",
             "appearance controlled",
             "by user's programm.",
             END,

END_GROUP,
//----------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
"T_1",FONT_SIZE,20,
"T_1",text,N_COLOR,(int)C'255,110,10',
"T_1",text,TEXT_FONT,"Arial Bold",
"T_1",N_COLOR,(int)C'240,240,240',

//====================================================================================================================
END_WINDOW,

もちろん、説明なしですべてがクリアになるわけではありませんが、説明なしでも一度に多くのことが理解できる(ように思える...)のです。

 

そして、その結果。


 
Реter Konow:

何がそんなに地獄のような複雑さなのか、正直言ってわからない。

私は「とんでもない」とは言っていない。たくさん暗記しないといけないと言いました。

プロジェクト そのものを進めている限り、説明文を見て、それほど致命的ではありません。何でもかんでも頭の中に入れてしまうんですね。しかし、せっかくインターフェイスを作ったのだからと、他の分野に切り替えてしまうのです。そして、1ヵ月後-何かを変える必要がある。開いてみて、何もわかっていないことに気づき、また1から考えなければならない。

それは、記述の構造そのものが、物理的に何かを混ぜることができないようなものである場合です。単純に「間違った」ことをすると、プロジェクトがコンパイルされないからです。そして、簡単に混同してしまうのに、誰も止めようとせず、コードを通していく--「すべてうまくいっているように見える」、そして、最も都合の悪い瞬間にエラーが見つかるというのは、まったく別の話です。


しかし、これらはそれほど深刻な問題ではありません。ピーターさん、あなたの一番の問題は、ターゲットとなる読者です。ないんです。

 
Georgiy Merts:

....

でも、どれも大きな問題ではありません。ピーターさん、あなたの一番の問題は、ターゲットとなる読者です。ないんです。

あのね、ジョージ、私には大規模なことをやろうと決めたプロジェクトが あるんだ。つまり、MQLの全ユーザーをターゲットにしてほしいと願っていたのです。

私が間違っていたのかもしれません。必要な人はそれほど多くないのかもしれません。誰にもわからない...命が示すものは...))

 
Реter Konow:

私が間違っていたのかもしれません。必要な人は少ないのかもしれませんね。誰にもわからない...人生いろいろ...))

そのための「オプションB」なのです。

いつものように、私は自分のリーグを例に挙げることができます。最初は、彼らが興味を持ってくれて、最適化の手助けをしてくれると思ったのです。回答は2名のみ。しかし、私は「オプションB」を持っていました - 私は新しいコンピュータを購入し、もはや誰の助けも必要としません、私は少なからず自分自身のためにリーグを作成したので - 常に「TSのプール」を持っていること、それはしばらくの間デモに取り組んできました。そして、その中から本当に良いものを選ぶ可能性を研究して、今持っているのです。

プロジェクトの 結果があなたにとって有用であるのと同じように。そして、それを使って、参加者に自慢するのです。誰かが興味を示せば、その人と共有する(あるいは売る)。もし彼らが来なかったら......あなた自身が必要なのです。いずれにせよ、あなたの勝ちです。

 
Реter Konow:

(何が地獄のような複雑さなのか、正直わからない)。

//+------------------------------------------------------------------+
//|                                               Forum sample 2.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------

...

本当に聞いているのか、それとも冗談なのか?何百もの変数定義の地獄のような文字列があり、それをある種のテーブルとして見せかけたいのです。擬似表そのものが曲がっていて、構造もなく、不明瞭な頭文字が並んでいる。

といったところでしょうか。

void Sync_params(int ID){for(int a1 = 0; a1 < All_params; a1++){if((int)P_CORE[a1][_SYNC_ID] == ID){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];}}}
void Sync_P_CORE(){for(int a1 = 0; a1 < All_params; a1++){if(P_CORE[a1][_CURRENT_VALUE] != P_CORE[a1][_NEW_VALUE]){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];if(P_CORE[a1][_SYNC_ID] != NULL)Sync_params((int)P_CORE[a1][_SYNC_ID]);EventChartCustom(0,_SYNC_P_CORE,(int)P_CORE[a1][_ELEMENT],0,P_CORE[a1][_CURRENT_VALUE]);}}}

このフォーマットはご自身で考えられたのでしょうか?よかったですね、ioccc.orgで 1位を取るチャンスは十分にありますよ。

でもね、あなたはそんな風に書かないの。AT ALLこのコードは誰も使うことができません。

The International Obfuscated C Code Contest
  • ioccc.org
International Obfuscated C Code Contest
 
Vasiliy Sokolov:

でもね、あなたはそんな風に書かないの。AT ALL誰もそのコードを使うことはできません。

バシリー、ピーターから手を離せ!

邪魔をしないように。

ターゲット層が知りたい!!「このライブラリをExpert Advisorに付けて使っている」という人がいるはずです。