移動平均(およびその他の指標)と誤差の比較 - ページ 3

 
Dina Paches:

しかし、残念ながら、これにも限界があることがわかりました。

誰も殺してないよな?
 
Artyom Trishkin:
誰も殺さなかったことを祈るよ。

しないんです。私の周りには関係ないことですが)

 
Dina Paches:

しないんです。私の周りには関係ないのですが)。

さて、バグはどうでしょう?ダメ?残念...。;)
 
Artyom Trishkin:

まず、正規化された2つの値の差は、最終的に非正規化された値を与えることになります。正規化された差分を確認する必要があります。

第二に、バー内のクロスオーバーをキャッチしたい場合は、ゼロと最初のバーのすべてのティックの値を取る - あなたは多くのことをキャッチします......きっと、いいことがありますよ...。

バーのオープニングでテストする場合、Expert Advisorは明らかに新しいバーのオープニングをトレースし、事後的に、クロスオーバーをチェックする必要があります。

もし、バーのオープニングやティック毎に取引したいのであれば、コードを書いてください。そして、それに従って、同じようにテストしてください。

まず、最初の投稿で「バーオープン時のみの取引」と書きました。ティック取引には微妙なところがある。シグナルは出ますが、特定の価格(始値、終値など)でのみ描画されるため、視覚的にはチャート上でクロスオーバーが発生しません。ダニで描かれることはありません。この場合、素人には、はい、チャート上にクロスオーバーはありませんが、それは遠い間隔の値によってのみ可視化でmuwingsの描画に固有のため(再び、 値と終値など)を説明してください。- 近似値、そんな言葉を聞いたことがあるかな)ではなく、刻みで表示します。第二に、差の正規化はナンセンスである。正確に0にならないように正規化するために、どの程度の符号が必要なのか、事前に知ることはできません(愚かにも有効桁をすべてカットしていない)。私はプログラミングに長く携わっており、それに関連して計算数学もよく理解しています(本職の物理学のモデリングでは、常に計算の精度と格闘しています)。実際、微積分の複雑な数学、誤差などを掘り下げないのであれば、一般に正規化は素晴らしい簡略化である。自分がそのような第一人者だと思っていて、トピック全体をじっくり読んでから結論を出すことに身が入らないのであれば、それはそれで仕方がないことです。そうではなく、新しいバーのオープニングでも取引している場合は、1分のタイムフレームで、終値に適用される2つのSMA 5と34のパラメータで、2015.07.29 at 3:20 のバーでロボットをテストしてみてください。まさに、同じバー内のムービングが2回クロスする状況です。そしてこの状況は、ティックに基づかないトレードでは非現実的です。取引ロボットは両方のシグナルを受信しますか?そして最も重要なことは、同じバーで、異なる時刻のミューイング(というか初期値)の差がなぜ等しくないのかという疑問に対する答えがまだ出ていないことです(Alexey Lebedevだけが試してくれました、ありがとうございます、でも推測に過ぎませんが・・・)。そして、iMAの機能原理を知らないと答えようがないのです。

P.S.雑談ですが、問題の核心に触れたくないのであれば、掲示板に専用のスレッドがあると思います。

 
Dina Paches:

しかし、残念ながら、これにも限界があることがわかりました。

もちろんアドバイスはありがたいのですが、ヘルプは自分で読むことができます。また、繰り返しになりますが、計算数学は特定のプログラミング言語に縛られるものではありません。まさに計算間違いです。
 
gammaray:
...

ハイパーボロイドの再発明を続けてください。いつも正しくカウントしてくれます。ああ、はい、すみません、私はあなたの計算数学の第一人者ではありません、私はがらくたを発明しません - 私はMT4とMT5のプログラムを作っています。そして、言われたことを聞きたくなければ、どんどん利口になっていく(教科書の話ではないしね)。

私は繰り返し - あなたが新しいバーのオープニングで取引する場合 - 質問です:なぜあなたは、バーの内部にクロスが必要です(それはあなたにとって重要ですか? もしそうなら、私はそれを行う方法をアドバイスします、そうでなければ - それについて忘れてください)。

