MAフィードクラスターの検出をどのようにアルゴリズム化しているのでしょうか? - ページ 2

 
Dmitry Fedoseev:

これ以上、発明するのは億劫だ。原理的には解決可能であることを示すヒントがある。

これらのフィードはすべて、過去の価格からのヒートマップに過ぎません。側面図 😉。

また、平均値とは異なり、温度マップは未来に拡張することが可能です。ブラックアウトも、ハーネスがあるから探しやすいんです
 
Maxim Kuznetsov:
これらのフィードはすべて、古い価格からのヒートマップに過ぎません。横から見たところ。

また、平均値とは異なり、温度マップは未来に拡張することができます。ブラックアウトは簡単に見つかるし

はい、そうです!

既成の固定観念があれば、簡単なことです。

そして、それを解決するのは簡単なことではありません...。

ご紹介ありがとうございました
 
Mikhail Toptunov:

そうだ、そうだ!

既成の固定観念があれば、簡単なことです。

なかなか固定観念が働きませんね...。

ディレクションありがとうございました

ヒートマップ算出のための大まかなアルゴリズム(例:100気圧の場合)。

1 から 100 までのすべての Close に対して。

Close[N]=X は行の合計をヒートマップに追加します heatmap[Resolution(X)]+={X/N} + {X/(N+1)}+{X/(N+2)}... 最大100まで。
中括弧内は平均の「成分」で、ちょうどハイライトされています。
Resolution(X) - 「解像度」、例:10ポイント Round((X-MinimalX)/Point/10)

は、局所最大値を求めるべきベクトルを取得します。

このベクトルは、実質的に垂直方向の価格プロファイルです

 

を始めたからには...

ダイレクトカーブのクラスタリングを簡単かつ高速に検出することができます。

Alg.:軸上D以内の点の最大クラスタを探索する。(おそらく描くのは簡単ですが、アーティストではありません)

は,副軸の各X点に対して,X+Dに+1,X-Dに-1 の印をつける。

そして、補助軸に沿って走り、マークの累積和を数える。同時に、最大値、その時間、位置を記憶する。

ALL.

しかし、垂直方向のプロファイルや温度マップのオプションは、時間とリソースを消費するものの、より優れています。

1) 価格から直接カウントされる 2) SMAとのマトリックス接続を維持する 3) スタックに接続される 4) 可変である - フェード、ブラーで「遊び」、自分なりのものを見つけることができる。

 
Mikhail Toptunov:

価格別、期間別のMA繰り返しを再計算してみました。

次のようにしました。

- は、各MAがある方向から別の方向へ遷移 する瞬間を決定した - signal1

- データを受信後、信号1の 繰り返し回数をバーでカウントする

が、結果的にノイズが多くなってしまいました。


そして、現在のバーのMAが次のバーで周期が減少していること、すなわちバンドルが周期だけ下にシフトしていることを検出しました。

信号1に対してデータを連鎖的につなぎ始め、得られたデータの中から、遷移の瞬間を発見した


しかし、すべて同じように動作するわけではなく、ノイズが出たり、表示されなかったりします。



くそー、パターンがうまくいかない、トップウィンドウが空っぽだ。


理想は、青いマーカーで印をつけた値を取得するタスクです

マキシムが正しく伝えた

最大周期でMAを取ると、最小周期で取ることになる

と、いうわけで、フィードのご紹介です。

このパターンは素晴らしい出来栄えで、すべてがはっきりと見え、理解しやすい。


 

もう一つの選択肢

1

ファイル:
22.mq5  4 kb
 

そしてもうひとつ

ファイル:
23.mq5  6 kb
 
1週間か1ヶ月か...。
 
Maxim Kuznetsov:

ヒートマップを計算するための近似アルゴリズム(例えば、100気圧の場合)。

1 から 100 までのすべての Close に対して。

Close[N]=X は、heatmap[Resolution(X)]+={X/N} + {X/(N+1)}+{X/(N+2)}... 最大100までの行の合計をヒートマップに追加します。
括弧内は平均の「成分」、ちょうどハイライトされているところです。
Resolution(X) - 「解像度」、例:10ポイント Round((X-MinimalX)/Point/10)

は、局所最大値を求めるべきベクトルを取得します。

このベクトルは、実際には価格の垂直プロファイルである。

数式を統合しようとすると・・・。私は全般的にタイトで・・・。

#define           Pmax 100   //размер массива по периоду

void ...
{
   for(int p=5; p<=Pmax; p++) // отбор по периодам
      for(int b=rates_total-Pmax; b<rates_total; b++)
        {
         double pr=sm.d[p-1].m[b]; // массив значений цен МА        p-период, b-бар        
        }
}

各バーの各期間の値を持っている - pr

計算の結果、何を得ればいいのですか?

- 各バーに対応する垂直ベクトル(値の配列)。

最初のバーの値を計算する場合

heatmap[Round((pr-MininalX)/Point/10)]+=pr;

MininalX - 100 MA期間の最小価格値。

くだらないことを言っている のは分かっているので、どうかご容赦を!)

 
Mikhail Toptunov:

数式を統合しようとすると...I'm Really, really tight...

各バーの各期間の値を持っている - pr

計算の結果、何を得ればいいのですか?

- 各バーに対応する垂直ベクトル(値の配列)。

最初のバーの値を計算する場合

MininalX - 100 MA期間の最小価格値。

くだらない こと言ってますが、ご容赦ください(笑)

はい、和の「縦ベクトル」が出るはずです。ベクトルの各要素は、例えば10pipsを担当します。

だから、バーの場合は

1. 我々は、最大、最小、それらからベクトルの大きさを決定するために、Pmaxバーの価格を介して実行されます。

2.もう一度、各価格を見直す。

2.1 ベクトルのどの要素で足し算を行うかを決定する

2.2 添加量を決定する。オフセットがNの場合、PRICE * (sum 1/N 1/(N+1) 1/(N+2) ... を追加します。1/Pmax)。
括弧内は2つの高調波系列の 差=H(Pmax)-H(N-1)、必要なら素早く数えることができる。

---

なぜそうなるかというと、N本のバーの距離での価格は、PmaxからNまでのSMA群にのみ「落ちる」ことになるからです。N以下は関係なく、Pmax以下はカウントしない

各SMAのウェイトは1/期間、つまり一度に1/N 1/(N+1) 1/(N+2) ...となります。