我学习了2周还没搞通,是否行情接口有问题?

Discussion in '强者博弈证券期货自动交易系统' started by wjwcdcq, Jun 21, 2007.

  1. 我调试中比较接收到的数据和其它软件比较,发现不一致
    其它2个不同软件在某时刻K D值是相同的,而从软件中取到的相差多,好象慢
    时间也是从库中取的GetLsLibData(0,m_end_dir)
    另外最后收市时间应该15:00,为何最后一笔时间是15:02
    交易时间晚2分钟. 盘口显示也是这样. 另外价格第2.3小数位不正确



    以下函数(无论开市或闭市)总返回不正确-6 -3 1,我的用法有错吗?
    kk= SetWtCmd(3,"开仓","买入",1000,11,0) ;//直接下单
    kk= SetWtCmd(3,"撤开单","买入",1000,11,0) ;//直接下单
    kk= SetWtCmd(3,"平仓","卖出",500,12,0) ;//直接下单
    kk= SetWtCmd(3,"撤平单","卖出",500,12,0) ;//直接下单
    在线帮助里面,说明还得加一个通道号. 两个地方说明不一致
     
  2. 我调试中比较接收到的数据和其它软件比较,发现不一致
    其它2个不同软件在某时刻K D值是相同的,而从软件中取到的相差多,好象慢
    时间也是从库中取的GetLsLibData(0,m_end_dir)
    另外最后收市时间应该15:00,为何最后一笔时间是15:02
    交易时间晚2分钟. 盘口显示也是这样. 另外价格第2.3小数位不正确


    本软件的时间并不以股票数据中的时间为基准,只以你的计算机时间为准.
    软件之间的数据差异不会相差很大,价格的小数位也关系不大,比如2.100和2.099
    没区别,这是营业部数据传送时精度丢失(一般是乘1000以整数形式传送),在你下单时软件
    会自动处理,或你处理一下.

    GetLsLibData(0,m_end_dir)是变化中的最后一个数据,应当用
    GetLsLibData(0,m_end_dir-1)

    你假如感到慢,你可看历史曲线图上KDJ变化有没有滞后,我估计你是感到策略程序中的
    数值变化慢,你可以调节一下程序循环速度
    var m_return=Wait(0x80|0x10|0x20|0x40,100,0);//等待各种希望捕捉的事件
    中100调到10(不能为0)
     
  3. 以下函数(无论开市或闭市)总返回不正确-6 -3 1,我的用法有错吗?
    kk= SetWtCmd(3,"开仓","买入",1000,11,0) ;//直接下单
    kk= SetWtCmd(3,"撤开单","买入",1000,11,0) ;//直接下单
    kk= SetWtCmd(3,"平仓","卖出",500,12,0) ;//直接下单
    kk= SetWtCmd(3,"撤平单","卖出",500,12,0) ;//直接下单
    在线帮助里面,说明还得加一个通道号. 两个地方说明不一致


    .........
    你要仔细看说明书.

    本软件自动下单有一定条件限制,凡是非1返回都有问题.

    这个函数一般出错在:

    一是品种停板幅度设置不正确,你的报价超过范围
    二是品种手动下单的数量没设置(自动下单的数量不能超过手动下单的10倍)
    三是没有库存你平仓或没有买单(卖单)你撤单,这些都是会出错的

    你可以用
    SetWtCmd_NoCHK函数,这个函数执行时一般不执行检查

    这两个函数默认是在通道0上执行,你假如要在其他通道上执行,你在后面再加个通道号即可
    例如:

    SetWtCmd(3,"开仓","买入",1000,11,0)---->
    SetWtCmd(3,"开仓","买入",1000,11,0,1);//通道1
     
  4. 我觉得你的指标MACD计算错误
    我和另外2款软件进行比较,差很远,以至于无法作为判断的依据.
    比如正确的値应该今叉,而咱门的还早呢?
    DIF是正确的,平滑移动平均线MACD不正确,参数60是否不正确?
     
  5. MACD指标的参数是26/12/9

    照理算法是经典的,我看了一下算法.可能和其他软件有差异.

    59对应的是dif
    60对应的是macd:是图中的竖线

    macd指标中的还有一个值是:dif-0.5*macd

    其实macd的算法有好几种,我采用的算法是5,6年前的一个算法.一直都没改过.


    dif=12点均值(平滑)-26点均值(平滑)

    macd=2*(dif-dif的9点均值(平滑))

    算法差异在平滑性能上
    据我的观察,各软件的指标交叉点应当相差很小(虽然绝对值可能相差有差异)

    你不妨按你的算法在程序中算算看
     
  6. >

    你可能把macd值(60序号)当成另一根线了,macd值(60序号)是MACD图上的竖线

    前一点值与后一点值符号不同,就可判交叉
     
  7. 关于下单总是不通
    总是返回-2,代表什么错误?
    若用NoChk,则买入返回TRUE,卖出返回1. 但实际没执行成功
    因为在其他交易软件上没有该单
     
  8. 你先不要挂接交易委托,看看能不能下单(不挂接委托系统时,软件会模拟进行凑合成交)

    假若你有今天的行情数据,你可使用模拟运行方式复盘看看.

    NOCHK没成功,肯定是有什么东西不合法.

    -2表示下单数超过手动下单数的10倍
    -3表示价格超停板高低限
    -4表示价格超当前价格的一定范围
    -7表示还有同类单未成功,例如你买入,前面有一个买入单尚未成交,你可以选择撤掉再报

    假如你的单子完全没问题,不挂接委托时单子会正确报入,挂接后报得进去报不进去,看营业部的
     
  9. 我没在这设数量. 价格可以为0吗?
    我现在收市后它返回-6,表示什么?
    我曾经忘记挂委托,在成交列表里出来了,也就是说程序应该没问题
    另外收市后如何复盘运行,以便检查策略是否正确?
     
  10. -6指的是成交价和停板价都为0,这时是不能下单的

    界面下单的价格为0没关系,之所以设置与手工下单数关联,一是怕下单数搞错,二是多了一个停止自动下单的手段

    复盘很简单,你只要接受有今天的数据

    1.首先选择模拟运行方式
     
  11. >

    然后随便在哪个行情通道点接受

    将推出模拟运行日期选择
     
  12. 模拟运行的速度一般选快速方式,是正常时间的一半(自动交易样板程序中时间常数已经减半)

    这时你就会发现和白天一样有行情

    这是你可打开自动交易策略,进行复盘模拟运行
     
  13. 下图是模拟运行的效果(6/18的数据),这时你看行情下单与白天几乎一致

    全自动交易实盘运行前应进行多次模拟运行,行情走势也要多种多样,以检测策略运行的问题
     
  14. 现在下单返回true,表示成功,但查询交易委托里没有(本软件和其它软件一样没有),还是不正确!
     
  15. 不知你想表达的是什么意思?

    任何问题都可以分步诊断,象委托部分,你可分两部走,

    一是通过人工下单,确认实际委托执行有没有问题,没问题了才可以进入自动交易

    二是通过模拟交易(不挂委托),看自动交易正常不正常.

    这两步都做完了,才可以做下一步.

    一般第一步确认委托没问题就说明系统平台没问题.

    至于你的策略能不能正确执行要靠你调试解决.
     
  16. 我看不出咱们软件上人工下单是哪个菜单. 不知道如何进行通过人工下单?
    我用别的软件下单没有问题
    在我们软件下单显示执行成功(TRUE),但我用其它软件查询并没有这么一个委托存在
    在模拟下第一次显示True,并在下方显示报入(应该是正确)
    第二次显示-7表示还有同类单未成功
     

  17. 我真是太佩服你了,

    在界面中间的价格,数量中填上适当的价格和股数,然后在右边的多单操作中

    按"限价开"或"卖价开",就开仓,"卖价开"依照盘口价格开
    平仓则相反.

    你若是先卖后买,可用空单操作.

    不论你做什么实际委托操作,都要先挂接委托服务,在成交列表中看到你的帐户信息.

    注意,这里的数量是股数,开仓应当是100的整数倍(持仓有零头才可有零头平仓)
     
  18. 本软件的下单绝不允许在有同样的开平单尚未成功的情形下再开平新单.

    这主要是考虑,只要有同样的开单存在则会占用相应的保证金,有同样的平单则新的平单根本报不进去.另外这种报单逻辑不易出错.

    (当单子大到必须拆单时,也不会在委托指令上实现,只会在委托接口中,将大单分成小单)
     
  19. 一是通过人工下单,确认实际委托执行有没有问题,没问题了才可以进入自动交易
    二是通过模拟交易(不挂委托),看自动交易正常不正常.
    以上两步都没问题
    在连接核新委托后,即使手动下单也不成功.
    它提示确认后没任何反应
     
  20. 成交列表中有帐户信息吗?