在包含TRUE的两列中的可变单元格范围之间查找MIN值

时间:2017-07-05 13:21:58

标签: excel excel-vba excel-formula vba

对不起,如果我不是很清楚!我不是很熟悉Excel,但最近一直在利用它来对财务数据进行一些分析。我有一个正常的OHLC数据集和另外两列,我有一些IF语句打印为True或False。

我如何完成以下任务:

我想在其中一个OHLC列中找到最小值,该列位于一列具有True值而另一列具有True值的范围内?这个范围是可变的,并且根据每列中两个真实之间的距离而变化,如果它们在那里。

我不需要一天一天地继续这样做。我只需要一个公式来选择这个范围,例如,我的时间序列中的那一天从每天的10:00开始。

抱歉不清楚,想象一下。

date  time  open  high  low  close  condition1  condition2  
xxxx  xxxx  xxxx  xxxx  xxxx xxxx   true 
xxxx  xxxx  xxxx  xxxx  xxxx xxxx                         <--------this range
xxxx  xxxx  xxxx  xxxx  xxxx xxxx                         <--------i want min 
xxxx  xxxx  xxxx  xxxx  xxxx xxxx                true

但当然这个范围每天都是可变的,条件可能有不同的间隔,也可能没有(2)真实,但如果有的话。我想知道如何指定这两个值之间的任何细胞范围

2 个答案:

答案 0 :(得分:0)

谢谢你的兴趣。我打算附上我试图执行这个想法的电子表格的副本,我现在只是不在那台笔记本电脑周围。首先,在你所描述的层面上并没有真正复杂的东西。不想交易生活&#39;或任何超级深入的东西。只是希望能够动态地对价格行为进行一些数据收集。我在电子表格上添加了很多评论,因此您可以获得它的主旨。以及如果条件切换的话题。第二个条件将依赖第一个条件表明自己是真实的。所以唯一的其他排列将是条件2没有表现出来。当我绕过我的另一台笔记本电脑时,我会在电子表格中添加很多评论,详细解释所有细节并附上它。抱歉没有VBA经验,虽然遇到这些问题让我认真考虑它。我通常会手工收集我想要的信息,但收集大样本是繁琐的工作。再次感谢。

并且在你问的另一个问题上,我不想在范围之间找到行数,我希望能够在另一列中的= MIN()计算中指定该范围。

如果价格突破了我在10:00行中的一个列中的高价,那么第一个条件将触发为真,这是a = MAX()从6:00-10:00计算给我四小时高点。如果高栏中的任何连续价格>> = 4h高价格条件1打印为真。然后,如果此列打印后的任何连续低价格都是&lt; = 6-10高价 - 0.0005(5点)另一个条件将达到True,第三个条件跟踪这个条件,如果它的True和任何一个连续高价从6-10回到= max()高,该条件将打印为True。

然后我想找到介于我的第一个和最后一个条件之间的最小低值。如果他们不是,什么也不做。并且像我之前解释的那样,在所有条件相互依赖之前,彼此可以检查自己的标准。所以唯一的排列是他们不是&#39;不是&#39;积极而不是以不同的顺序洗牌

希望在我提供电子表格之前,这可以解释为什么

答案 1 :(得分:-1)

这对我们来说是一个很好的问题。我假设你在交易,并且正在某些时间点查看某种运动指标(可能是一些模糊的希腊人或其他根植于高级统计分析的功能)。如果您希望实时实现这一点,我强烈建议您使用其他一些编程语言(R是一种很好的统计编程语言,用于每天分析股票变动和重新平衡投资组合,只要它对时间不敏感纳秒)。与一些了解HFT人员的同事交谈,他们将能够帮助您进行算法交易。

然而,假设您正在对长期交易策略进行此分析,而不是HFT,我们需要一些澄清,但是......

date  time  open  high  low  close  condition1  condition2  
xxxx  xxxx  xxxx  xxxx  xxxx xxxx   true 
xxxx  xxxx  xxxx  xxxx  xxxx xxxx                        
xxxx  xxxx  xxxx  xxxx  xxxx xxxx                         
xxxx  xxxx  xxxx  xxxx  xxxx xxxx                true

您向我们提供了此示例数据。您希望列TRUEcondition1的{​​{1}}值之间的行数。在这种情况下,它应该返回condition22 ...哪些是正确的?这将影响代码的编写。

此外,如果您的数据如下所示:

4

在这种情况下,您是否仍想返回最小值?或者您只关注第一种情况,即满足date time open high low close condition1 condition2 xxxx xxxx xxxx xxxx xxxx xxxx true xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx true 然后 condition1在此之后的一段时间内得到满足?

此外,如果发生此事件该怎么办:

condition2

您想要返回值date time open high low close condition1 condition2 xxxx xxxx xxxx xxxx xxxx xxxx true xxxx xxxx xxxx xxxx xxxx xxxx true xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ,还是希望程序跳过这个?

我很抱歉所有问题,但如果我们要帮助您解决与VBA相关的请求,我们需要了解这些问题。

最后,你有VBA经验吗?你有没有试过自己写这个?如果是这样,那么您可以将其包含在内,以便为您展示一些研究和努力,并让我们作为帮助您的基础。