記事"時系列予測に対する ENCOG マシン学習へのMetaTrader 5インディケータ使用"についてのディスカッション - ページ 4

 

このニューラルネット・エキスパート・アドバイザーを使って儲けた人はいますか?

 

ノルウェーのプラットフォームでオリジナルのバージョンに問題があるので、Encog 3.1に翻訳してほしい。

3.1では、時間の箱詰めのやり方がよくわかりませんし、このステップをスキップすると、ネットワークが最終的な


// Step 2: Normalize
Console.WriteLine("Step 2:フューチャー・インディケータの作成");

var analyst = new EncogAnalyst();
var wizard = new AnalystWizard(analyst);
wizard.Wizard(new System.IO.FileInfo(STEP2_FILENAME), true, AnalystFileFormat.DecpntComma);
analyst.Script.Normalize.NormalizedFields[0].MakePassThrough(); //これは必要ですか?
analyst.Script.Normalize.NormalizedFields[1].MakePassThrough(); //これは必要ですか?MakePassThrough();
var norm = new AnalystNormalizeCSV();
norm.Analyze(new System.IO.FileInfo(STEP2_FILENAME), true, CSVFormat.English, analyst);
norm.ProduceOutputHeaders = true;

norm.Normalize(new System.IO.FileInfo(STEP4_FILENAME));

// 3.1のタイムボックスの作り方がわからないので、STEP3は省略。元のサンプルではOptionalと書いてある。

Console.WriteLine("Step 4: Train");
Console.ReadKey();
INeuralDataSet training = (BasicNeuralDataSet)EncogUtility.LoadCSV2Memory(STEP4_FILENAME, 3 + externalIndicatorCount, // 入力カウントと理想的なカウントが何であるべきか、うまく文書化されていません。同じか?
3 + externalIndicatorCount, true, CSVFormat.English, true);
BasicNetwork network = new BasicNetwork();
network.AddLayer(new BasicLayer(new ActivationTANH(), true, inputNeurons));
network.AddLayer(new BasicLayer(new ActivationTANH(), true, HIDDEN1_NEURONS));
network.AddLayer(new BasicLayer(new ActivationLinear(), true, outputNeurons));
network.Structure.FinalizeStructure();
network.Reset();
//ニューラルネットワークを トレーニングする
EncogUtility.TrainConsole(network, training, 3);
Console.WriteLine(@"Training complete, saving network."); // ここには来ないので、明らかに何かが間違っている
EncogDirectoryPersistence.SaveObject(new System.IO.FileInfo(STEP5_FILENAME), network);

現状では(オリジナルのサンプル/バージョンでは)ind.Processの行で最初の問題があります。Analyzeステップでは6カラムのファイルを正しくピックアップしているようですが、生成されるファイルには7カラムがあるはずです。国設定をUS(English)にすると、生成されるファイルはOKですが、これは私の通常の設定ではなく、避けたい他の問題があります。


            ProcessIndicators ind = new ProcessIndicators();
            ind.Analyze(STEP1_FILENAME, true, CSVFormat.DECIMAL_POINT);
            int externalIndicatorCount = ind.Columns.Count - 3;
            ind.AddColumn(new BestReturn(RESULT_WINDOW,true)); 
            ind.Process(STEP2_FILENAME);    
 

こんにちは、

スクリプトとインジケーターは動くようになりましたが、EAは動きません。

私のインテルi7コア第1世代は、マルチコア・コンピューティングのためのOpenCLにアクセスしたがっています。

私はこのすべてをインテルi7コア第2世代のノートパソコンに移しましたが、今度は64ビット版のEncogNNTrainDLL.dllを欲しがります!

インターネットを探し回っているのですが、どうやら手に入れることができないようです。

ところで、私はいつもニューラルネットに興味を持っている。コンピュータのメモリがキロバイト単位だった時代からだ。

ジェフ・ヒートンのビデオは大好きだ。

ありがとうございました。

 

こんにちは、イヴェステオ、

良い記事をありがとう!

どのような種類のトレーニングを使っているのか教えていただけますか?SOMを使用しているのですか、それともFeedForward Networkを使用しているのですか?あなたが使っている理想的なデータが何なのかよくわかりません。

ありがとうございます、

ハイパープロ

 

RESULT_WINDOW とは何ですか?これはネットワーク・トレーニング中にのみ供給されるバーということでよろしいでしょうか?結局のところ、作業中に未来のバーを取る場所はありません。