あなたの時間データで私のロボットを使うつもりはありません。私はとっくにMAHでの取引は諦めています。そして、始値を 除くすべての価格を使って計算すると、MAEがゼロバーをオーバーフローすることは、小学生でも知っていることです。ローソク足の始点でトレードしているのに、なぜ「あったのになくなった」と説明するのでしょうか。だから、オープニングで、MAAのデータを取ってください。

どこで問題を発見したのですか?ここにあなたの十字架があります。


このクロスオーバーを正しく認識するためのコードを教えてください。

 
Artyom Trishkin:

ハイパーボロイドの再発明を続けてください。いつも正しくカウントしてくれます。ああ、はい、すみません、私はあなたの計算数学の第一人者ではありません、私はがらくたを発明しません - 私はMT4とMT5のプログラムを作っています。そして、言われたことを聞こうとしないので、どんどん賢くなっていく(教科書の話ではないし)。

繰り返しになりますが、新しいバーのオープニングでトレードする場合、問題は、なぜバーの中のクロスが必要なのかということです(あなたにとって重要ですか? もしそうなら、私はその方法をアドバイスしますが、そうでなければ、忘れてください)。

あなたの時間データで私のロボットを使うつもりはありません。私はとっくにMAHでの取引は諦めています。そして、始値を 除くすべての価格を使って計算すると、MAEがゼロバーをオーバーフローすることは、小学生でも知っていることです。ローソクの始まりで取引すると、それがあったのに今はなくなってしまったと、何のために説明する必要があるのでしょうか。だから、オープニングで、MAAのデータを取ってください。

どこで問題を発見したのですか?ここで、あなたのクロスオーバーを紹介します。


このクロスオーバーを正しく識別するためのコードを提案してもらえますか?

私はハイパードロイドを発明したわけではありません。もし私がそれを発明したかったら、何も聞かなかったでしょう。そして、私は賢いのではなく、反例をあげているのです(あなたの好きな正規化も含めて)。バー内のクロスオーバーについて。MAオープントレードの最も原始的なTSは、その交差点で取引します。次の反対方向の交差点では、まず、前の交差点で開いた取引を決済し、その反対側に新しい取引を開きます。もしクロスオーバーを逃すと(いわば2回バー内部でクロスオーバーした場合、そうなる)、1つのシグナルを逃すことになるのです。従って、私は現在の取引を終了させません。そして、このTSでは常に1つのトレードがあるはずなのに、私のロボットには2つのアクティブトレードがあります。だからこそ、どんなクロスオーバーも重要なのです。さらに、ローソク足の始まりの価格に関して。この場合、例えば終値でMA値をとると、クロスオーバーシグナルの大部分は見逃されることになります。簡単な例-MA終値(新しいバーが現れたばかりなので、どれを取るかは重要ではありません;すべてのМА値は等しくなります)を取ります。新しく出現したバーの中央のどこかでMAが交差しているが、始値では交差していない状況を想像してください。次の新しいバーでは、前のバーの終値(始値と終値の間のどこかで交差している)を使用するため、その交差点は完全に失われます。シグナルは、MAがバーの終値で正確にクロスする、私が最初に説明した稀なケースにのみ発生します。現在のバーが開かれている場合、МАは始値に適用されるべきという制限が既にあるということです。

私が挙げた例では、非厳密な不等式を一つ導入することで対処しています。私の前の投稿のバー(1つのバーで2つのMAクロスオーバーがある)をテストしてみて、あなたのロボットがこれらのクロスオーバーを検出するかどうかを参照してください?バーが表示されたときだけ動作するのであれば、それは無理な話です。ティックで動作する場合のみ。そして、そこにはすでに落とし穴があることを説明しました。

 

2つの実数を比較するときに、正規化する必要はない。

数字が本当に等しければ、メモリに等しく格納 される。実は、この性質があるからこそ、計算機が存在できるのである。

