Lowest関数とHighest関数が返すもの - ページ 3

 
キャンディッド、不規則な動作について説明してみる。

一つの選択肢です。他にもあります。
最初の光線があります。わかりやすくするために - ゼロバーから来ること。ゼロバーには最大と最小があります。価格が極値を変えずにバーの内側を移動した場合。極限は変化しないので、最初の光線は動かずに止まっているはずです。でも、そうじゃないんです。最初のレイはジャークする。位置を変更します。これは、不安定さの外見的な現れ方を説明したに過ぎない。アルゴリズムが安定的に動作し、ジグザグ動作が依存する市場パラメータ(最後のバーの最大値と最小値)が変化しなければ、最初のレイはもたつくことはないはずです。私自身、この問題で苦労しました。しかし、検索機能の特殊性に気づき、フォーラムに行くことを余儀なくされました。
=================================
指標計算 中にウィンドウを移動(shift,shift+ExtDepth)した場合、新しい極値が出現するのは、新しい価格か古い極値がウィンドウから出たかのどちらかである可能性があります。- 明示的に指定した方が良いと思います。はっきりさせること。言語の説明で言葉の隠れた可能性を探らないように。

そのために、if(highpos!=shift) val=0.0; という行を用意しました。標準コードではどうなっているのか、理解できない。私のバリアントではdangling extremaが消えてしまうことから判断して、正しく行われていないか、全く行われていないかのどちらかです。- この問題に対する私の解答は、if (High[shift]=val) ZigZagBuffer[shift]=val; と if (Low[shift]=val) ZigZagBuffer[shift]=val;
ですが、感覚的には同じことなのです。しかし、それですべての問題が解決するわけではありません。それは、結果との戦い方であって、原因との戦い方ではない。同じように結果と戦おうとした。しかし、最初のレイではうまくいきません。ジグザグアルゴリズムは、言ってみれば、分解しないということです。これを説明します。計算は全履歴に対して行われます。そして、その一部を修正しても、いわばゼロバー付近で処理が不完全なままなのです。適切な言葉が見つからない。つまり、このゼロバー付近の不完全性は、極値を正しく識別する問題を浮き彫りにしているのです。

少し前にウィンドウのパラメータ(shift,shift+ExtDepth)を調整しようとしたことがあります。先日もウィンドウで実験していました。しかし、今のところ結果は出ていません。
 
ポイントは、ジグザグアルゴリズムとでも言いましょうか、「分解しない」ということです。これを説明します。計算は全履歴に対して行われます。そして、その一部を修正しても、いわばゼロバー付近で処理が未完成のままなのです。適切な言葉が見つからない。つまり、このゼロバー付近の不完全性は、極値を正しく識別する問題を浮き彫りにしているのです。<br/ translate="no">です。


この問題は既知であり、理論的に解決されている(私はずっと前にアルゴリズムを頭に叩き込んでいる)。とにかく、他に解決策が見つからなければ、ジグザグアルゴリズムを最適化するつもりです。 1) 最初の実行は、現在のアルゴリズムと同様に履歴全体にわたって行われます 2) 履歴の深いゼロバーからの

各ティックで、ジグザグの2つの極値が検索され、最後の極値は強制的に殺されます。3) からは、ジグザグ計算の標準的な手順が再び実行されます(現在は最後)。4) もし現在の端(ジグザグの尾)が理論的に極値(最後の安値から最高値、またはその逆)になりうるなら、それも極値になる。5) ポイント2)からもう一度新しいティックで
 
nen:
でも、そうはならなかった。1本目のビームがピクリと動く。位置が変わるのです。

まだ見ていないんです。梁の一端を固定したままにしておくのでしょうか?そして、どれを。もし、ゼロバー上にあるのなら、double型の 変数が比較される条件をよく見てみるべきかもしれませんね。 。

計算中にウィンドウを移動させた場合(shift,shift+ExtDepth)、新しい極値の出現は、新しい価格と古い極値がウィンドウから離れたことのどちらかに関連する可能性があります。- 曖昧に指定しない方が良いのでは?はっきりさせること。言語の説明で

これは、言語というより、アルゴリズムに言及しているように思えます。そこで、我々が議論している関数は、実際には極値ではなく、区間内の最大(最小)価格値を求めていることを、本や一部の解説書で注意喚起することが適切であろう。 。
これを行うには、私の挿入行で if(highpos!=shift) val=0.0; .標準コードではどうなっているのか、理解できない。私のバリアントではdangling extremaが消えてしまうことから判断して、正しく行われていないか、全く行われていないかのどちらかです。- この問題に対する私の解決策は、if (High[shift]=val) ZigZagBuffer[shift]=val; and if (Low[shift]=val) ZigZagBuffer[shift]=val といった異なるものです。
私は私のバージョンの方が好きです :)整数を扱うことができます。このような場合、2重の比較(Low[shift]==valのような)だけでは、ビートが表示されることがあります。
 
