设为首页收藏本站

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

在连续页面上交易主力月份问题? [复制链接]

Rank: 1

精华
0
UID
112603
积分
24
帖子
2
主题
2
阅读权限
10
注册时间
2012-9-20
最后登录
2013-4-24
跳转到指定楼层
1#
发表于 2012-9-20 15:48:36 |只看该作者 |倒序浏览
比如说我的超级图表上是期指连续IF88,在这个图表上产生的交易信号,软件能否自动以主力合约的编码下单?

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2012-9-21 13:33:41 |只看该作者
不可以

使用道具 举报

Rank: 2

精华
0
UID
112465
积分
63
帖子
36
主题
3
阅读权限
30
注册时间
2012-9-11
最后登录
2013-7-3
3#
发表于 2012-10-24 09:01:29 |只看该作者
lh948 发表于 2012-9-21 13:33
不可以

那我想在主力合约上下单,TB上该怎么实现?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2012-10-24 13:55:33 |只看该作者
糊涂何妨 发表于 2012-10-24 09:01
那我想在主力合约上下单,TB上该怎么实现?

使用委托映射的功能。

使用道具 举报

Rank: 2

精华
0
UID
112465
积分
63
帖子
36
主题
3
阅读权限
30
注册时间
2012-9-11
最后登录
2013-7-3
5#
发表于 2012-10-24 19:59:01 |只看该作者
小米 发表于 2012-10-24 13:55
使用委托映射的功能。

If(AccountDataExist && a_accountID()!="")                                                            //当前商品账户数据有效
//-----------------------------建立多头仓位-----------------------                                                
//{  
    if(BarStatus==0)
        {SetGlobalVar(0,1);
        }
        If(A_BuyPosition==0 && GetGlobalVar(0)==1 && BarStatus==2)                                                               
        {
            If(condition1)                                               
                {
                    A_SendOrder(enum_buy,Enum_Entry,1,Q_BidPrice+myoffset);
                    SetGlobalVar(0,0);
                }
               
        }
        //---------------------建立空头仓位-----------------------------

        if(BarStatus==0)
        {SetGlobalVar(1,1);
        }
        If(A_SellPosition==0 && GetGlobalVar(1)==1 && BarStatus==2)                                                            
        {
                If(condition2)                                          
                {
                        A_SendOrder(enum_sell,Enum_Entry,1,Q_BidPrice-myoffset);
                        SetGlobalVar(1,0);
                }
        }
       
//-----------------------------处理多头仓位-----------------------
        If(A_SellPosition>=1 && BarStatus==2)
        {
            If(condition3 )
                {
                    A_SendOrder(Enum_Buy,enum_exit,A_BuyPosition,Q_BidPrice+myoffset);
                    SetGlobalVar(0,1);
                }
        }
//----------------------------处理空头仓位-------------------------------
        If(A_BuyPosition>=1 && BarStatus==2)                                                         
        {
            If(condition4==0)                                                
                {
                    A_SendOrder(enum_sell,enum_exit,A_sellPosition,Q_BidPrice-myoffset);
                        SetGlobalVar(1,1);
                }
        }

//}
Commentary("pricecondition:"+Text(pricecondition));
Commentary("BarStatus:"+Text(BarStatus));
Commentary("A_SellPosition:"+Text(A_SellPosition));
Commentary("A_buyPosition:"+Text(A_buyPosition));
Commentary("GetGlobalVar(0):"+Text(GetGlobalVar(0)));
Commentary("GetGlobalVar(1):"+Text(GetGlobalVar(1)));
End
小米,帮忙看下这个程序用全局变量控制开仓有问题么?为什么我在模拟的时候成交不了,getglobalvar(0)和getglobalvar(1)在没有成交的时候会变成0

使用道具 举报

Rank: 2

精华
0
UID
112465
积分
63
帖子
36
主题
3
阅读权限
30
注册时间
2012-9-11
最后登录
2013-7-3
6#
发表于 2012-10-24 19:59:09 |只看该作者
小米 发表于 2012-10-24 13:55
使用委托映射的功能。

