ライブラリ: BestInterval - ページ 11

削除済み  
fxsaber:

それほど多くないように思える。ここでもう一つ注意しなければならないことがある。MLとBestIntervalは異なる概念です。MLはTCを探すが、BestIntervalは何も探さない。

こんな例はどうだろう。MLが100のパラメーターを持ち、TCを見つけたとする。ML100+BestInterval10とML110のどちらが良いでしょうか?

まあ、少なからず...予測因子を考慮しなければならないので、それぞれ1つのパラメータが最小です。

私は、それは+-同じになると思います。私はちょうど手動で取引間隔を設定し、例えば夜のセッションで - それでも再学習。つまり、何かのために最高の間隔を削除した場合、オーバーフィットは消えません。

 
Maxim Dmitrievsky:

取引間隔を手動で置くだけで、例えばナイトセッションでは、まだ再トレーニングして います」。

このフレーズは、「まだ聖杯 ではない」に等しいので、笑いを禁じ得ない。

私の考えでは、MLはBigDataに関連する。そして、価格系列はBigDataと呼ぶことはできない。

だからこそ、私のアプローチはやや保守的なのです。私は(少しは)調査し、もちろん覗き見もする(しないのは愚かだ)。そして書いて、出力を見る。BestIntervalはもちろん欠かせないものになっている。

それと同時に、(ある性質を持った)本物のコチラのクールな部分を取り出し、その上でアイデアを競い合う。MLとの根本的な違いは、なぜこのようなトレードをするのか、その理由を常に理解していることだ。

削除済み  
fxsaber:

このフレーズは、「まだ聖杯ではない」ことに等しいので、笑いを起こさずにいられない。

私の考えでは、MLはBigDataに関係する。そして、価格系列は少々のBigDataがあってもBigDataとは呼べない。

だからこそ、私のアプローチは少々変わっている。私は(少しは)調査し、もちろん覗き見もする(しないのは愚かだ)。それから書いて、出力を見る。BestIntervalはもちろん欠かせない。

それと同時に、(ある性質を持った)本物のコチラのクールな部分を取り出し、その上でアイデアを競い合う。MLとの主な違いは、なぜこのようなトレードをするのかが常に理解でき、その逆はないということだ。

僕はニュースをアップロードしたかったんだけど、そこでは本当に面白いことができる。解析するのが面倒なんだ。

bestintervalはそれ自体がとてもクールなもので、ありがとう。

 

もし誰かがOnTesterのクリティカルエラーに 遭遇したら、それを再現するためのデータを教えてください。私は一度も経験したことがない。


ZY Virtualを更新しました。

 

BestIntervalに、利益ではなく、例えば、リカバリーファクター(RF)やプロフィットファクター(PF)(どのようなバリエーションでも)のために最適なインターバルを見つけさせる可能性はあるのか、という質問があります。


PFの場合、答えは明白です。なぜなら、最大PFは、履歴に1つの取引しかないときに達成されるからです。そしてこの取引はプラスになる。したがって、もちろん、ノー。

PFの場合も状況はほぼ同じです。FBのBestIntervalはバランスでしか計算できないということです。したがって、1つの取引(プラス)の履歴で十分である。だから答えは同じだ。


しかし、他の最適化基準に関しては、もっと詳しく説明する必要があります。そのためにブランチでやっているわけです。BestIntervalのコアは複雑ではなく、非常に効率的な(ワンパス)アルゴリズムです。例えば、1000回の取引が行われた場合、BestIntervalは1000回の単純な操作で最適なインターバルを計算します。BestIntervalはこのアルゴリズムに基づいており(日だけでなく週にも適用可能)、それ以外のものはありません。ここがスピードが大きな違いを生むところです - 最適化。このため、計算には時間がかかりません。


BestIntervalは、「捨てて見て、捨てて見て、...、最大になるまで」という原理では動作しません。そうでなければ、異常に遅くなる。だから、取引履歴から絶対的な利益を増やすためだけに働く。そして、TSをコンスタント・ロット・モードで最適化する場合、ビブラを使うのが非常に理にかなっているのはそのためです。そして、MMはBestIntervalが計算された後に使用されるべきです。


ただし、(まだ実装されていませんが)最大利益のためのベスト・インターバルを絶対的なものではなく、相対的なもの(つまり再投資を伴うもの)にする可能性もあります。そのような(そして他の)機能は計画中です...。


今のところ(もともとライブラリにあったのだが、説明もなく自分のためだけに残しておいた)可能性が1つある。このような行を書くと

#define  BESTINTERVAL_ONTESTER_FORMULA BestInterval.GetProfit() * BestInterval.GetRecoveryFactor()

と書くと、OnTesterの最適化時に、色でハイライトされた値が返されます。この場合、それはprofit * FVです。この式を他の式(関数コールを含む任意の式)で置き換えることができます。この場合、以下の参加者がBestIntervalから利用できます:

