免责声明:我没有写这段代码,我只是想让它工作。
我正在尝试从这里获取代码。设置是安装了 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().
结果
初始化外汇货币 表:[元数据,'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,[{file,"fx.erl"},{line,692}]}]}
fx:init().
后运行ets:i().
不显示名为 EURUSD15
的表。
为什么会这样,我该如何解决这个问题?
附言如果找到有效的解决方案,我打算要求将更改与原始代码合并(基本上,我会尝试推送请求)。
我熟悉这个平台,我们正在我们的机器上运行它,去年我们把它用作我们的培训材料。
发生这种情况是因为您在启动基准测试器之前没有启动外汇模拟器。