汎用クラスライブラリ - バグ、説明、質問、使用上の特徴、提案 - ページ 15

 
ワシリー・ソコロフ

提案する辞書ソリューションにはいくつかの利点があるが、その中でも最も重要なものは、一見しただけでは全く分からない。このようなコードを書くと

Expert Advisorのコード自体にハード的に組み込まれているのです。辞書を埋めるときは、プログラムの実行 時に動的に 行う。ダイナミックアプローチは、より柔軟な対応が可能です。例えば、エラーコードは、ErrorsCode.txtのような特別なファイルに含まれるかもしれません。

起動した瞬間にプログラムはこのファイルを読み、必要なコードを辞書に詰め、必要な変形の文字列をユーザーに返すことができます。このようなファイルは、言語ごとに1ファイルずつ、複数個存在することができます。このように、ユーザーの言語に応じて、ユーザーの言語でのエラーコードを表示するローカライズを行うことができる。さらに、ユーザー自身がこれらのエラーコードを一度自分の言語に翻訳しておけば、プログラム自身が学習して希望のメッセージを自分の言語で出力してくれる。このように、メニューの翻訳をテキストファイルに入れておき、設定によってプログラムがそれを読み込むというのが、ほとんどのプログラムのローカライズの方法です。つまり、プログラムの再コンパイルやアルゴリズムの変更なしに、その結果の表現に大きな影響を与えることができるのです。

このような「ローカライズ」は、HashMapがなくても十分に可能であることはご理解いただけると思います。つまり、ここでも検索速度だけがプラスになるのです。しかし、このタスクでは全く必要ありません。

つまり、時間最適化という形で実用的な利点を示すタスクがあること。他の例は、常に非常に私的なもので、同じように疑問視されるでしょう。でも、オプティマイザーは、論外です。

 
fxsaber

このような「ローカライズ」は、HashMapを使わなくても完璧にできることをご存知でしょうか?つまり、ここでもメリットは検索速度のみ。しかし、このタスクでは実際には全く必要ありません。

つまり、時間最適化という形で実用的な利点を示すタスクがあること。他の例は、常に非常に私的なもので、同じように疑問視されるでしょう。オプティマイザーについては......反論の余地はないでしょう。

この場合のポイントは、スピードではありません。しかし、例の中では--いわば「本質を理解する」。そして、この「エッセンス」をどこに適用するかは、また別の問題です。

 
アルチョム・トリシキン

この場合、スピードは関係ないんです。手本となるもの、いわば本質を「理解する」ためのものです。そして、この「エッセンス」をどこに適用するかは、また別の話です。

私は少し違う認識を持っています。

 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

アルゴリズム, 決定法, 性能比較

セルゲイ・デジブリク さん 2017.12.11 10:41

このタスクの場合:インデックス => 値
CHashMapよりもCArrayListを 使用した方が速いでしょう。

CArrayListは 2倍以上のスペースを必要とし、新しい要素を追加する際の再配置も少なくなります(CArrayListの 成長係数は2、CHashMapは 現在の実装では約1.2)。
また,CArrayListの 結果を読み込む際の手間が省けます。

説明を受けても、まだ理解できていない。私自身の無教養がそれを阻んでいるのです。私はライブラリの本質に触れる勇気がありません。実装と抽象化のスタイルに嫌悪感を覚えます。でも、そうせざるを得ないのでしょう。

 
fxsaber

私は少し違う認識を持っています。

私も賛成です。世の中にはかっこいいものがたくさんありますが、そのすべてがトレードに必要なわけではありません。この図書館もそんな感じです。トレーダーに何を与えるのか?

(トレーダーがなぜそれを必要とするのか、気づかれていないか、誰も知らないので、私はこの質問を繰り返す)

 
fxsaber

これは、説明を受けても、まだ理解されていない。自分の無教養さが障害になっている。私はまだライブラリの根幹に触れる勇気がありません。実装と抽象化のスタイルに反吐が出そうです。でも、そうせざるを得ないのでしょう。


もし必要なら、CHashMapの 実装のアーキテクチャを簡単に説明することもできますが、それは簡単なことではありません。

 
アレクセイ・オレシキン

賛成世の中にはかっこいいものがたくさんありますが、そのすべてがトレードに必要なわけではありません。この図書館もそんな感じです。トレーダーに何を与えるのか?

(彼らはそれを見ていないか、トレーダーにとってそれが何のためにあるのか誰も知らないので、私はもう一度この質問を繰り返すでしょう)


コンテナは、データ構造に 精通した人が、あるデータセットを高速に処理するための便利なインターフェイスを提供します。
多くのプログラミング言語では、コンテナは言語そのものに直接統合された不可欠な要素です。
使い方がわからないからと言って、不便だったり不要だったりすることはないのです。

 
セルゲイ・デジュブリク

もし興味があれば、CHashMapの 実装のアーキテクチャを簡単に説明することができますが、それは些細なことではありません。

面白いですね。そして、ここで質問です。今の実装が気に入らなくて、手を加えたんです。もちろん、曲がっていますよ。オリジナルのバイブルを入手するにはどうすればよいですか?

 
セルゲイ・デジュブリク


コンテナは、データ構造を 理解している人が、一定の量のデータを素早く処理するための便利なインターフェイスを提供します。
多くのプログラミング言語では、コンテナは不可欠な要素であり、言語自体に直接統合されています。
使い方がわからないからと言って、便利でないとは限りません。

役に立たないとは言いません。トレードにどう役立つのか興味があります。まさにトレーディングにおいて。しかも、真空中の球形馬のプログラミングではありません。天気予報を表示する測候所用のソフトをμlで書いていたのなら--問答無用で、単純に必要で、どこでどう応用できるかは明らかです。
トレードに関して、具体的に答えられる方はいらっしゃいますか?
 
アレクセイ・オレシキン
トレーディングについて、具体的に答えてくれる人はいますか?

テスターの速度は、取引に重要なのでしょうか?もしそうなら、HashMapはTSの開発と実行の速度を上げるので、取引にも影響する。