免責事項: このコードは私が書いたものではありません。機能させようとしているだけです。
ここからコードを機能させようとしています。セットアップは、Erlang がインストールされた Ubuntu 14.04 64 ビット マシンです。
アクションのシーケンスは次のとおりです。私がやっていることは次のとおりです。
- コードを複製する
cd
コードを含むフォルダーとerl
ターミナルにmake:all([load]).
polis:create().
polis:start().
benchmarker:start(slidingwindow50).
私が得るエラーは次のとおりです。
4> benchmarker:start(slidingwindow50).
true Dimensions:4,
Plasticity:none Dimensions:4, Plasticity:none Dimensions:4,
Plasticity:none Dimensions:4, Plasticity:none Dimensions:4,
Plasticity:none Dimensions:4, Plasticity:none Dimensions:4,
Plasticity:none Dimensions:4, Plasticity:none Dimensions:4,
Plasticity:none Dimensions:4, Plasticity:none
Specie_Id:6.858114617542796e-10 Morphology:forex_trader
******** Population monitor started with parameters:{state,benchmark,test,[], [],undefined,undefined,
undefined,[],0,0,0,0,0, undefined,undefined, undefined,undefined,
undefined,undefined,0.5, 10,10,mathema,inf,10000, inf,<0.274.0>,false}
Initial Tot Evaluations:0
Started Started Started Started Started Started Started
5> =ERROR REPORT==== 16-Mar-2016::14:11:34 === Error in process
<0.287.0> with exit value:
{badarg,[{ets,last,['EURUSD15'],[]},{fx,init_state,5,[{file,"fx.erl"},{line,375}]},{fx,sim,3,[{file,"fx.erl"},{line,284}]}]}
=ERROR REPORT==== 16-Mar-2016::14:11:34 === Error in process <0.288.0> with exit value:
{badarg,[{ets,last,['EURUSD15'],[]},{fx,init_state,5,[{file,"fx.erl"},{line,375}]},{fx,sim,3,[{file,"fx.erl"},{line,284}]}]}
のコードを fx.erl
確認すると、問題の原因はおそらくets
パーツと.txt
ファイルがディスクからメモリ内のテーブルに読み取られていないことにあることがわかります。
更新: の機能を調査しようとしていますfx
。これまでのところ、次のような結果が得
られました。 fx:sim(anything)
「開始」を出力し、シェルが応答しなくなります。
fx:init().
結果は
FX 通貨テーブルの初期化:[metadata,'EURUSD15','EURUSD30','EURUSD60'] FX メタデータと通貨テーブルが初期化され、ファイルに書き込まれました。わかった
fx:loop().
たくさん出力します
テーブルに挿入された新しいレコード:「EURUSD15」
最後の行は
新しい FOREX_DB の更新:{2009,6,16,7,30,0,15}
その後
=エラー レポート==== 2016 年 3 月 22 日::16:41:26 === プロセス <0.357.0> で終了値 {badarg,[{fx,insert_ForexRaw,2,[{file," fx.erl"},{line,767}]},{fx,updater,1,[{file,"fx.erl"},{line,698}]},{fx,heartbeat,3,[{ファイル,"fx.erl"},{行,692}]}]}
ets:i().
後に実行すると、fx:init().
というテーブルが表示されませんEURUSD15
。
それはなぜですか、どうすれば修正できますか?
PS 有効な解決策が見つかった場合は、変更を元のコードにマージするように依頼する予定です (基本的には、プッシュ リクエストを試みます)。