[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 407

 
Bihkul:
同僚、5桁の相場を持つ証券会社で働くには、EAコードのどこをどう変えればいいのか、アドバイスをお願いします。
通常、Point 変数が役に立ちます
 
granit77:
アレイです。
私の理解では、2次元の配列で、1次元の値で2次元の値を求めるために、2次元の配列の話をしています。しかし、あらかじめデータを配列に書き込むにはどうしたらいいのでしょうか?
 
KONDOR:
具体的には,a[1000]とb[1000]という2つの配列を作成することができます.
また、探している値が配列の一番端にある場合、すべての値(breakまで)を調べなければならないので、かなり遅いバリアントが得られます。課題は、通常の計算(例:double型の 2つの変数の掛け算)にかかる時間以上の時間をかけずに、素早く見つけることである。
 
KONDOR:
は、"fast "のスイッチ機能があります。
探している値がswitch関数の最終行にあるとします。switch関数の方法論はわかりませんが、なんとなくfor()ループを使ったバリアントと速度的に大差ないような気がしています。
 

もちろん、違いはないでしょう。一方で、必ずしも最後の要素になるとは限りません。

また、なぜそこまで速度にこだわるのでしょうか?この計算を毎ティック 行うのでしょうか?

 
Mathemat:

もちろん、違いはないでしょう。一方で、必ずしも最後の要素になるとは限りません。

また、なぜそこまで速度にこだわるのでしょうか?この計算を毎ティック行うのでしょうか?

そう、すべてのティックに
 
そして、正しい値を見つけるのに1000分の1秒かかるので、心配しないでください。
 
Mathemat:
そして、正しい値を見つけるのに1000分の1秒かかるので、心配しないでください。
すでにかなりの計算量があるので、なんとか速度を最適化したかったのです
 
現在時刻を1970年からの秒数に変換するTimeCurrent()関数が あります。この秒数(int)をdatetimeに戻す関数はないでしょうか。あるいは、秒、分、時間...と区切る必要があるのでは?ありがとうございます。
 
a[i]の異なる値の頻度に関する統計があれば、より頻度の高いものを配列の先頭に置いてみてください(あるいはスイッチを入れてみてください)。