开拓者期货期权程序化系统交易论坛

标题: 自动交易问题:图表一次开仓信号,却连续成交7笔 [打印本页]

作者: suliupeng    时间: 2009-11-2 16:18:03     标题: 自动交易问题:图表一次开仓信号,却连续成交7笔

我在一个工作区同时打开四个不同品种的5分钟图表,均设为固定开仓数的自动交易。按预设的交易模型,应该在螺纹钢1001第一个5分钟线结束后,第二个5分钟开盘时就开空仓,开仓价为第一个5分钟线的收盘价。图表上在第二个5分钟K线也提示了开空信号,但是系统连续自动发送并成交了7笔同样的空单。具体成交明细为:
帐户        合同号        商品        类型        状态        数量        价格        时间        成交数量        成交价格        未成数量        滑价        止损价        获利价        开平标志
suliupeng        1025096        rb1001        卖出        全部成交        10        3832        2009-11-2 9:05        10        3832        0        0        0        0        开仓
suliupeng        1025094        rb1001        卖出        全部成交        10        3832        2009-11-2 9:05        10        3832        0        0        0        0        开仓
suliupeng        1025092        rb1001        卖出        全部成交        10        3832        2009-11-2 9:05        10        3833        0        1        0        0        开仓
suliupeng        1025084        rb1001        卖出        全部成交        10        3832        2009-11-2 9:05        10        3834        0        2        0        0        开仓
suliupeng        1025075        rb1001        卖出        全部成交        10        3832        2009-11-2 9:04        10        3833        0        1        0        0        开仓
suliupeng        1025073        rb1001        卖出        全部成交        10        3832        2009-11-2 9:04        10        3833        0        1        0        0        开仓
suliupeng        1025071        rb1001        卖出        全部成交        10        3832        2009-11-2 9:04        10        3833        0        1        0        0        开仓


    另外在此期间,还成交了一笔沪铜的空单,成交明细为。此时持仓接近97%仓位。
suliupeng        1025081        cu1001        卖出        全部成交        5        50330        2009-11-2 9:05        5        50330        0        0        0        0        开仓


   我是用MarketPosition == 0来判断该账户是否有成交,不知是MarketPosition 的取值变化问题,还是空单开仓命令发送未及时成交导致多发?(本次螺纹钢的指定开仓价3832刚好是5分钟K线的边界值)。请版主帮分析一下是什么原因!谢谢!
作者: lh948    时间: 2009-11-2 16:24:25

请问您是使用A_sendorder还是buy\sell?
如果使用buy\sell的话,委托价格不要使用close

如果上面说的还不能解决您的问题,请您把交易部分的代码贴出来再看看吧
作者: suliupeng    时间: 2009-11-2 16:31:39

MinPoint = MinMove*PriceScale;
     Gap = 1*MinPoint;
     M = NthCon( Time>=0.0900 And Time<0.0905,1);
     MinPrice = Lowest(L[1],45+ M);

    If(MarketPosition == 0)
    {
                /* ----------------------开空仓的处理 -------------------------- */
               
                 SKCondition1 = Time >= 0.0905 And Time < 0.1430;
               
                //当日第一5分钟线按收盘价建仓
                IF ( Time>=0.0905 And Time<0.0910 And C[1] < MinPrice[1] And C[1] < O[1] )
                {
                        SKCondition2 = C[1] < MinPrice[1];
                        SKCondition3 = C[1] < O[1];
                        myEntryPrice = C[1];
                }
                Else
                {
                        SKCondition2 = L < MinPrice;
                        SKCondition3 = L < O;
                        myEntryPrice = Min(MinPrice,O);
                }
               
                SKCondition = SKCondition1 And SKCondition2 And SKCondition3 ;
                IF ( SKCondition )
                {
                        SellShort(0,myEntryPrice);
                }
        }

[ 本帖最后由 suliupeng 于 2009-11-2 16:42 编辑 ]
作者: suliupeng    时间: 2009-11-2 16:52:44

会不会是这种情况:发出第一笔开仓委托时,价格未满足成交条件,尚在挂单排队等待成交,此时再来了一个TICK,MarketPosition 仍是0,开仓条件也同样满足,又发送了了一次同样的开仓委托?
作者: suliupeng    时间: 2009-11-2 16:54:37

另外,我发送的指定价是3832  ,而成交价有3832、3833 、3834,这是什么情况?
作者: tradeblazer    时间: 2009-11-2 17:54:46

你贴出来的开空代码是你今天模拟账户交易的公式吗?
5分钟图的RB1001里,9点05分的MinPrice[1]的值为3813,C[1]为3833,不满足SKCondition2 = C[1] < MinPrice[1]的条件。
不可能在9点05分的时候有开空仓信号啊
作者: suliupeng    时间: 2009-11-2 20:40:35

原帖由 tradeblazer 于 2009-11-2 17:54 发表
你贴出来的开空代码是你今天模拟账户交易的公式吗?
5分钟图的RB1001里,9点05分的MinPrice[1]的值为3813,C[1]为3833,不满足SKCondition2 = C[1] < MinPrice[1]的条件。
不可能在9点05分的时候有开空仓信号啊 ...



不好意思,代码贴错了一行:
  MinPrice = Lowest(L[1],45+ M);

应为:
  MinPrice = Lowest(L[1],43+ M);

故9点05分的MinPrice[1]的值为3845,满足条件的
作者: tradeblazer    时间: 2009-11-3 09:51:55

你贴出来的是你的所有的开空代码吗?
作者: suliupeng    时间: 2009-11-3 10:14:57

是开空的全部代码啊!
作者: suliupeng    时间: 2009-11-3 10:18:05

加我的QQ吧:59742213,有问题好沟通一点。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2