这是我第一次尝试在Netlogo中做一些“严肃的”事情,我试图做以下几件事:
经过一段时间后,我的海龟开始买东西,他们填写了他们支付的价格清单(清单是个人的)。我希望他们停止购买,如果名单的平均值保持在一个特定的门槛以下,一定数量的滴答。
我的问题是:在这种情况下,我如何计算滴答数?
我就是这么想的:
ifelse mean exePriceList < exePrice [set exitList lput who exitList]
[set exitList []]
if length exitList > exitTime [set buy false set sell false set pass
true]基本上,我就是这样做的:我向另一个名为exitList的列表中添加了一个元素(我只关心列表的长度)(它不是一个全局变量,但它是海龟自己的),如果平均值高于阈值,我就清空列表。然后,如果列表比预期的蜱数长,海龟就会停下来。
它不能工作,因为exitList没有被正确地填充。我能做什么?有更明智的方法来管理时间吗?这是整个过程的代码:
to bull-strategy
ask turtles with [bull = true] [
set color green
if ticks >= HFAentranceTime + startChecking [
if mean exePriceList > exePrice + (exePrice * stopLossBull) [set buy false
set sell false set pass true]
ifelse mean exePriceList < exePrice [set exitList lput who exitList] [set
exitList []]
if length exitList > exitTime [set buy false set sell false set pass
true]
]
]
end发布于 2016-04-23 09:50:08
我想,如果有人发现自己也处在同样的情况下,我可以把解决问题的办法发出去。这只是代码中的一个(非常基本的)错误,可能是由于缺乏经验(和/或缺乏注意),我只是在第二天才注意到这一点:“询问”过多了。我让海龟们遵循一个程序,然后,在这个过程中,我错误地重复了“询问”命令。所以基本上海龟们被要求互相问问题.因此,计数器的异常增加。谢谢你的帮助。
https://stackoverflow.com/questions/36749548
复制相似问题