设为首页收藏本站

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

MarketPosition不更新呢? [复制链接]

Rank: 2

精华
0
UID
32960
积分
100
帖子
26
主题
5
阅读权限
30
注册时间
2011-4-11
最后登录
2014-1-10
跳转到指定楼层
1#
发表于 2011-6-15 13:15:52 |只看该作者 |倒序浏览
启动自动化交易策略,自动开了空仓,但是MarketPosition 的值还是0呢,一直没有变1,是怎么回事?
勤能补拙

Rank: 2

精华
0
UID
32960
积分
100
帖子
26
主题
5
阅读权限
30
注册时间
2011-4-11
最后登录
2014-1-10
2#
发表于 2011-6-15 13:18:59 |只看该作者
回复 1# kele027
代码如下:高手指点下,先谢谢了

    //------------------------------------------------------------------------
// 简称: hekezfll
// 名称: 何可-正反理论
// 类别: 公式应用
// 类型: 用户应用
//------------------------------------------------------------------------

Params
    Numeric Para1(10);
    Numeric Para2(5);
Vars
        Bool Condition1;
        Bool Condition2;
        Numeric  yinLiE;
        Numeric  kuiSunE;
        Numeric RandNumTemp;
Begin
        //风险控制模块
    yinLiE=7;
        kuiSunE=3;
        //随机函数
        RandNumTemp = Rand( -1, 1 );
        //日志输出
        FileAppend("c:\\Formula.log",Text(CurrentTime())+"MarketPosition:"+Text(MarketPosition
        +"A_B:"+Text(A_BuyPosition)+"A_S:"+Text(A_SellPosition));

       
if(MarketPosition ==0&&A_BuyPosition==0&&A_SellPosition==0)//当前位置为持平
{
                if(RandNumTemp>0)
                {
                        Condition1=True;
                }Else{
                        Condition2 = True;       
                }
}

if(MarketPosition ==1)//当前位置为持多仓
{
                if((Open-yinLiE)>A_BuyAvgPrice||(Open+kuiSunE)<A_BuyAvgPrice)
                {       
                        Condition2=true;
                }
}

if(MarketPosition ==-1)//当前位置为持空仓
{
        if((Open-kuiSunE)>A_SellAvgPrice||(Open+yinLiE)<A_SellAvgPrice)
        {       
                Condition1=true;
        }
}
        if (Condition1)
        {
                Buy(1,High);
        }
        if (Condition2)
        {
                SellShort(1,Low);
        }
End

//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2011/06/14 13:54
// 版权所有        kele0027002270
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
勤能补拙

使用道具 举报

Rank: 4

精华
0
UID
29821
积分
321
帖子
32
主题
5
阅读权限
50
注册时间
2011-3-21
最后登录
2011-10-17
3#
发表于 2011-6-15 15:13:44 |只看该作者
去掉所有A函数,其他应该没问题。

Params
    Numeric Para1(10);
    Numeric Para2(5);
Vars
        Bool Condition1;
        Bool Condition2;
        Numeric  yinLiE;
        Numeric  kuiSunE;
        Numeric RandNumTemp;
Begin
        //风险控制模块
    yinLiE=7;
        kuiSunE=3;
        //随机函数
        RandNumTemp = Rand( -1, 1 );
        //日志输出
        FileAppend("c:\\Formula.log",Text(CurrentTime)+"MarketPosition:"+Text(MarketPosition));

        
if(MarketPosition ==0)//当前位置为持平
{
                if(RandNumTemp>0)
                {
                        Condition1=True;
                }Else{
                        Condition2 = True;        
                }
}

if(MarketPosition ==1)//当前位置为持多仓
{
                if((Open-yinLiE)>AvgEntryPrice||(Open+kuiSunE)<AvgEntryPrice)
                {        
                        Condition2=true;
                }
}

if(MarketPosition ==-1)//当前位置为持空仓
{
        if((Open-kuiSunE)>AvgEntryPrice||(Open+yinLiE)<AvgEntryPrice)
        {        
                Condition1=true;
        }
}
        if (Condition1)
        {
                Buy(1,High);
        }
        if (Condition2)
        {
                SellShort(1,Low);
        }
End
成功是失败之父

使用道具 举报

Rank: 2

精华
0
UID
32960
积分
100
帖子
26
主题
5
阅读权限
30
注册时间
2011-4-11
最后登录
2014-1-10
4#
发表于 2011-6-20 16:42:42 |只看该作者
哎,我这里老是发现持仓状态不同步,有点郁闷。

也先谢谢。马龙 同志
勤能补拙

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
5#
发表于 2011-6-21 08:54:32 |只看该作者
回复 4# kele027


有持仓状态不同步状态的账户,是实盘的账户还是模拟的账户?

使用道具 举报

Rank: 2

精华
0
UID
32960
积分
100
帖子
26
主题
5
阅读权限
30
注册时间
2011-4-11
最后登录
2014-1-10
6#
发表于 2011-6-21 10:02:01 |只看该作者
模拟账户
勤能补拙

使用道具 举报

Rank: 1

精华
0
UID
45436
积分
25
帖子
10
主题
2
阅读权限
10
注册时间
2011-6-7
最后登录
2011-8-1
7#
发表于 2011-6-21 11:04:19 |只看该作者
我的模拟账户MarketPosition也一直是0,而且空头平仓操作不能执行

BuyToCover(Abs(Line4),0);                //空头平仓

是不是因为 MarketPosition 为0的原因?当前明明有空仓的

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
8#
发表于 2011-6-21 12:15:20 |只看该作者
回复 6# kele027


是否出现信号消失的情况?

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
9#
发表于 2011-6-21 13:24:01 |只看该作者
回复 7# haoqi1999

如果平仓条件中未使用MarketPosition就与它是否为0无关

使用道具 举报

Rank: 2

精华
0
UID
32960
积分
100
帖子
26
主题
5
阅读权限
30
注册时间
2011-4-11
最后登录
2014-1-10
10#
发表于 2011-6-22 10:02:17 |只看该作者
回复 8# lh948


    有出现信号消失,
主要是平仓函数依赖MarketPosition 的值,不知道有啥子方法处理
Bool Sell(Numeric Share=0,Numeric Price=0,Bool Delay=False)

产生一个多头平仓操作,返回值为布尔型,执行成功返回True,否则返回False,该函数仅支持交易指令。
该函数仅用于多头平仓,其处理规则如下:
如果当前持仓状态为持平,即MarketPosition = 0 时,该函数不执行任何操作。
如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数不执行任何操作。
如果当前持仓状态为多仓,即MarketPosition = 1 时,如果此时Share使用默认值,该函数将平掉所有多仓,达到持平的状态,否则只平掉参数Share的多仓。
当委托价格超出k线的有效范围,将会取最接近的有效价格发单。
例如:当前k线有效价格为50-100,用sell(1,10)发单,委托价将以50发单。
勤能补拙

使用道具 举报

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

bottom

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

GMT+8, 2024-5-24 04:51

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部