/// 使用される未来のバーの数。
        /// </summary> 

public const int RESULT_WINDOW = 5

// 最良の結果を得るために使用される前方バーの

        /// </summary>
        public const int RESULT_WINDOW = 5;

 

C#開発者にはとても感謝しています。

アンマネージドDLLを.NETアプリケーションと会話させるという前回の記事に従いました。その後、マネージドパイプを使って、C#でラップしたコードがWCFを使って.NETウェブアプリケーションと会話できるようにしました。

私はこれをSQLデータベースにバックアップし、EAのレポーティングとリモート注文管理を行う予定だ。次のステップは、ニューラルネットワークの コードをプラグインして、テストを開始することです。

最近読んだ記事の中で最高のものです。

 

何かが突然、議論を終わらせた...。

このライブラリを使っている人はいますか?研究する価値はありますか?

私はこの記事がとても好きだった。著者に敬意を表します!

 

こんにちは、

この記事をencog v.3.2に移植しようとしたのですが、ステップ3のタイムボックスに問題があります。 どなたか ステップ3が できる 方は いらっしゃいますか?


 // ステップ1:未来の指標を作る
            Console.WriteLine("Step 1: Analyze MT5 Export & Create Future Indicators");
            ProcessIndicators ind = new ProcessIndicators();
            ind.Analyze(new FileInfo(STEP1_FILENAME), true, CSVFormat.DecimalPoint);
            int externalIndicatorCount = ind.Columns.Count - 3;
            ind.AddColumn(new BestReturn(RESULT_WINDOW, true));
            ind.Process(new FileInfo(STEP2_FILENAME));
            Console.WriteLine("External indicators found: " + externalIndicatorCount);

            // ステップ2:正規化
            Console.WriteLine("Step 2: Create Future Indicators");
            var analyst = new EncogAnalyst();
            var wizard = new AnalystWizard(analyst);
            wizard.Goal = AnalystGoal.Classification;
            wizard.Wizard(new System.IO.FileInfo(STEP2_FILENAME), true, AnalystFileFormat.DecpntComma);
            analyst.Script.Normalize.NormalizedFields[0].MakePassThrough();      //これは必要か?
            analyst.Script.Normalize.NormalizedFields[1].MakePassThrough();

            var norm = new AnalystNormalizeCSV();
            norm.ExpectInputHeaders = true;
            norm.Format = CSVFormat.English;
            norm.Analyze(new FileInfo(STEP2_FILENAME), true, CSVFormat.English, analyst);
            norm.ProduceOutputHeaders = true;

            norm.Normalize(new FileInfo(STEP3_FILENAME));


            Console.WriteLine("Step 3: Time-boxses");
            // ニューロン数
            int inputNeurons = INPUT_WINDOW * externalIndicatorCount;
            int outputNeurons = PREDICT_WINDOW;

            FileInfo rawFile = new FileInfo(STEP3_FILENAME);


               //Step 3 

                HOW???
            
            Console.WriteLine("Step 4: Train");
            IMLDataSet training = (IMLDataSet)EncogUtility.LoadCSV2Memory(STEP4_FILENAME, inputNeurons,
                                                                                     outputNeurons, true, CSVFormat.English,false);
            

            BasicNetwork network = new BasicNetwork();
            network.AddLayer(new BasicLayer(new ActivationTANH(), true, inputNeurons));
            network.AddLayer(new BasicLayer(new ActivationTANH(), true, HIDDEN1_NEURONS));
            network.AddLayer(new BasicLayer(new ActivationLinear(), true, outputNeurons));
            network.Structure.FinalizeStructure();
            network.Reset();

            //EncogUtility.TrainToError(network, training, TARGET_ERROR);
            EncogUtility.TrainConsole(network, training, 3);
            Console.WriteLine(@"Training complete, saving network.");  // だから、明らかに何かが間違っている。
            EncogDirectoryPersistence.SaveObject(new System.IO.FileInfo(STEP5_FILENAME), network);
 

こんにちは、

私も必要なものをすべてバージョン3.2に移植しようとしています。というのも、バージョン2.6がネット上で入手できないからだ。しかし、それはジャングルの中を走っているようです。まだ4週間ほど働いている。しかし、終わりが見えない。

誰か移植に成功した人はいますか?どなたか教えてください。

ありがとうございました。

リフルト

 
私はこのスレッドをencog 3.3とmt4を使って移植することに成功しました。