2012-09-25 58 views
1

以下是JavaScript的所有JavaScript EFS,但适用于股票和交易软件。参考JAVASCRIPT中的循环中的值

因此,在下面的例子: 高()是简单地价格的高在1分钟巴。所有酒吧每分钟处理一次“高”和“低”(该分钟的价格)。

好吧,我已经想出了如何使用循环。但是,我在创建的循环内难以访问值,例如

var Source2 = high(); 
var vValue2 = Source2.getValue(15); 

for (h = -15; h < 0; h++)  { 
    vValue2 = Math.max(vValue2, Source2.getValue(-h)); 

if (vValue2 == Source2.getValue(-h))  { 
     barIndex2 = getCurrentBarIndex()-h; 
     } 
} 

现在让我们假设这是所有罚款,并返回我的值(在这种情况下,最高的高期待着从入口点15条)。但是,我现在希望为回路处理(全部用于回测目的)提供条件,例如:

  • 例如,我想返回(vValue2 + 1)例如'vValue2'已被返回为最高点(15条),现在我想知道'vValue2 +1条'的值,即使这不是最高的条。
  • 有没有一种方法可以让循环仅在满足多个条件时返回值,例如: i。如果这个返回值的条('h'+1)有一个低于('h')的低电平的LOW('h'+1),返回15个条的第一个最高电平(可以说'h')&('h '+2),('h'+ 3),('h'+ 4),都高于('h')。

基本上我想添加多个IF条件以开始一个循环??或者我应该在循环返回值之后添加IF条件?

  • 我不知道我需要的东西是否可能,或者我必须在循环后使用循环来获得所需的结果。

回答

1

您可以使用多个条件,您for循环是这样的:

for (h = -15; (h < 0 && something == somethingElse); h++)

你也可以break出的是这样一个循环:

for (h = -15; h < 0; h++)  { 
    if(blah == 1)break; // breaks out of loop completely 
} 
+0

所以我可以参考值h + 1作为条件?所以像这样的东西可以工作:(h = -15;(h <0 &&(h + 1(low) user1697573

+0

条件部分每次循环运行时都会对for循环进行评估,我不确定你的'low'函数在做什么,但这里是一个例子,说明你可以在'for'中使用多个条件http://jsfiddle.net/ 4Sn6q / – davehale23