トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 320 1...313314315316317318319320321322323324325326327...3399 新しいコメント Dr. Trader 2017.05.04 16:20 #3191 ミハイル・マルキュカイツ<グラフ>を表示します。私なら、最適化の日付を6分の1に短縮して、オプティマイザがこれらのグラフの先端部分しか見ないようにし、上に書いたようにパラメータにロールオーバーの日付を入れて最適化します。そして、すでに数カ月分のデータでテストを行い、純粋に視覚的に評価した結果、最適なものが見つかったかどうかを確認するのです。 Maxim Dmitrievsky 2017.05.05 06:54 #3192 ミハイル・マルキュカイツポイントは、NSの話ではなく、Sequentの話なので、同じ作業期間で入力値を変えてその持ち味を見ることです。最適化せず、手探りで進めた。5-56-67-7このケースは、同時期の4-8と合わせると、さらに興味深い。そして、300pipsのストップロスで動作します。1月1日から現在に至るまでです。正直言って、オプティマイザーで最後の画面を選んだのですが、まあ、オプティマイザーのパスは49個しかないんですけどね。ですから、実は、無次元集合からではなく、これだけバリエーションが少ない有限集合から必要なパラメータを正しく選ぶことを学ばなければならないのです。というわけで.........。 ReshetovのRNNではなく、分類器を使ってはどうでしょうか? そこには面白い論理的な核があり、botはデフォルトで動作させることが可能ですNSの入力にオシレータと回帰勾配を与え、与えられたバーの本数分与えるというようなタスクがある。理論上、オシレーターはフラットにしか機能せず、トレンドに流される。回帰の傾きを正規化した値を追加すれば、グリッドはトレンドの傾きを考慮したものになる。ここで、値を度単位で取るか、ポイント単位で取るか、まだ決めていません。 当面はポイント単位で、何ポイントから何ポイントまで正規化するか、です :)double CalcRegression(double &PricesArray[]) { double Summ_x=0.0; double Summ_y=0.0; double Summ_xy=0.0; double Summ_x_2=0.0; int jcount; for(int xcount=1; xcount<=глубина_анализа && !IsStopped(); xcount++) { jcount=глубина_анализа-xcount; Summ_x+=xcount; Summ_y+=PricesArray[jcount]; Summ_xy+=xcount*PricesArray[jcount]; Summ_x_2+=MathPow(xcount,2); } double bcoef=(глубина_анализа*Summ_xy-Summ_x*Summ_y)/(глубина_анализа*Summ_x_2-MathPow(Summ_x,2)); return(bcoef); }そして、これはRNNのニューロンそのものである。振動子の3つの値だけが入力に与えられるが、もちろんこれはあまり正しくはないdouble RNN(double p1,double p2,double p3) { //--- вероятности для правил из базы знаний экспертной системы double y0 = x0; // Вероятность правила №0 в процентах double y1 = x1; // Вероятность правила №1 в процентах double y2 = x2; // Вероятность правила №2 в процентах double y3 = x3; // Вероятность правила №3 в процентах double y4 = x4; // Вероятность правила №4 в процентах double y5 = x5; // Вероятность правила №5 в процентах double y6 = x6; // Вероятность правила №6 в процентах double y7 = x7; // Вероятность правила №7 в процентах //--- база знаний, состоящая из набора взаимоисключающих правил double probability= (1.0 - p1) * (1.0 - p2) * (1.0 - p3) * y0 + // Правило №0 (1.0 - p1) * (1.0 - p2) * p3 * y1 + // Правило №1 (1.0 - p1) * p2 * (1.0 - p3) * y2 + // Правило №2 (1.0 - p1) * p2 * p3 * y3 + // Правило №3 p1 * (1.0 - p2) * (1.0 - p3) * y4 + // Правило №4 p1 * (1.0 - p2) * p3 * y5 + // Правило №5 p1 * p2 * (1.0 - p3) * y6 + // Правило №6 p1 * p2 * p3 * y7; // Правило №7 //--- конвертируем проценты в вероятности probability=probability/100.0; //--- возвращаем результат в виде вероятности return(probability); } Mihail Marchukajtes 2017.05.05 07:13 #3193 マキシム・ドミトリエフスキー ReshetovのRNNを使ってみてはいかがでしょうか? 面白いロジックエンジンがあり、デフォルトでbotを稼ぐようにすることも可能ですオシレーターは横ばいの時だけ働き、トレンドの時は流し込むというのがセオリーです。理論的には、オシレーターはフラットな状態でのみ機能し、トレンドの中では注がれる。回帰の傾きを正規化した値を追加すれば、グリッドはトレンドの傾きを考慮したものになる。ここで、値を度単位で取るか、ポイント単位で取るか、まだ決めていません。 当面はポイント単位で、何ポイントから何ポイントまで正規化するか、です :)そして、これはRNNのニューロンそのものです。オシレータの3つの値しかフィードされませんが、これはあまり正しくありません ありがとうございます!今日のデータで是非試してみます。どこで手に入るのか、不謹慎ながら教えてください。探してみても見つからない。 Maxim Dmitrievsky 2017.05.05 07:22 #3194 ミハイル・マルキュカイツ ありがとうございます!今日のデータで是非試してみます。どこからダウンロードすればいいのか、教えてください。ありがとうございました。 RNNとRNN3とその未発表の論文がMQL5にありますが、使い物にならないですね。RNN3よりもオプティマイザーでRNNがよく動く。 ファイル: RNN_MT5.zip 223 kb Dr. Trader 2017.05.05 08:15 #3195 マキシム・ドミトリエフスキーそして、これはRNNのニューロンそのものです。3つの発振器の値だけが入力に供給され、もちろん、あまり正しくありません面白いコードですね、ありがとうございます。そして、記事にも。RNN(double p1,double p2,double p3)パラメータ p1, p2, p3 の値はすべて 0 から 1 であるべきです。もし、回帰からこれらのパラメータの1つに B を渡すなら、同じ区間 [0;1] に正規化することを確認してください。一般に、この戦略は、RSIの値が高いことは価格が下がることを意味するという理論に基づいています。正確を期すため、3つのRSI値を取り、確率論のルールにより3つのパラメータから1つの推定値を得ることができる。 ですから、3つ目のRSIの代わりに自分自身のシグナルを出した場合、このシグナルの値が高いということは、価格が下がるということを意味するはずです。そうでなければ、戦略を破ってしまいます。 Maxim Dmitrievsky 2017.05.05 08:23 #3196 Dr.トレーダー面白いコードですね、ありがとうございます。そして、記事にも。回帰のB値をこれらのパラメータのいずれかに渡す場合、それは同じ区間[0;1]に正規化されなければなりません。 はい、その通りです。我々はそれが> 0.5を成長させたいが、rsiは、ゼロに傾向があり、回帰はまた、< 0.5のときに低下しますが、それはニューロンの出力で確率<0.5の場合に購入されますので、我々はそれが上昇相場で買い、下落1で販売したい場合だけ我々は回帰値を反転させる必要があります。 Maxim Dmitrievsky 2017.05.05 08:32 #3197 Dr.トレーダー一般に、この戦略は、RSIの値が高いほど価格が下がるという理論に基づいています。正確な予測をするために、3つのRSI値を取りました。したがって、確率論によれば、3つのパラメータから同じ推定値を得ることができます。 ですから、3つ目のRSIの代わりに自分自身のシグナルを出した場合、このシグナルの値が高いということは、価格が下がるということを意味するはずです。そうでなければ、戦略を破ってしまうことになります。 はい、その通りです。ちょうど上に書きましたね :)m5で最適化されたデフォルトのグリッドをモニタリングに投入 https://www.mql5.com/ru/signals/297732次に、ニューロンへのさまざまな入力をもっと実験してみます。 Торговые сигналы для MetaTrader 5: NEUROSHELL test Maxim Dmitrievskywww.mql5.com Торговый Сигнал NEUROSHELL test для MetaTrader 5: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг Maxim Dmitrievsky 2017.05.05 10:13 #3198 https://www.mql5.com/ru/code/127が、コードにエラーが あり、インジケータの配給がおかしいと思います。 Наклон линейной регрессии 投票: 242010.07.05Vladimirwww.mql5.com Наклон линейной регрессии, нормализованный к SMA Mihail Marchukajtes 2017.05.05 11:08 #3199 マキシム・ドミトリエフスキー RNNとRNN3があり、MQL5にはその未発表の記事があります。RNN3よりもRNNの方がオプティマイザーでの動作が良い。ありがとうございます!!!5なのが残念ですが、とりあえず自分のデータで試してみます...。 Maxim Dmitrievsky 2017.05.05 11:18 #3200 ミハイル・マルキュカイツありがとうございます!!!5なのが残念ですが、とりあえず自分のデータで試してみます...。 5のバージョンはフォワードテストができるので便利です、NSにはちょうどいいのです、4のバージョンでは同じことが、私の意見では、コードベースにありました、見るとhttps://www.mql5.com/ru/code/10616 RNN_MT4 投票: 22012.02.20Yury Reshetovwww.mql5.com Советник со встроенной экспертной системой 1...313314315316317318319320321322323324325326327...3399 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
<グラフ>を表示します。
私なら、最適化の日付を6分の1に短縮して、オプティマイザがこれらのグラフの先端部分しか見ないようにし、上に書いたようにパラメータにロールオーバーの日付を入れて最適化します。
そして、すでに数カ月分のデータでテストを行い、純粋に視覚的に評価した結果、最適なものが見つかったかどうかを確認するのです。
ポイントは、NSの話ではなく、Sequentの話なので、同じ作業期間で入力値を変えてその持ち味を見ることです。最適化せず、手探りで進めた。
5-5
6-6
7-7
このケースは、同時期の4-8と合わせると、さらに興味深い。そして、300pipsのストップロスで動作します。
1月1日から現在に至るまでです。正直言って、オプティマイザーで最後の画面を選んだのですが、まあ、オプティマイザーのパスは49個しかないんですけどね。ですから、実は、無次元集合からではなく、これだけバリエーションが少ない有限集合から必要なパラメータを正しく選ぶことを学ばなければならないのです。というわけで.........。
ReshetovのRNNではなく、分類器を使ってはどうでしょうか? そこには面白い論理的な核があり、botはデフォルトで動作させることが可能です
NSの入力にオシレータと回帰勾配を与え、与えられたバーの本数分与えるというようなタスクがある。理論上、オシレーターはフラットにしか機能せず、トレンドに流される。回帰の傾きを正規化した値を追加すれば、グリッドはトレンドの傾きを考慮したものになる。ここで、値を度単位で取るか、ポイント単位で取るか、まだ決めていません。 当面はポイント単位で、何ポイントから何ポイントまで正規化するか、です :)
そして、これはRNNのニューロンそのものである。振動子の3つの値だけが入力に与えられるが、もちろんこれはあまり正しくはない
ReshetovのRNNを使ってみてはいかがでしょうか? 面白いロジックエンジンがあり、デフォルトでbotを稼ぐようにすることも可能です
オシレーターは横ばいの時だけ働き、トレンドの時は流し込むというのがセオリーです。理論的には、オシレーターはフラットな状態でのみ機能し、トレンドの中では注がれる。回帰の傾きを正規化した値を追加すれば、グリッドはトレンドの傾きを考慮したものになる。ここで、値を度単位で取るか、ポイント単位で取るか、まだ決めていません。 当面はポイント単位で、何ポイントから何ポイントまで正規化するか、です :)
そして、これはRNNのニューロンそのものです。オシレータの3つの値しかフィードされませんが、これはあまり正しくありません
ありがとうございます!今日のデータで是非試してみます。
どこで手に入るのか、不謹慎ながら教えてください。探してみても見つからない。
ありがとうございます!今日のデータで是非試してみます。
どこからダウンロードすればいいのか、教えてください。ありがとうございました。
そして、これはRNNのニューロンそのものです。3つの発振器の値だけが入力に供給され、もちろん、あまり正しくありません
面白いコードですね、ありがとうございます。そして、記事にも。
パラメータ p1, p2, p3 の値はすべて 0 から 1 であるべきです。もし、回帰からこれらのパラメータの1つに B を渡すなら、同じ区間 [0;1] に正規化することを確認してください。
一般に、この戦略は、RSIの値が高いことは価格が下がることを意味するという理論に基づいています。正確を期すため、3つのRSI値を取り、確率論のルールにより3つのパラメータから1つの推定値を得ることができる。
ですから、3つ目のRSIの代わりに自分自身のシグナルを出した場合、このシグナルの値が高いということは、価格が下がるということを意味するはずです。そうでなければ、戦略を破ってしまいます。
面白いコードですね、ありがとうございます。そして、記事にも。
回帰のB値をこれらのパラメータのいずれかに渡す場合、それは同じ区間[0;1]に正規化されなければなりません。
はい、その通りです。我々はそれが> 0.5を成長させたいが、rsiは、ゼロに傾向があり、回帰はまた、< 0.5のときに低下しますが、それはニューロンの出力で確率<0.5の場合に購入されますので、我々はそれが上昇相場で買い、下落1で販売したい場合だけ我々は回帰値を反転させる必要があります。
一般に、この戦略は、RSIの値が高いほど価格が下がるという理論に基づいています。正確な予測をするために、3つのRSI値を取りました。したがって、確率論によれば、3つのパラメータから同じ推定値を得ることができます。
ですから、3つ目のRSIの代わりに自分自身のシグナルを出した場合、このシグナルの値が高いということは、価格が下がるということを意味するはずです。そうでなければ、戦略を破ってしまうことになります。
はい、その通りです。ちょうど上に書きましたね :)
m5で最適化されたデフォルトのグリッドをモニタリングに投入 https://www.mql5.com/ru/signals/297732
次に、ニューロンへのさまざまな入力をもっと実験してみます。
https://www.mql5.com/ru/code/127
が、コードにエラーが あり、インジケータの配給がおかしいと思います。
RNNとRNN3があり、MQL5にはその未発表の記事があります。RNN3よりもRNNの方がオプティマイザーでの動作が良い。
ありがとうございます!!!5なのが残念ですが、とりあえず自分のデータで試してみます...。
ありがとうございます!!!5なのが残念ですが、とりあえず自分のデータで試してみます...。
5のバージョンはフォワードテストができるので便利です、NSにはちょうどいいのです、4のバージョンでは同じことが、私の意見では、コードベースにありました、見ると
https://www.mql5.com/ru/code/10616