最初のインジケータだけが入力データを持ち、他のインジケータはグローバル変数から 必要なものを取得 extern int Lenght=560;// ウィンドウのサイズを設定 extern int Period_count=2;// サブウィンドウで探している期間の数を設定 extern int InPast=0;// 予想評価のために、過去のバーで作業、としています。 extern int Futur=100; // 予測を行うためのバー数 extern int iMAperiod=0; // チャート上にギャップがある場合、よりスムーズに、増やすことが可能 extern int PeriodStep=10; // PeriodStepより近くにある二つのローカル最大値は一つと見なされる。
この話題には興味がないようだ。何人かが見ているのでしょうが、それだけです。
まあ、それは自分のせいなんですけどね。曖昧な仮定と不完全な指標でスレッドを立ち上げた。
これを直さないといけないんです。まずは理論から。
将来というのは、少なくとも価格がどのように推移するかという推測を意味します。
高速フーリエ変換で未来を予測することはできない。
通常のフーリエ変換でも、窓の長さと傾きを調整すれば可能です。
窓の長さと勾配
結局、フーリエはこの商売の味方ではない、という結論に達した。
サインとコサインのサブウィンドウのようなものを使ってみることにしました
そのサブウィンドウの中で指定された期間数を占めるものをスキャンします。
最小の長さから始まり、所定の長さまで(サブウィンドウは有限の長さから始まる
サブウィンドウは時間の終わりから始まり、時間をさかのぼっていきます)、このデータを使ってピリオドグラムとフェイゾグラムを作成します。
ペリオドグラムの極大値から対応する周期を特定し、グラフにプロットする。
をグラフ上に表示し、その変動を未来に拡張する。
ゆっくりでいいんです。始めたことを終わらせる :)
先程、ご自身で「予想通りの価格になる」と書いておられましたが、それがいつになるかは未知数です。
ジグザグ(ただし、Hi-Loのみ-すでに変化していないトップがある)を取り、ZZトップの増分によって次のトップを予測し、それがいつ現れるか-トップ間の時間の増分によって予測しようとしたらどうでしょうか。そして、この状況でのソストープはよりシンプルに......。
ちょっと練習
新バージョンのインジケータはこちらです。旧バージョンとの違い
)人間による読み取り
)多くのバグを修正
)多くのアルゴリズムを改善
)そして最も重要なハイライト期間は、自動と
の手動モードの両方で行うことができるようになりました。
使用方法
ウィンドウの長さは、回帰のチャネルを伸ばすことで調整できます
)PF_2_ANALYSIS を取り付けると、周波数を手動で追加できます -
スクリプトを最大までドラッグ&ドロップ -
PF_ADD で適切な周波数を追加
PF_DEL で削除
次のティックで、または refresh を押した場合のみ更新が行われます。
それぞれのローカルハイが検索され、
が追加または削除されます。
)添付ファイル PF_3_WIEV - このインジケータは、
自動または手動で見つけた変動を個別にプロットし、どのような最大値を見つけたかを視覚的に
評価します。
最初のインジケータだけが入力データを持ち、他のインジケータはグローバル変数から 必要なものを取得
extern int Lenght=560;// ウィンドウのサイズを設定
extern int Period_count=2;// サブウィンドウで探している期間の数を設定
extern int InPast=0;// 予想評価のために、過去のバーで作業、としています。
extern int Futur=100; // 予測を行うためのバー数
extern int iMAperiod=0; // チャート上にギャップがある場合、よりスムーズに、増やすことが可能
extern int PeriodStep=10; // PeriodStepより近くにある二つのローカル最大値は一つと見なされる。
1つの通貨ペアと時間間隔に、指標のコピーを1つだけ配置することができます(PF_3_WIEVを除く)。
以前、齋藤さんご自身も「予測される水準に達する」と書いておられましたが、それがいつになるかはわかりません。
私はそれを書いていない.
ANG3110のインジケーターについて書いています。
私のはもっと一般的なものです。
配列をグローバル化する方法はありますか?
何が必要なのかよくわからないのですが、大量のデータを保存しておいて、それをまた読み込む必要があるときは、中間ファイルへの書き込みなどを利用すると簡単です。
int handle=FileOpen("Test.dat",FILE_BIN|FILE_WRITE)。
FileWriteArray(handle,arr,0,Narr)。
そして、別のプログラムから読み返す。
int handle=FileOpen("Test.dat",FILE_BIN|FILE_READ)。
FileReadArray(handle,arr,0,Narr)。
詳しくは、MT4ヘルプをご参照ください。
FileWriteArrayのようなものを探していました。
しかし、私はすでにそれなしで実装しました - 刻み目ごとにディスクに書き込むのは良くありません
アクセス権を指標間で分散させるべき...
再計算がしやすくなり、経済的な計算ができるようになりました。
今のところEURUSDの予想が確定しています。
GBPJPGのみ、端末が5分ほどハングアップしています。
m_keeper
きっと役に立つと思います。ご一読ください。面白くないと思わないでください。それどころか私自身のことを言えば、それ(枝)はよく読みました。そして、多くの人も、ただ丁寧に扱い、浸水させないようにしていると思います。枝を残す。
プライバルの 意見に賛成です。
PF_3_Wievでレンダリングすると、波形がウィンドウの外にはみ出ることがあります。あまり便利ではない
m_keeper
...支店がおもしろくないなんて思わないでください。それどころか私自身のことを言えば、それ(枝)はよく読みました。そして、多くの人も、ただ、丁寧に扱って、ぽろぽろしないことだと思います。枝を残す。
+1
m_keeper
...支店がおもしろくないなんて思わないでください。それどころか私自身のことを言えば、それ(枝)はよく読みました。そして、多くの人も、ただ、丁寧に扱って、ぽろぽろしないことだと思います。枝を残す。
+1
+2.とても興味深く見守っています。
P.S.http://dsp-book.narod.ru/books.html リンクはスパイダーでとりました。DSPに関する多くの文献(これは私のような者、つまり、このテーマではないが興味がある者のためのものだ)。:))