设为首页收藏本站

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

序列变量的设计似乎有问题 [复制链接]

Rank: 1

精华
0
UID
108004
积分
13
帖子
5
主题
4
阅读权限
10
注册时间
2012-3-29
最后登录
2016-6-7
跳转到指定楼层
1#
发表于 2013-6-12 23:16:12 |只看该作者 |倒序浏览
请教版主和各位高手,我想用一个序列变量来判断是否是第一次交易,可结果差强人意,例如

Vars
        NumericSeries firstTradeValue;

Begin
            If (CurrentBar == 0)
        {
                firstTradeValue = 0;
        }

        If (CurrentBar > 0)
        {
                // 判断是否是第一次交易
                If (firstTradeValue[1] < 1)
                {
                        If (MarketPosition <> 1)
                        {
                                Buy(1,Open);
                                firstTradeValue = firstTradeValue + 1;
                        }
                }
                Else  // 否则则为后期交易
                {       
                        {
                                If (MarketPosition <> -1)
                                {
                                        SellShort(1,Open);
                                }
                        }
                }
        }
End

当用 1 作为与 firstTradeValue[1] 比较的对象时,If (firstTradeValue[1] < 1) ,结果只显示一次卖出。

但当改为 2 作为与 firstTradeValue[1] 比较的数值时,If (firstTradeValue[1] < 2),可以达到预期的效果,即前一个Bar买入,后一个Bar卖出;可这似乎不合逻辑。

请问有什么合理的解释吗?有些怀疑序列变量存在Bug,期待回复,非常感谢。

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

bottom

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

GMT+8, 2024-5-23 20:59

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部