BestInterval.GetProfit()
BestInterval.GetProfitPlus()
BestInterval.GetProfitMinus()
BestInterval.GetTotal()
BestInterval.GetTotalPlus()
BestInterval.GetTotalMinus()
BestInterval.GetProfitFactor()
BestInterval.GetMean()
BestInterval.GetMaxDrawDown()
BestInterval.GetRecoveryFactor()

その名前から、どのような情報を持っているかは明らかです。従って、カスタムOnTesterを設定することは可能ですが、対応するBestInterval値を使用します。


ですから、別の基準で良いバリアントを探している場合は、必要な数式を設定すれば、オプティマイザが必要なものを見つけてくれます。しかし、BestInterval はそれぞれのパスで利益を最大化するために作られたもので、あなたの最適化基準は、あなたの視点から良いバリアントをすばやく見つけるのを助けるだけ(BestInterval は影響を受けません)であることを理解してください。


ZY プログラミングの際にそれを使うためのさまざまな方法がライブラリにあります。ほとんど誰もやらないだろうと思うので、この部分はまったく記述していません。本当に必要なら、標準的な方法があります。

ソースコードを見れば、意味はすぐに理解できる。

実際にロボットを作るときに、計算結果をさらに活用するために重要と思われるメソッドに印をつけた。

 

BestIntervalの原則を一般化することは論理的であると考えた。実際、BestIntervalはOrderOpenTimeによる取引の分類である。しかし、別の基準で分類することを妨げるものは誰もいない。

たとえば、МАшкаがポジション・オープンの 瞬間に何に等しかったか(OrderCommentに書きます)がわかっています。したがって、取引履歴のすべてのポジションをこれらのMA値と比較することができます。

そして、これらのMAにBestIntervalを適用します。そして出力で、ポジションを建てるべきМАшкиの範囲と、建てるべきでないМАшкиの範囲が得られます。


もちろん、MAの代わりに任意の数値関数を使用することもできます。その結果、時間を凌駕するクールなフィルターを見つけることができます。

削除済み  
fxsaber:

もちろん、MAの代わりに任意の数値関数を使うこともできる。要するに、時間を凌駕する クールなフィルターを見つけることができるということだ。

これはどの分野の知識ですか?

あなたはMLをやっていますね。)

もしそうなら、MLの常識に従って、テスト、検証、評価の一般化に分けてやるべきです。

 
Maxim Dmitrievsky:

これはどの分野の知識なのか?

優劣の基準は、同じ数の投げられた「間隔」(入力変数)を持つ訓練サンプルの利益の増加である。

ランダムに取られた時間(私たちはそれに慣れているだけだ)が他の指標より優れている理由は見当たらない。

たしかに、時間帯は人間の生活に直接影響を与えるし、市場パターンの足もそこから生じていると言える。しかし、アルゴ・トレーディングはすでに回転率の重要な部分を占めているのだから、同じ理由で時間よりも優れているかもしれない他の機能を使うことは極めて合理的である。

それはMLの規範に従って行われるべきで、トレーニン、テスト、検証に分け、評価を一般化する必要がある。

そのようなことをするつもりはない。利益を生む可能性のあるMLがなければならない。

率直に言って、MLメソッドが最も単純なTesterEAに近づくことさえできないのは奇妙だ。おそらく、ML上級者はすべてを一度に掘り下げるのだろう。

削除済み  
fxsaber:

私はそんなことをするつもりはない。なぜなら、それは終わりのない宝探しだからだ。利益を生む可能性のあるTSが存在しなければならない--これが第一の必要条件である。

率直に言って、MLメソッドが最も単純なテスターEAに近づくことさえできないのは奇妙なことだ。おそらく、MLの熟達者は一度にすべてを掘り起こすのだろう。

問題は、ローカルなML熟達者は、MLだけでなくプログラミングのレベルもゼロだということです。素人は一匹狼なのだ。しかし、全ては進化する...非常にゆっくりと)

外部評価基準の必要性については、明確なゲーデルの定理があり、 それは、テスト区間での基準にはなり得るが、訓練区間での基準にはなり得ない。

 
Maxim Dmitrievsky:

問題は、地元のML熟練者はMLだけでなくプログラミングのレベルもゼロだということだ。アマチュアは一匹狼だ。しかし、物事は進化しています...とてもゆっくりですが :)

ゲーデルの定理によれば、外部評価基準が必要であることは明らかで、それはテスト区間上の基準にはなりうるが、訓練区間上の基準にはなりえない。

MLメーカーの95%はEURUSDのクォートを取っている。彼らは相場の質など気にも留めない。そして、彼らは苦しみ始める。

なぜGBPUSDではないのでしょうか?なぜ他のソースではなくMQからのクォートなのか?なぜM2ではなくM1なのか?MLを適用する前であっても、基本的な疑問がある。しかし、そうではなく、TensorFlowやCatBoostを 接続することが重要なのだ。


世界最高のMLマーチャントにとって最も手ごわいトリックは、SBを与え、彼らがコチールであることを納得させることだ。一生分の研究はこれで十分だ。