したがって、if(a<b) または if(a==b) の形の比較はどんな場合でも正しく、正規化は必要ない。

もし、研究者の探究心がこのルールに矛盾を見出したとしたら、それは彼の機械が故障しているか、彼の心が故障しているかのどちらかであろう。2つのうちの1つです。

ヘルプやドキュメントはもちろん時々読むべきですが(それらも私たちのようなヒューマノイドによって書かれたものです)、自分なりの良識的な理由付けが必要なのです。

 
gammaray:

私はハイパードロイドを発明したわけではありません。発明がしたかったら、ここで何も聞かないよ。そして、私は賢いのではなく、反例をあげているのです(あなたの好きな正規化も含めて)。バー内のクロスオーバーについて。MAオープントレードの最も原始的なTSは、その交差点で取引します。次の反対方向の交差点では、まず、古い交差点で開いた取引を決済し、その反対側に新しい取引を開くことです。もしクロスオーバーを逃すと(いわば2回バー内部でクロスオーバーした場合、そうなる)、1つのシグナルを逃すことになるのです。従って、私は現在の取引を終了させません。そして、このTSでは常に1つのトレードがあるはずなのに、私のロボットには2つのアクティブトレードがあります。だからこそ、どんなクロスオーバーも重要なのです。さらに、ローソク足の始まりの価格に関して。この場合、例えば終値でMA値をとると、クロスオーバーシグナルの大部分は見逃されることになります。簡単な例-MA終値(新しいバーが現れたばかりなので、どれを取るかは重要ではありません;すべてのМА値は等しくなります)を取ります。新しく出現したバーの中央のどこかでMAが交差しているが、始値では交差していない状況を想像してください。次の新しいバーでは、前のバーの終値(始値と終値の間のどこかで交差している)を使用するため、その交差点は完全に失われます。シグナルは、MAがバーの終値で正確にクロスする、私が最初に説明した稀なケースにのみ発生します。現在のバーが開かれている場合、МАは始値に適用されるべきという制限が既にあるということです。

私が挙げた例では、非厳密な不等式を一つ導入することで対処しています。私の前の投稿のバー(1つのバーで2つのMAクロスオーバーがある)をテストしてみて、あなたのロボットがこれらのクロスオーバーを検出するかどうかを参照してください?バーが表示されたときだけ動作するのであれば、それは無理な話です。ティックで動作する場合のみ。そして、そこにはすでに落とし穴があることを説明しました。

すべてのティックで クロスオーバーを探します。何が問題なのか?
 
Andrey Dik:

2つの実数を比較するときに、何かを正規化する必要は決してありません。

数字が本当に等しければ、同じようにメモリに保存 される。実は、この性質こそが、計算機の存在を可能にしているのである。

したがって、if(a<b) または if(a==b) の形の比較はどんな場合でも正しく、正規化の必要はない。

もし、研究者の探究心がこのルールに矛盾を見出したとしたら、それは彼の機械が故障しているか、彼の心が故障しているかのどちらかであろう。2つのうちの1つです。

ヘルプやドキュメントは確かに時々読まなければならないが(それらも我々と同じように人間が書いたものである)、自分なりの合理的な配慮が必要であろう。

もし、Documentationで提案されている ような方法で複式数を比較する際に、正規化の必要がなければ、このような疑問は 生じないはずである。

また、私のコードでは、必要な条件のトリガー精度を得るために正規化を使用する必要はありません。比較の際に異なる小数点以下の数値の正規化を用いることはもちろん、 、解決すべき課題に基づいて比較条件を設定する際に、 単にそれ自体が便利で必要な 場合がある。

P./S.:でも、一般的には、このスレッドや以前にも 述べたとおりです。

正規化の助けを借りて、いくつかのタスクや目的のために比較(および/または出力値)および/または許容誤差の精度の必要なレベルを調整/調整する可能性について、順番に、他のものの間で、それはコードで特定の条件を規定するときに意図されていた場所と方法のプログラムの条件を正確に動作するようにします。