トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1341 1...133413351336133713381339134013411342134313441345134613471348...3399 新しいコメント Aleksey Vyazmikin 2019.02.15 15:05 #13401 スクリプトコード、興味のある方はどうぞ。 CSV *csv_Write=new CSV(); int NomerStolbca=0; input int Set_Total=10;//Количество сетов настроек 1к10 input string CB_Dir="Catboost_Tester";//Директория проекта input string Version="catboost-0.11.1.exe";//Имя exe файла CatBoost input int depth=6;//Глубина дерева input int iterations=1000;//Максимальное число итераций (деревьев) input double learning_rate=0.03;//Шаг обучения input int od_wait=100;//Число деревьев без улучщения для остановки обучения //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { csv_Write.Add_column(dt_string,0); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); csv_Write.Add_column(dt_string,s()); NomerStolbca=0; string Train_All[23]; Train_All[0]=Version+" fit"; Train_All[s()]=" --learn-set train.csv"; Train_All[s()]=" --test-set test.csv"; Train_All[s()]=" --column-description %%a"; Train_All[s()]=" --has-header"; Train_All[s()]=" --delimiter ;"; Train_All[s()]=" --model-format CatboostBinary,CPP"; Train_All[s()]=" --train-dir ..\Rezultat\RS_01/result_4_%%a"; Train_All[s()]=" --depth "+depth; Train_All[s()]=" --iterations "+iterations; Train_All[s()]=" --nan-mode Forbidden "; Train_All[s()]=" --learning-rate "+learning_rate; Train_All[s()]=" --rsm 1 "; Train_All[s()]=" --fold-permutation-block 1"; Train_All[s()]=" --boosting-type Ordered"; Train_All[s()]=" --l2-leaf-reg 6"; Train_All[s()]=" --loss-function Logloss:border=0.5"; Train_All[s()]=" --use-best-model"; Train_All[s()]=" --eval-metric Precision"; Train_All[s()]=" --custom-metric Logloss:border=0.5"; Train_All[s()]=" --od-type Iter"; Train_All[s()]=" --od-wait "+od_wait; Train_All[s()]=" --random-seed "; NomerStolbca=0; int Size_Arr=ArraySize(Train_All); int Seed=0; int line=0; for(int N=0;N<Set_Total;N++) { int line=csv_Write.Add_line(); csv_Write.Set_value(line,1,"FOR %%a IN (*.) DO (",false); for(int Z=2;Z<22+1;Z++)csv_Write.Set_value(line,Z,"",false); for(int i=1;i<10+1;i++) { Seed=N*10+i; Train_All[7]=" --train-dir ..\Rezultat\RS_"+Seed+"/result_4_%%a"; line=csv_Write.Add_line(); int x=0; csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++],false); csv_Write.Set_value(line,s(),Train_All[x++]+Seed,false); NomerStolbca=0; } line=csv_Write.Add_line(); csv_Write.Set_value(line,1,")",false); for(int Z=2;Z<22+1;Z++)csv_Write.Set_value(line,Z,"",false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"Pause",false); csv_Write.data_separator='\t'; csv_Write.Write_to_file(CB_Dir+"\\Setup\\_01_Train_All.txt",true,true,false,true,false); csv_Write.Clear_all(); //--------- string Rezultat_Exam[9]; Rezultat_Exam[0]=Version+" calc"; Rezultat_Exam[s()]=" --model-path ..\Rezultat\RS_"+"\result_4_%%a\model.bin";//Добавлять номер директории Rezultat_Exam[s()]=" --input-path exam.csv"; Rezultat_Exam[s()]=" --column-description %%a"; Rezultat_Exam[s()]=" --has-header"; Rezultat_Exam[s()]=" --delimiter ;"; Rezultat_Exam[s()]=" --output-path ..\Rezultat\RS_"+"\result_4_%%a\output";//Добавлять номер директории Rezultat_Exam[s()]=" --has-header"; Rezultat_Exam[s()]=" --prediction-type Probability"; NomerStolbca=0; Seed=0; Size_Arr=ArraySize(Rezultat_Exam); for(int Z=0;Z<Size_Arr+1;Z++)csv_Write.Add_column(dt_string,Z); for(int N=0;N<Set_Total;N++) { int line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"FOR %%a IN (*.) DO (",false); for(int i=1;i<10+1;i++) { Seed=N*10+i; Rezultat_Exam[1]=" --model-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\model.bin"; Rezultat_Exam[6]=" --output-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\output"; int line=csv_Write.Add_line(1,false,true); int x=0; for(int S=1;S<Size_Arr+1;S++)csv_Write.Set_value(line,S,Rezultat_Exam[S-1],false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,")",false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"Pause",false); csv_Write.data_separator='\t'; csv_Write.Write_to_file(CB_Dir+"\\Setup\\_02_Rezultat_Exam.txt",true,true,false,true,false); csv_Write.Clear_all(); //---------- string Rezultat_Test[9]; Rezultat_Test[0]=Version+" calc"; Rezultat_Test[s()]=" --model-path ..\Rezultat\RS_"+"\result_4_%%a\model.bin";//Добавлять номер директории Rezultat_Test[s()]=" --input-path test.csv"; Rezultat_Test[s()]=" --column-description %%a"; Rezultat_Test[s()]=" --has-header"; Rezultat_Test[s()]=" --delimiter ;"; Rezultat_Test[s()]=" --output-path ..\Rezultat\RS_"+"\result_4_%%a\output_test";//Добавлять номер директории Rezultat_Test[s()]=" --has-header"; Rezultat_Test[s()]=" --prediction-type Probability"; NomerStolbca=0; Seed=0; Size_Arr=ArraySize(Rezultat_Test); for(int Z=0;Z<Size_Arr+1;Z++)csv_Write.Add_column(dt_string,Z); for(int N=0;N<Set_Total;N++) { int line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"FOR %%a IN (*.) DO (",false); for(int i=1;i<10+1;i++) { Seed=N*10+i; //Train_All[7]=" --train-dir ..\Rezultat\RS_"+Seed+"/result_4_%%a"; Rezultat_Test[1]=" --model-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\model.bin"; Rezultat_Test[6]=" --output-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\output_test"; int line=csv_Write.Add_line(1,false,true); int x=0; for(int S=1;S<Size_Arr+1;S++)csv_Write.Set_value(line,S,Rezultat_Test[S-1],false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,")",false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"Pause",false); csv_Write.data_separator='\t'; csv_Write.Write_to_file(CB_Dir+"\\Setup\\_02_Rezultat_Test.txt",true,true,false,true,false); csv_Write.Clear_all(); //----------------- string Rezultat_Train[9]; Rezultat_Train[0]=Version+" calc"; Rezultat_Train[s()]=" --model-path ..\Rezultat\RS_"+"\\result_4_%%a\model.bin";//Добавлять номер директории Rezultat_Train[s()]=" --input-path train.csv"; Rezultat_Train[s()]=" --column-description %%a"; Rezultat_Train[s()]=" --has-header"; Rezultat_Train[s()]=" --delimiter ;"; Rezultat_Train[s()]=" --output-path ..\Rezultat\RS_"+"\\result_4_%%a\output_train";//Добавлять номер директории Rezultat_Train[s()]=" --has-header"; Rezultat_Train[s()]=" --prediction-type Probability"; NomerStolbca=0; Seed=0; Size_Arr=ArraySize(Rezultat_Train); for(int Z=0;Z<Size_Arr+1;Z++)csv_Write.Add_column(dt_string,Z); for(int N=0;N<Set_Total;N++) { int line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"FOR %%a IN (*.) DO (",false); for(int i=1;i<10+1;i++) { Seed=N*10+i; Rezultat_Train[1]=" --model-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\model.bin"; Rezultat_Train[6]=" --output-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\output_train"; int line=csv_Write.Add_line(1,false,true); int x=0; for(int S=1;S<Size_Arr+1;S++)csv_Write.Set_value(line,S,Rezultat_Train[S-1],false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,")",false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"Pause",false); csv_Write.data_separator='\t'; csv_Write.Write_to_file(CB_Dir+"\\Setup\\_02_Rezultat_Train.txt",true,true,false,true,false); csv_Write.Clear_all(); //----------------- string Metrik_Exam[8]; Metrik_Exam[0]=Version+" eval-metrics"; Metrik_Exam[s()]=" --metrics Logloss:border=0.5,Precision,Recall,Kappa,Accuracy,BalancedAccuracy,AUC,F1,MCC"; Metrik_Exam[s()]=" --model-path ..\Rezultat\RS_\result_4_%%a\model.bin"; Metrik_Exam[s()]=" --input-path exam.csv"; Metrik_Exam[s()]=" --column-description %%a"; Metrik_Exam[s()]=" --has-header"; Metrik_Exam[s()]=" --delimiter ;"; Metrik_Exam[s()]=" --result-dir ..\Rezultat\RS_\result_4_%%a\metr\Exam"; NomerStolbca=0; Seed=0; Size_Arr=ArraySize(Metrik_Exam); for(int Z=0;Z<Size_Arr+1;Z++)csv_Write.Add_column(dt_string,Z); for(int N=0;N<Set_Total;N++) { int line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"FOR %%a IN (*.) DO (",false); for(int i=1;i<10+1;i++) { Seed=N*10+i; Metrik_Exam[2]=" --model-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\model.bin"; Metrik_Exam[7]=" --result-dir ..\Rezultat\RS_"+Seed+"\\result_4_%%a\metr\Exam"; int line=csv_Write.Add_line(1,false,true); int x=0; for(int S=1;S<Size_Arr+1;S++)csv_Write.Set_value(line,S,Metrik_Exam[S-1],false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,")",false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"Pause",false); csv_Write.data_separator='\t'; csv_Write.Write_to_file(CB_Dir+"\\Setup\\_03_Metrik_Exam.txt",true,true,false,true,false); csv_Write.Clear_all(); //----------------- string Metrik_Test[8]; Metrik_Test[0]=Version+" eval-metrics"; Metrik_Test[s()]=" --metrics Logloss:border=0.5,Precision,Recall,Kappa,Accuracy,BalancedAccuracy,AUC,F1,MCC"; Metrik_Test[s()]=" --model-path ..\Rezultat\RS_\result_4_%%a\model.bin"; Metrik_Test[s()]=" --input-path test.csv"; Metrik_Test[s()]=" --column-description %%a"; Metrik_Test[s()]=" --has-header"; Metrik_Test[s()]=" --delimiter ;"; Metrik_Test[s()]=" --result-dir ..\Rezultat\RS_\result_4_%%a\metr\Test"; NomerStolbca=0; Seed=0; Size_Arr=ArraySize(Metrik_Test); for(int Z=0;Z<Size_Arr+1;Z++)csv_Write.Add_column(dt_string,Z); for(int N=0;N<Set_Total;N++) { int line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"FOR %%a IN (*.) DO (",false); for(int i=1;i<10+1;i++) { Seed=N*10+i; Metrik_Test[2]=" --model-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\model.bin"; Metrik_Test[7]=" --result-dir ..\Rezultat\RS_"+Seed+"\\result_4_%%a\metr\Test"; int line=csv_Write.Add_line(1,false,true); int x=0; for(int S=1;S<Size_Arr+1;S++)csv_Write.Set_value(line,S,Metrik_Test[S-1],false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,")",false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"Pause",false); csv_Write.data_separator='\t'; csv_Write.Write_to_file(CB_Dir+"\\Setup\\_03_Metrik_Test.txt",true,true,false,true,false); csv_Write.Clear_all(); //----------------- string Metrik_Train[8]; Metrik_Train[0]=Version+" eval-metrics"; Metrik_Train[s()]=" --metrics Logloss:border=0.5,Precision,Recall,Kappa,Accuracy,BalancedAccuracy,AUC,F1,MCC"; Metrik_Train[s()]=" --model-path ..\Rezultat\RS_\result_4_%%a\model.bin"; Metrik_Train[s()]=" --input-path test.csv"; Metrik_Train[s()]=" --column-description %%a"; Metrik_Train[s()]=" --has-header"; Metrik_Train[s()]=" --delimiter ;"; Metrik_Train[s()]=" --result-dir ..\Rezultat\RS_\result_4_%%a\metr\Train"; NomerStolbca=0; Seed=0; Size_Arr=ArraySize(Metrik_Train); for(int Z=0;Z<Size_Arr+1;Z++)csv_Write.Add_column(dt_string,Z,100); for(int N=0;N<Set_Total;N++) { int line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"FOR %%a IN (*.) DO (",false); for(int i=1;i<10+1;i++) { Seed=N*10+i; Metrik_Train[2]=" --model-path ..\Rezultat\RS_"+Seed+"\\result_4_%%a\model.bin"; Metrik_Train[7]=" --result-dir ..\Rezultat\RS_"+Seed+"\\result_4_%%a\metr\Train"; int line=csv_Write.Add_line(1,false,true); int x=0; for(int S=1;S<Size_Arr+1;S++)csv_Write.Set_value(line,S,Metrik_Train[S-1],false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,")",false); } line=csv_Write.Add_line(1,false,true); csv_Write.Set_value(line,1,"Pause",false); csv_Write.data_separator='\t'; csv_Write.Write_to_file(CB_Dir+"\\Setup\\_03_Metrik_Train.txt",true,true,false,true,false); csv_Write.Clear_all(); } //+------------------------------------------------------------------+ int s() { NomerStolbca++; return (NomerStolbca); } Aleksey Vyazmikin 2019.02.15 15:54 #13402 パラレルモデル解析、つまりテストサンプルに閾値の活性化ポイント(デフォルト0.5)を表示しました。 一般に、モデルは非常によく似ていることがわかりますが、もうひとつ驚くのは、活性化が起こっていない時間間隔が非常に大きいことです。おそらく、月例バーから情報を取っている何らかの予測因子が原因だと思われますが...。 Forester 2019.02.15 16:09 #13403 アレクセイ・ヴャジミキンパラレルモデル解析、つまりテストサンプルに閾値の活性化ポイント(デフォルト0.5)を表示しました。 一般に、モデルは非常によく似ていることがわかりますが、もうひとつ驚くのは、活性化が起こっていない時間間隔が非常に大きいことです。おそらく、月次バーから情報を取る何らかの予測器に原因があるのでしょう...。 そして、すべてのバーで何回も連続取引?NSの時も同じようなことがありました。結論は同じで、大きなTFが影響を与え、小さなTFがそれを補うというものです。 Aleksey Vyazmikin 2019.02.15 16:14 #13404 エリブラリウス そして、すべてのバーで連続したトレードの束?私も似たようなことがありました、NSで。結論は同じようなもので、大きなTFが影響力を持ち、小さなTFがそれを補っているのです。そんなことないですよ、案件が画面の幅より大きいだけですからねー、大きいのは載せてませんよ。でも、それがグループ分けという形で出てくるということは......そうですね。参入可能性をこれだけ削るアッパーTFを捨てる価値があるかどうかが問題ですが...。 Женя 2019.02.15 16:27 #13405 アレクサンダー_K.+++ アレクセイに悪気はないのですが、彼の書いたものが一言でも理解できたら、私は死んでしまいます。目標もその達成方法も明確でなく、実証されていない。15年間ニューラルネットの研究を続け、今は洗車場で働く先生の魂は、そうして彼の上に漂っているのだ。そう、私たちは皆、神の下を歩いているのだ。洗車場でも特に違いはないし、あるマネージャーは疑似パートナーに「成長」し、しかし、定年前に尻を蹴られて壊れたトラフに残されることも簡単にあるのだ。今や欧米型の企業では、社員100人に対して30人の「副社長」がいるところもあり、中間管理職は月給5万円で副社長になっています)))面白くて罪深い...。 意識的なリスクと洗車場で働くための本当の脅威が、より多くの熱意、興味と冒険と途中で、またはさらに大きなリスクが、プロセスと結果の両方で失望と、 "カーペットの下に "キャリアの成長 "を隠されています。平民に生まれたら、すぐに希望を捨てた方がいいが、「やってみる」ことはできる、どうせ失うものは何もない、少なくとも死ぬ前に、できる限りのことをやったと言えるし、一生ビッチとしてひれ伏す必要はない)))。 Forester 2019.02.15 16:42 #13406 アレクセイ・ヴャジミキンエントリーの可能性をこれだけ削る上位TFを捨てる価値があるのか、ないのか、そこが問題だ......。まあ、手動でテストして決めるか、最適化するかですね。 Aleksey Vyazmikin 2019.02.15 16:50 #13407 エリブラリウスまあ手動で汗水垂らして決めるか、最適化を行うかですね。シートを掘り返して原因を探さなければならないので、数日中に取り掛かります。そのためには少し休まなければなりませんね。 今のところ、タグ付けによって揺らいでいるモデルは少ないですね。バリエーションが増えたようで、ペアリングの面でも面白いかもしれません Vladimir Perervenko 2019.02.15 19:44 #13408 おめでとうございます。 ターミナル:R言語を使用するアプリケーション経由でMetaTrader 5ターミナルからデータを要求するためのAPIを追加 しました。MetaTraderRの特別パッケージを用意しました。RとMetaTrader 5ターミナル間の相互作用のためのDLL、ドキュメント、補助的なr-filesが含まれています。現在、このパッケージはCRANリポジトリに登録中 で、近日中にダウンロードとインストールが可能に なる予定です。 続編を待とう。 グッドラック Aleksey Vyazmikin 2019.02.16 01:12 #13409 ウラジミール・ペレヴェンコおめでとうございます。 ターミナル:R言語を使用するアプリケーション経由でMetaTrader 5ターミナルにデータを要求するためのAPIを追加 しました。MetaTraderRの特別パッケージを用意しました。RとMetaTrader 5ターミナル間の相互作用のためのDLL、ドキュメント、補助的なr-filesが含まれています。本パッケージはCRANリポジトリに登録 中であり、近い将来、ダウンロードおよびインストールが可能になる予定 です。 続編を待とう。 グッドラック開発者はフィードバックの質問を無視するので、確率的にはあまり高くないのですが...。 Aleksey Vyazmikin 2019.02.16 05:12 #13410 サンプルに含まれるモデルの挙動を表す別の方法として、ここでは色で表現しています。 TP - 正しい分類「1」- 緑 FP - 誤判定 "1" - 赤色 FN - 誤判定 "0"(実際は "1 "欠落)-青色 画面サイズが大きいので、クリックで見た方が面白いです。 そして、2つのバリエーションを押すときのGIFは、わかりやすいように切り替わります 私のモデルは、青が多いので、市場ではほとんどディップしていないことがわかります。正確さだけでなく、他の方法で学習を止める方法を探すべきかもしれませんね。もちろん、完全性と正確性の両方をある程度制限して設定したいのですが、このトレーニングを停止するというオプションが、なぜか開発者から提供されていないのは残念です。 1...133413351336133713381339134013411342134313441345134613471348...3399 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
スクリプトコード、興味のある方はどうぞ。
パラレルモデル解析、つまりテストサンプルに閾値の活性化ポイント(デフォルト0.5)を表示しました。
一般に、モデルは非常によく似ていることがわかりますが、もうひとつ驚くのは、活性化が起こっていない時間間隔が非常に大きいことです。おそらく、月例バーから情報を取っている何らかの予測因子が原因だと思われますが...。
パラレルモデル解析、つまりテストサンプルに閾値の活性化ポイント(デフォルト0.5)を表示しました。
一般に、モデルは非常によく似ていることがわかりますが、もうひとつ驚くのは、活性化が起こっていない時間間隔が非常に大きいことです。おそらく、月次バーから情報を取る何らかの予測器に原因があるのでしょう...。
そして、すべてのバーで連続したトレードの束?私も似たようなことがありました、NSで。結論は同じようなもので、大きなTFが影響力を持ち、小さなTFがそれを補っているのです。
そんなことないですよ、案件が画面の幅より大きいだけですからねー、大きいのは載せてませんよ。でも、それがグループ分けという形で出てくるということは......そうですね。参入可能性をこれだけ削るアッパーTFを捨てる価値があるかどうかが問題ですが...。
+++
アレクセイに悪気はないのですが、彼の書いたものが一言でも理解できたら、私は死んでしまいます。目標もその達成方法も明確でなく、実証されていない。15年間ニューラルネットの研究を続け、今は洗車場で働く先生の魂は、そうして彼の上に漂っているのだ。
そう、私たちは皆、神の下を歩いているのだ。洗車場でも特に違いはないし、あるマネージャーは疑似パートナーに「成長」し、しかし、定年前に尻を蹴られて壊れたトラフに残されることも簡単にあるのだ。今や欧米型の企業では、社員100人に対して30人の「副社長」がいるところもあり、中間管理職は月給5万円で副社長になっています)))面白くて罪深い...。
意識的なリスクと洗車場で働くための本当の脅威が、より多くの熱意、興味と冒険と途中で、またはさらに大きなリスクが、プロセスと結果の両方で失望と、 "カーペットの下に "キャリアの成長 "を隠されています。平民に生まれたら、すぐに希望を捨てた方がいいが、「やってみる」ことはできる、どうせ失うものは何もない、少なくとも死ぬ前に、できる限りのことをやったと言えるし、一生ビッチとしてひれ伏す必要はない)))。
エントリーの可能性をこれだけ削る上位TFを捨てる価値があるのか、ないのか、そこが問題だ......。
まあ、手動でテストして決めるか、最適化するかですね。
まあ手動で汗水垂らして決めるか、最適化を行うかですね。
シートを掘り返して原因を探さなければならないので、数日中に取り掛かります。そのためには少し休まなければなりませんね。
今のところ、タグ付けによって揺らいでいるモデルは少ないですね。バリエーションが増えたようで、ペアリングの面でも面白いかもしれません
おめでとうございます。
ターミナル:R言語を使用するアプリケーション経由でMetaTrader 5ターミナルからデータを要求するためのAPIを追加 しました。
MetaTraderRの特別パッケージを用意しました。RとMetaTrader 5ターミナル間の相互作用のためのDLL、ドキュメント、補助的なr-filesが含まれています。現在、このパッケージはCRANリポジトリに登録中 で、近日中にダウンロードとインストールが可能に なる予定です。
続編を待とう。
グッドラック
おめでとうございます。
ターミナル:R言語を使用するアプリケーション経由でMetaTrader 5ターミナルにデータを要求するためのAPIを追加 しました。
MetaTraderRの特別パッケージを用意しました。RとMetaTrader 5ターミナル間の相互作用のためのDLL、ドキュメント、補助的なr-filesが含まれています。本パッケージはCRANリポジトリに登録 中であり、近い将来、ダウンロードおよびインストールが可能になる予定 です。
続編を待とう。
グッドラック
開発者はフィードバックの質問を無視するので、確率的にはあまり高くないのですが...。
サンプルに含まれるモデルの挙動を表す別の方法として、ここでは色で表現しています。
TP - 正しい分類「1」- 緑
FP - 誤判定 "1" - 赤色
FN - 誤判定 "0"(実際は "1 "欠落)-青色
画面サイズが大きいので、クリックで見た方が面白いです。
そして、2つのバリエーションを押すときのGIFは、わかりやすいように切り替わります
私のモデルは、青が多いので、市場ではほとんどディップしていないことがわかります。正確さだけでなく、他の方法で学習を止める方法を探すべきかもしれませんね。もちろん、完全性と正確性の両方をある程度制限して設定したいのですが、このトレーニングを停止するというオプションが、なぜか開発者から提供されていないのは残念です。