ロッシュ 私も同じ選択肢を持っています。私の頭の中では漠然とした 思いで止めているところがあります。こう言ってはどうだろう。ポイント④は、アルゴリズムからやや外れています。それはもう、別のアルゴリズムです。また、④で処理した部分が履歴に残るようになると、①から始まるアルゴリズムで処理することで、他の極限値を描く可能性があります。つまり、リアルタイム性と歴史が違ってくるのです。これは許されないことだと私は思います。
 
Rosh 私も同じ選択肢を持っています。私の頭の中では漠然とした 思いで止めているところがあります。こう言ってはどうだろう。ポイント④は、アルゴリズムからやや外れています。これは別のアルゴリズムです。また、④で処理した部分が履歴に残るようになると、①から始まるアルゴリズムで処理することで、他の極限値を描く可能性があります。つまり、リアルタイム性と歴史が違ってくるのです。これは許されないことだと私は思います。


次のティックでポイント4)はポイント2)を通過したファイルで処理されます。
 
Дело в том, что алгоритм зигзага, скажем так, не расчленяется. Поясню это. Просчет проводится по всей истории. И если мы в какой-то части исправим ошибки, то в районе нулевого бара процесс обработки остается, скажем так, незавершенным. Затрудняюсь подобрать правильные слова. Так вот эта незавершенность в районе нулевого бара и вытаскивает на свет проблему правильного поиска экстремумов.


この問題は既知であり、理論的にも解決されている(長い間、アルゴリズムが考えられていた)。
ジグザグはどうすればいいのか、口頭で説明されているのでしょうか?技術仕様書のようなもの。
 
まだ見ていないんです。梁の一端が付いたままになっているのでしょうか?そして、どれを。もし、ゼロバーであれば、double型の変数が比較される条件をよく見てみるべきかもしれませんね?
問題は、ジグザグを使用するインジケータを非常に厳しい条件でテストしていることです。分単位で、2-1-1パラメータで。このようなテストは何のために行うのでしょうか?このようなテストは、隠れた欠点をすべてすぐに明らかにしてしまいます。さらに、すべてのタイムフレームで 例外なく機能するインジケータであってほしいという要望もあります。市場はフラクタルなものです。分単位で取引する人はたくさんいます。なぜ、使い慣れたツールを使って小さな時間軸で仕事をする機会を奪わなければならないのでしょうか。

私は自分のバージョンの方が好きです)。整数を扱うことができます。このような倍数(Low[shift]==val 型)の比較を実行すると、ビートが発生することがあります。
今のところ、ダブルでの 作業で困ったことはありません。これらの数値は、変更されずにメモリーに保存されます。しかし、私の比較対象は1つのメモリセルからの値です。ここで問題が発生するとすれば、それはハードウェア(=コンピューター)の問題です。ハードをどうにかしないといけない。

これは言語ではなく、アルゴリズムのことを指しているように思います。したがって、私たちが議論している関数は、実際には極値ではなく、区間内の最大(最小)価格値を求めているのだということを、本や何らかのコメントで紹介するのが適切でしょう。

私はそれを極限と呼んだだけです。実際には、選択された区間の最大値と最小値である。長い発音です。しかし、その意味は同じです。
 
ジグザグはどうすればいいのか、口頭で説明されているのでしょうか?規約のようなもの?
CodeBase.mql4.comに長い間ありました。しかし、その描写は非常にわかりにくい。そして矛盾している。夏の間に、スラバはジグザグのコードを微調整したのだと思います。その後、以前の説明文の一部だけがサイトに残されています。
 
nen:
doubleとの 連携は、今のところ困難は生じていません。これらの数値は、変更されずにメモリーに保存されます。そして、私の比較は、1つのメモリロケーションから値を取ります。ここで問題が起きるとすれば、それはハードウェア、つまりコンピュータの問題である。ハードをどうにかしないといけない。
まあ、ブランチにあるコードに誘導されるんですけどね。しかも、毎回valを 計算する。douを 比較するときは==を 使わないほうが無難です。
 
まあ、ブランチにあるコードをベースにしてるんですけどね。しかも、毎回valを計算する。そ うなんです、そうなんです。セルの番号が 分かる。このセル(時系列)から、最大または最小のバーの値が取り出される。このバーで最大値を見つけたと考えられる。この値は、見つかった番号と 一緒にインジケーターバッファーに 置かれます。インジケーターの最大値は、バー上の最大値と一致させる必要があります。私のコードでは、同じ発見番号の配列(時系列)から最大値も取り出してvalの 値と比較しています。この番号のバッファにvalの値を入れて、正しい処理をしているかどうかをチェックします。また、バーの最大値と同じにする必要があります。同じ場所から採取した数字を比較するのは、まったく正しいことです。