If(AccountDataExist && a_accountID()!="")                                                            //当前商品账户数据有效
//-----------------------------建立多头仓位-----------------------                                                
//{  
    if(BarStatus==0)
        {SetGlobalVar(0,1);
        }
        If(A_BuyPosition==0 && GetGlobalVar(0)==1 && BarStatus==2)                                                               
        {
            If(condition1)                                               
                {
                    A_SendOrder(enum_buy,Enum_Entry,1,Q_BidPrice+myoffset);
                    SetGlobalVar(0,0);
                }
               
        }
        //---------------------建立空头仓位-----------------------------

        if(BarStatus==0)
        {SetGlobalVar(1,1);
        }
        If(A_SellPosition==0 && GetGlobalVar(1)==1 && BarStatus==2)                                                            
        {
                If(condition2)                                          
                {
                        A_SendOrder(enum_sell,Enum_Entry,1,Q_BidPrice-myoffset);
                        SetGlobalVar(1,0);
                }
        }
       
//-----------------------------处理多头仓位-----------------------
        If(A_SellPosition>=1 && BarStatus==2)
        {
            If(condition3 )
                {
                    A_SendOrder(Enum_Buy,enum_exit,A_BuyPosition,Q_BidPrice+myoffset);
                    SetGlobalVar(0,1);
                }
        }
//----------------------------处理空头仓位-------------------------------
        If(A_BuyPosition>=1 && BarStatus==2)                                                         
        {
            If(condition4==0)                                                
                {
                    A_SendOrder(enum_sell,enum_exit,A_sellPosition,Q_BidPrice-myoffset);
                        SetGlobalVar(1,1);
                }
        }

//}
Commentary("pricecondition:"+Text(pricecondition));
Commentary("BarStatus:"+Text(BarStatus));
Commentary("A_SellPosition:"+Text(A_SellPosition));
Commentary("A_buyPosition:"+Text(A_buyPosition));
Commentary("GetGlobalVar(0):"+Text(GetGlobalVar(0)));
Commentary("GetGlobalVar(1):"+Text(GetGlobalVar(1)));
End
小米,帮忙看下这个程序用全局变量控制开仓有问题么?为什么我在模拟的时候成交不了,getglobalvar(0)和getglobalvar(1)在没有成交的时候会变成0

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2012-10-25 09:00:33 |只看该作者
糊涂何妨 发表于 2012-10-24 19:59
If(AccountDataExist && a_accountID()!="")                                                          ...


从你的公式来看,0号全局变量是控制开多的,1号是控制开空的。
但是平多时,却去处理了1号全局变量;平空时,则去处理了0号全变量。这个是你的思路还是误写了?

使用道具 举报

Rank: 2

精华
0
UID
112465
积分
63
帖子
36
主题
3
阅读权限
30
注册时间
2012-9-11
最后登录
2013-7-3
8#
发表于 2012-10-25 10:26:32 |只看该作者
小米 发表于 2012-10-25 09:00
从你的公式来看,0号全局变量是控制开多的,1号是控制开空的。
但是平多时,却去处理了1号全局变量;平空 ...

没有啊,平多是是控制的0号全局变量。我在模拟的时候所以条件都符合了,但是就是没有成交,比较困惑啊

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
9#
发表于 2012-10-25 10:43:41 |只看该作者
If(A_BuyPosition>=1 && BarStatus==2)                                                         
        {
            If(condition4==0)                                                
                {
                    A_SendOrder(enum_sell,enum_exit,A_sellPosition,Q_BidPrice-myoffset);
                        SetGlobalVar(1,1);
                }
        }

看一下你自己的代码,问题还是比较多的呀。
判断持仓a_buyposition大于等于1 ,并进行enum_sell,enum_exit,这个就是平多吧???
但是你的平仓手数使用了A_sellPosition明确有错,再用1号全局变量也是有错。。

使用道具 举报

Rank: 2

精华
0
UID
112465
积分
63
帖子
36
主题
3
阅读权限
30
注册时间
2012-9-11
最后登录
2013-7-3
10#
发表于 2012-10-25 21:44:58 |只看该作者
小米 发表于 2012-10-25 10:43
看一下你自己的代码,问题还是比较多的呀。
判断持仓a_buyposition大于等于1 ,并进行enum_sell,enum_exit ...

这里是弄错了,我改过以后,但是为什么前面条件满足了,还是开不了仓位

使用道具 举报

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

bottom

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

GMT+8, 2024-5-23 12:09

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部