设为首页收藏本站

 找回密码
 注册
查看: 3311|回复: 29
打印 上一主题 下一主题

N根bar中如何取最大值(N数量不定,但有条件) [复制链接]

Rank: 1

精华
0
UID
271750
积分
27
帖子
22
主题
3
阅读权限
10
注册时间
2018-10-28
最后登录
2020-2-2
跳转到指定楼层
1#
发表于 2019-2-22 16:28:25 |只看该作者 |倒序浏览
请管理员或版主回答一下:
在N根bar中如何取最大值。如求MAX(price,price[1]),bar的范围从最后一根bar(也就是本根bar)往前倒推,一直推到前面有开仓行为的那根bar停止,bar的数量无法固定。如果不限定条件,则MAX(price,price[1])算出的是屏幕上所有bar的最大值,该条件下如何编辑公式?

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2019-2-22 16:42:43 |只看该作者
求N根bar中最大值用highest(high,N);
如果是想知道开仓后的最大值,N值不固定的,是另外的写法。
if(buycon)
{
     buy();
     highestprice = close;
}else (marketposition ==1)
{
     highestprice = max(high,highestprice);
}

使用道具 举报

Rank: 1

精华
0
UID
271750
积分
27
帖子
22
主题
3
阅读权限
10
注册时间
2018-10-28
最后登录
2020-2-2
3#
发表于 2019-2-22 16:46:14 |只看该作者
小米 发表于 2019-2-22 16:42
求N根bar中最大值用highest(high,N);
如果是想知道开仓后的最大值,N值不固定的,是另外的写法。
if(buycon ...

谢谢版主的快速回复

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2019-2-22 16:47:30 |只看该作者
aniu1983 发表于 2019-2-22 16:46
谢谢版主的快速回复

前面忘说明了一下,highestprice要声明为序列变量

使用道具 举报

Rank: 1

精华
0
UID
271750
积分
27
帖子
22
主题
3
阅读权限
10
注册时间
2018-10-28
最后登录
2020-2-2
5#
发表于 2019-2-24 23:53:55 |只看该作者
小米 发表于 2019-2-22 16:47
前面忘说明了一下,highestprice要声明为序列变量

谢谢提醒,还想问一下,如果上面的highestprice是求根据bar数据(最高或最低价等)计算出的离场价,比如持多仓下的 ExitLowestPrice。本根bar开多仓后,在本根bar上按照条件“ExitLowestPrice = Max( myEntryPrice-10,MA[1]-0.25*ATR[1]);”离场,但到了开多仓后的第二根bar上以及以后,离场条件在“ExitLowestPrice = Max( myEntryPrice-10,MA[1]-0.25*ATR[1]);”的基础上加上一条ExitLowestPrice= Max(ExitLowestPrice, ExitLowestPrice[1] )”.也就是说第一根bar不要出现ExitLowestPrice= Max(ExitLowestPrice, ExitLowestPrice[1] ),这个如何编辑?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2019-2-25 09:26:10 |只看该作者
aniu1983 发表于 2019-2-24 23:53
谢谢提醒,还想问一下,如果上面的highestprice是求根据bar数据(最高或最低价等)计算出的离场价,比如 ...

离场条件在“ExitLowestPrice = Max( myEntryPrice-10,MA[1]-0.25*ATR[1]);”的基础上加上一条ExitLowestPrice= Max(ExitLowestPrice, ExitLowestPrice[1] )”.
这句话怎么理解?
这两个变 量运算之间的关系 是啥、

使用道具 举报

Rank: 1

精华
0
UID
271750
积分
27
帖子
22
主题
3
阅读权限
10
注册时间
2018-10-28
最后登录
2020-2-2
7#
发表于 2019-2-25 09:43:36 |只看该作者
小米 发表于 2019-2-25 09:26
离场条件在“ExitLowestPrice = Max( myEntryPrice-10,MA[1]-0.25*ATR[1]);”的基础上加上一条ExitLowest ...

我说的复杂了,文字不好表达,忽略了前面,
也就是说       在多头持仓情况下,判断是否是开多仓的那根开仓bar怎么表示?
If(MarketPosition == 1) // 有多仓的情况
{
  If(                          )// 开多仓的那根bar

}

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2019-2-25 09:46:39 |只看该作者
本帖最后由 小米 于 2019-2-25 09:49 编辑
aniu1983 发表于 2019-2-25 09:43
我说的复杂了,文字不好表达,忽略了前面,
也就是说       在多头持仓情况下,判断是否是开多仓的那根开 ...


呃。。。
我前面的例子这是这样的呀。
if(buycon)即在开仓bar时,对该变量的赋值是一种算法。。
if(marketposition==1)即开仓后的第二个bar直至平仓前,对该变量的赋值 又是另一个算法了呀。

这个是你想要的效果吗?
  1. if(buycon && marketpositoin!=1)
  2.       ExitLowestPrice = Max( myEntryPrice-10,MA[1]-0.25*ATR[1]);
  3. else if(marketpositon==1)
  4.       ExitLowestPrice= Max(ExitLowestPrice, ExitLowestPrice[1] );
复制代码

使用道具 举报

Rank: 1

精华
0
UID
271750
积分
27
帖子
22
主题
3
阅读权限
10
注册时间
2018-10-28
最后登录
2020-2-2
9#
发表于 2019-2-25 09:59:51 |只看该作者
小米 发表于 2019-2-25 09:46
呃。。。
我前面的例子这是这样的呀。
if(buycon)即在开仓bar时,对该变量的赋值是一种算法。。

if(buycon && marketpositoin!=1)
  ExitLowestPrice = Max( myEntryPrice-10,MA[1]-0.25*ATR[1]);
1、if括号里面的条件是非持多仓的情况,能判断出开仓bar么?离场价ExitLowestPrice写上有无意义?
2、if(marketposition==1) 判断出的bar就是开仓bar后的第二个bar直至平仓前?
我觉得开仓bar在if(marketposition==1) 里面,我的理解对不对?

使用道具 举报

Rank: 1

精华
0
UID
271750
积分
27
帖子
22
主题
3
阅读权限
10
注册时间
2018-10-28
最后登录
2020-2-2
10#
发表于 2019-2-25 10:11:51 |只看该作者
小米 发表于 2019-2-25 09:46
呃。。。
我前面的例子这是这样的呀。
if(buycon)即在开仓bar时,对该变量的赋值是一种算法。。

当前bar开仓之后,下一根bar的marketposition才会改变么?如果是的话,实盘和回测都是这个机制么?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-18 00:51

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部