【发布时间】:2011-04-15 06:11:31
【问题描述】:
可能重复:
echo inside if loop
我试图编写一个交易系统,我有一个进入和退出策略列表。为了减少代码中的行数,我计划将所有策略放入一个数组中,用于每个入口和出口。我的数组是这样的
$enter_strats = array(
array('name'=>"macd",'strat'=>"/$divergence[/$key]>0.1;"),
);
我在上面的数组中包含条件语句。 当我通过日常价格循环时,我必须检查每个进场策略是否属实。我的if语句是这样的
foreach($divergence as $key=>$value)
{
if($trade ==0)
{
foreach($enter_strats as $k =>$v)
{
$strat = $v['strat'];
$strat = str_replace("#","$",$strat);
eval("\$strat = \"$strat\";");
if ($strat)
{
$trade =1;
$book->save($key,$close[$key],$v['name']);
}
}
}
}
问题,因为它是一个字符串,它总是 if 总是将它评估为 true。我试着在 if 里面再放一个 eval 但没用。
请帮助解决这个问题,这是非常重要的。非常感谢。
【问题讨论】:
-
请考虑接受一些答案。请使用文本编辑器上的
{}按钮来格式化代码。 -
Hmz,你能再举一些Strats的例子吗?我对如何创建该数组有一个想法,只是想看看它有多可行。
-
这不是 stackoverflow.com/questions/5663128/echo-inside-if-loop 的副本。如果此问题是作为“完全重复”关闭的原因,则应重新打开该问题。在引用的问题中,尝试使用未解释的字符串作为条件,而这里作者试图调用 eval()。
标签: php algorithm trading algorithmic-trading