どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 261

 
tiiga:

さて、どんなインデックスを使うか、どんなパラメータを使うか、いろいろなトピックがありますが、そこで、インデックスを独自に選択するプログラムを作ってみることにしたんです。

約100個のニューロン(数は変更可能だが、10個でも動作は遅い)それぞれに2〜20個の異なるインデックスのセットがあり、もしニューロンが故障して死んだら、新しいインデックスのセットを取得する仕組みになっている。

まずアルゴリズムを最適化し、次にコードを最適化する。
削除済み  
このアルゴリズムは完璧に機能します。七面鳥を扱わず、自分でパータンを割り当てたときと同じアルゴリズムで、数百万のニューロンを十分に速く分析することができました。(数年分の歴史に1時間程度)遅くなるのはターンテーブルの方です。
削除済み  
ダイナモメーターが1台の時は、ある程度早く動くのですが、ダイナモメーターの台数を増やすと、かなり遅くなります。
 
tiiga:
そして、1つのダイナミックインジケータだけでは多少なりとも速く動作しましたが、インジケータの数を増やすと、すべてが極端に遅くなりました。

聖水をかけたほうがいいのでしょうか?

他にアドバイスできることはありますか?ということにこだわったんですね。ロジックは完璧、アルゴリズムは超一流。すべてが微調整され、どこにもバグはなく、コード全体が実行速度の ために最適化されています。

ホッタビッチの電話番号をお教えします。

削除済み  

という質問がありました。

1) iCastomを通して呼び出された場合、インジケータの動作は異なるのか?

2) インジケータから計算を抜き出してExpert Advisorに貼り付けようとするのは妥当でしょうか?

また、ヘルプをクリックすると、ビルド509が表示されます。新しいビルドがあり、新しいものはより速く動作するかもしれないと読んだことがありますが、もしかしたらこれが役に立つかもしれません。

 
tiiga:

という質問がありました。

1) iCastomを通して呼び出された場合、インジケータの動作は異なるのか?

2) インジケータから計算を抜き出してExpert Advisorに貼り付けようとするのは妥当でしょうか?

また、ヘルプをクリックすると、ビルド509と表示されるのですが、新しいビルドがあり、新しい方が速く動くかもしれないと読んだことがあるのですが、もしかしたらこれが助けになるのでしょうか?

あなたの場合(理論的には)、新しいパラメータでインディケータを呼び出すと、ターミナルがインディケータの新しいコピーをロードし、チャート上の履歴ボリューム全体を再計算することを考えると、「インディケータから計算を切り離す」ことは理にかなっていると思います。計算されたバーの数のパラメータを追加することを忘れないでください。しかし、スティックは常に "両刃 "です:すべてのティックで正しい指標は1-2バーを再計算し、Expert Advisorのコードは、各ティック(そして通常、指標のアルゴリズムの計算は、先に述べた1-2バーよりも多くを必要とします)のバーの特定の番号を計算します。

このような複雑な(適応的な)システムは、新しいバーの到着時に実行する必要があります。新しいビルド(今のところ実験的)では、役に立ちません。

追伸:インジケーターコードの「リッピングアウト」の例は、こちらで ご覧いただけます。

削除済み  

ありがとうございます、そんな感じですね。

ちょっとコードを理解する必要がありますね:)

よくコメントされているのは良いことです。

 
TarasBY:

あなたの場合(理論的には)、新しいパラメータでインディケータを呼び出すと、ターミナルがインディケータの新しいコピーをロードし、チャート上の履歴ボリューム全体を再計算することを考えると、「インディケータから計算を取り出す」ことは理にかなっていると思います。計算されたバーの数のパラメータを追加することを忘れないでください。しかし、スティックは常に "両刃 "です:すべてのティックで正しい指標は1-2バーを再計算し、Expert Advisorのコードは、各ティック(そして通常、指標のアルゴリズムの計算は、先に述べた1-2バーよりも多くを必要とします)のバーの特定の番号を計算します。

このような複雑な(適応的な)システムは、新しいバーの到着時に実行する必要があります。新しいビルド(今のところ、実験的なもの)では、役に立ちません。

追伸:インジケーターコードの「はがし方」の例は、こちらで ご覧いただけます。


しかし、別の選択肢もあります。インジケーターのようにEAのダイナミックバッファをベースに整理し、ロジック全体をEAに移行するのです。この場合、プログラマーが注意しなければならないのはバッファのサイズだけで、これはヒストリーのバーの数に応じて自動的に調整されます(ターミナルがインジケータに対して行うのと同じです)。その他の点では、エキスパートアドバイザーとインジケーターの利点を1つのパッケージで得ることができます(さらに、バッファの数はほぼ無制限です)。


EAでダイナミックバッファを整理する方法は、一度紹介しましたが、必要であれば繰り返します。

削除済み  
標準のインデュレーターも改造できると聞きましたが、全編ではなく、限られた小節を 読ませることは可能なのでしょうか?
 
tiiga:
標準のインジケータも変更できると聞いた気がするのですが、履歴全体ではなく、限られた数のバーを読ませることは可能でしょうか?

もちろん、適切な条件を設定すればよく、標準的な例では、それは変数の制限である