トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 3301 1...329432953296329732983299330033013302330333043305330633073308...3399 新しいコメント Maxim Dmitrievsky 2023.10.11 16:58 #33001 Andrey Dik #:そう、サンシュはそこに極限はないと書いたが、それは間違いだった。 極値とは、関数が与えられた区間または領域で最大値(最大値)または最小値(最小値)に達する点のことである。極値には、関数がある点の近傍でのみ極値に達する局所的なものと、関数が与えられた区間全体または与えられた領域で極値に達する大域的なものがある。 極限値は、たとえあなたが意図的に探さなくても、常にそこに存在する(あなたが使用するアルゴリズムが、この探索作業を代行してくれる)。最適化なしの学習は不可能であり、最適化は正しいFFの割り当てなしには不可能である。極限の探索があなたのために行われ、隠されている(アルゴリズムに縫い込まれている)としても、極限が存在しないということにはならない(極限も最適化も)。 そこに機能はない。 もういい、興行情報はもういい。私は最適化が何であるか知っている。 mytarmailS 2023.10.11 18:13 #33002 mytarmailS #:そんな感じか?そして、本当に100万のコンディションに対応できるのか?私はこのスイッチとC++のことで少し迷っている。最初の2つの関数はRの実装で、最後の関数はC++のswitch です。Unit: microseconds expr min lq mean median uq max neval rule(n = sample(1:200, 1), x) 40.482 44.473 57.18044 46.754 51.886 2688.931 1000 rule2(n = sample(1:200, 1), x) 29.079 35.351 567.03671 38.202 43.904 86712.314 1000 rule_cpp(n = sample(1:200, 1), x) 31.360 34.781 53.26793 36.491 40.482 4924.005 1000 実際、利得は全くないのだが、これはどういうことなのだろうか? Aleksey Vyazmikin 2023.10.11 19:06 #33003 mytarmailS #:私はこのスイッチとC++のことで少し迷っている。最初の2つの関数はRの実装で、最後の関数はC++のswitch です。 実際、全く得がないのですが、どうしてなのでしょうか? フレンドリーなフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリー おそらく、答えはすでに出ているのに関数を無駄にしているのでしょう。 mytarmailS 2023.10.11 19:19 #33004 Aleksey Vyazmikin #:コードを見せてもらえますか?おそらく、すでに答えを受け取っているのに、無駄に関数を実行しているのでしょう...。 コードは私が投稿したものと同じですが、ルールを5ではなく300にしています。コードを投稿する意味は?私はすでにアーキテクチャを決めている Aleksey Vyazmikin 2023.10.11 19:26 #33005 mytarmailS #: コードはあなたが投稿したものと同じですが、ルールは5ではなく300にしました。 Rのコードを掲載する意味は? 私はすでにアーキテクチャを決めている 問題は関数呼び出しのコードにある。 mytarmailS 2023.10.11 19:27 #33006 Aleksey Vyazmikin #:問題は関数呼び出しコードにある。 理解できない fxsaber 2023.10.11 20:11 #33007 mytarmailS #:基本的にまったく得るものがない、どうしてそうなるのか......。 考えられることはたくさんある。スクリプトを添付します。以下はファンクション部分です。 bool Rule0( const vector<double> &x ) { return(x[3] > x[4]); } bool Rule1( const vector<double> &x ) { return(x[0] < x[4]); } bool Rule2( const vector<double> &x ) { return(x[1] >= x[0]); } bool Rule3( const vector<double> &x ) { return(x[3] == x[4]); } bool Rule4( const vector<double> &x ) { return(x[0] != x[4]); } bool Rule5( const vector<double> &x ) { return(x[1] >= x[0]); } bool Rule6( const vector<double> &x ) { return(x[3] <= x[4]); } bool Rule7( const vector<double> &x ) { return(x[0] < x[4]); } bool Rule8( const vector<double> &x ) { return(x[1] >= x[0]); } bool Rule9( const vector<double> &x ) { return(x[3] <= x[4]); } bool rule3( const int n, const vector<double> &x ) { typedef bool (*RULE)( const vector<double>& ); static const RULE Rules[] = {Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9, Rule0, Rule1, Rule2, Rule3, Rule4, Rule5, Rule6, Rule7, Rule8, Rule9}; return(Rules[n](x)); } #define BENCH(A) \ StartTime = GetMicrosecondCount(); \ A; \ Print(#A + " - " + (string)(GetMicrosecondCount() - StartTime) + " mcs"); void OnStart() { const vector<double> x = {1, 2, 3, 4, 5}; int Tmp = 0; ulong StartTime; BENCH(for (uint i = 1 e8; (bool)i--;) Tmp += rule(i % 100, x)); BENCH(for (uint i = 1 e8; (bool)i--;) Tmp += rule2(i % 100, x)); BENCH(for (uint i = 1 e8; (bool)i--;) Tmp += rule3(i % 100, x)); // BENCH(for (uint i = 1e8; (bool)i--;) Tmp += rule(i % 100, x)); // Если добавить эту строку, то выше rule замедлится. // BENCH(for (uint i = 1e8; (bool)i--;) Tmp += rule2(i % 100, x)); // Если добавить эту строку, то выше rule2 замедлится. // BENCH(for (uint i = 1e8; (bool)i--;) Tmp += rule3(i % 100, x)); // Если добавить эту строку, то выше rule3 замедлится. Print(Tmp); } 結果。 for (uint i = 1 e8; (bool)i--;) Tmp += rule(i % 100, x) - 505436 mcs for (uint i = 1 e8; (bool)i--;) Tmp += rule2(i % 100, x) - 261261 mcs for (uint i = 1 e8; (bool)i--;) Tmp += rule3(i % 100, x) - 709846 mcs ここで何を測定しているのかは不明だが、ハイライトされたコメントを参照。rule2よりはるかに速いと言われている。 ファイル: Switch_VS_Func.mq5 10 kb Rorschach 2023.10.11 20:20 #33008 fxsaber #:興味深いことに、データ量(引用)という点では、人間の脳は(ニューラルネットワークとして)MOと比較して、人間と比較してインフゾリアのようなものだ。しかし、原始的な人間は、かなり優れたTCを作ることができることを証明している。動くTCを作るのに、それほど大量のデータは必要ないことがわかった。例えば、人間がどのようにしてスキャルパー・モデルを使えるようになったのか、私には謎である。それはほとんど数字計算機なしで行われた。そのシナリオは次のようなものだったらしい: よく何かしらのパンクを見かける(数日前からバカみたいに画面を削っている)。 原始的なTSで稼いでみる。 あまり消耗しない。もう少しTSを洗練させなければ。取引履歴を見たが、何か改善できそうだ。 少しプラスになり始めた。ポイント3を繰り返す。 数字計算をしない。ポイント1を見てやり始めた。この方法の確率はゼロに等しいようだが、なぜかうまくいく。ある種の作業的マッドポーク法だ。 どうやら、人間の脳は潜在意識のどこかで、極端に少ないデータから「パターン」を見つけ出すことができるようだ。運とは呼べない。不思議だ。 私は、すべての秘密は経験の移転にあると思う。例えば、最新のプロセッサー。19世紀の人々にとっては魔法だろう。20世紀の人々にとっては、リバースエンジニアリングするための適切なツールを持たない非常に複雑な技術になるだろう。知識の移転と段階的な開発によってのみ、現代の技術レベルに到達することができるのだ。だからこそ、もし第3次世界大戦が起これば、第4次世界大戦では石を使って戦うと言われているのだ。取引には伝説がある。以前の市場はもっと簡単で、天頂のトレーダーは移動平均線の助けを借りて富を築いたが、今はそんなことはできないだろう。 mytarmailS 2023.10.11 20:35 #33009 fxsaber #:、、、、ののーこのーここでーーこのーーーーーーーのーーーーーーーーーAllegedly much faster than rule2. ここでは#32978 この関数と、C++を含むさまざまな実装(等価物)が測定された。 まあ、私は今のところすでにアーキテクチャを決定しており、私は今のところ純粋なR-keに座るつもりです。 mytarmailS 2023.10.11 20:43 #33010 私のAMOで挑戦できる。 "TSを解け"。 あなたが使っている小さなデータを私に渡してください。 そのコードでどのような演算子、関数、変数を使うかを説明しなさい。 そして、そのアルゴリズムの方程式やシグナルを私に教えてください。 私は検索文法を作り、暗号としてそのコードを拾い上げ、あなたのTSを解く。 1...329432953296329732983299330033013302330333043305330633073308...3399 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そう、サンシュはそこに極限はないと書いたが、それは間違いだった。
極値とは、関数が与えられた区間または領域で最大値(最大値)または最小値(最小値)に達する点のことである。極値には、関数がある点の近傍でのみ極値に達する局所的なものと、関数が与えられた区間全体または与えられた領域で極値に達する大域的なものがある。
そこに機能はない。
もういい、興行情報はもういい。私は最適化が何であるか知っている。そんな感じか?
そして、本当に100万のコンディションに対応できるのか?
私はこのスイッチとC++のことで少し迷っている。
最初の2つの関数はRの実装で、最後の関数はC++のswitch です。
私はこのスイッチとC++のことで少し迷っている。
最初の2つの関数はRの実装で、最後の関数はC++のswitch です。
フレンドリーなフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリーフレンドリー
おそらく、答えはすでに出ているのに関数を無駄にしているのでしょう。
コードを見せてもらえますか?
おそらく、すでに答えを受け取っているのに、無駄に関数を実行しているのでしょう...。
コードはあなたが投稿したものと同じですが、ルールは5ではなく300にしました。
問題は関数呼び出しのコードにある。
問題は関数呼び出しコードにある。
基本的にまったく得るものがない、どうしてそうなるのか......。
考えられることはたくさんある。スクリプトを添付します。以下はファンクション部分です。
結果。
ここで何を測定しているのかは不明だが、ハイライトされたコメントを参照。rule2よりはるかに速いと言われている。
興味深いことに、データ量(引用)という点では、人間の脳は(ニューラルネットワークとして)MOと比較して、人間と比較してインフゾリアのようなものだ。
しかし、原始的な人間は、かなり優れたTCを作ることができることを証明している。動くTCを作るのに、それほど大量のデータは必要ないことがわかった。
例えば、人間がどのようにしてスキャルパー・モデルを使えるようになったのか、私には謎である。それはほとんど数字計算機なしで行われた。
そのシナリオは次のようなものだったらしい:
どうやら、人間の脳は潜在意識のどこかで、極端に少ないデータから「パターン」を見つけ出すことができるようだ。運とは呼べない。不思議だ。
私は、すべての秘密は経験の移転にあると思う。例えば、最新のプロセッサー。19世紀の人々にとっては魔法だろう。20世紀の人々にとっては、リバースエンジニアリングするための適切なツールを持たない非常に複雑な技術になるだろう。知識の移転と段階的な開発によってのみ、現代の技術レベルに到達することができるのだ。だからこそ、もし第3次世界大戦が起これば、第4次世界大戦では石を使って戦うと言われているのだ。取引には伝説がある。以前の市場はもっと簡単で、天頂のトレーダーは移動平均線の助けを借りて富を築いたが、今はそんなことはできないだろう。
、、、、ののーこのーここでーーこのーーーーーーーのーーーーーーーーーAllegedly much faster than rule2.
ここでは#32978 この関数と、C++を含むさまざまな実装(等価物)が測定された。
まあ、私は今のところすでにアーキテクチャを決定しており、私は今のところ純粋なR-keに座るつもりです。
私のAMOで挑戦できる。
"TSを解け"。
あなたが使っている小さなデータを私に渡してください。
そのコードでどのような演算子、関数、変数を使うかを説明しなさい。
そして、そのアルゴリズムの方程式やシグナルを私に教えてください。
私は検索文法を作り、暗号としてそのコードを拾い上げ、あなたのTSを解く。