股票权证全自动交易系统问答专题(一)

Discussion in '强者博弈证券期货自动交易系统' started by yzwyq, Oct 27, 2006.

  1. >

    做自动交易,数据最后都要集中到最新的时间这一点上,也即只要最后的数据,而做技术分析着重的是整个历史数据和对应的分析数据.

    你若是做自动交易,应当使用数据库,
    你若是做技术分析,应当用扩展数据通道.当然你也可用数据库做分析,这时每条数据记录对应各个时间点.

    万事没绝对的东西,你想怎么用就怎么用,对程序来讲,一切皆是数据容器,程序就是用来倒腾这些数据的工具,就连委托指令这么重要的东西,也只是一组数据而已.
     
  2. >

    若是各种指标在一个对象的程序中运算,你想保存每一点的指标数据,大可不必用上面的这些方法,你可用动态数组.

    比如你有3个指标,想输出一个总的指标,也即一个点上4个数据,可用动态浮点数组
    每计算一个点增加4个动态数组单元

    //程序开始时清动态数组
    DblArray_RemoveAll();

    ................................
    ..............................
    //在某一点index(点序号)上计算出指标1,2,3,记为zb001,zb002,zb003(在前面定义好,计算好)
    //这里将他们存入动态数组
    DblArray_Add(zb001);//位置为index*4
    DblArray_Add(zb002);//位置为index*4+1
    DblArray_Add(zb003);//位置为index*4+2
    DblArray_Add(0);//这个是总的指标,位置为index*4+3

    ..............
    ...............
    //计算总的指标zb0004
    //计算总指标时取前面指标数据可用DblArray_GetAt(index1*4+..);
    ..................
    //存入
    DblArray_SetAt(index*4+3,zb0004);

    .................
    //下一个点
    //index++;
    //
     
  3. Re: >回天海星空..

    永清兄请看看我的这个程序怎么就不行?

    dobj.execstep=1000 ;
    OpenLsLib("580002",17,1,0);//日线数据接口
    var m_data_size=GetLsLibDataSize();//获取日线总数
    var m_end_dir=m_data_size-1;//最后读取指针

    for(var i=0;i<=m_end_dir;i++)
    {
    var m_zuig=GetLsLibData(5,i);//最高价
    var m_zuid=GetLsLibData(6,i);//最低价
    var zb1=(m_zuig+m_zuid)*0.618;//指标1**********

    for(var j1=i;j1>=0;j1--)
    {
    var m_hsl=GetLsLibData(30,j1);//换手率
    var m_hsl_lh1+=m_hsl;//换手率
    if(m_hsl_lh1<=1)
    {
    }
    else break;
    }
    var m_hssj=j1;//指标2***********
    //指标2

    for(var k1=m_hssj;k1<=i;k1++)
    {
    var zb1+=zb1;
    var zb1pj=zb1/(i-m_hssj+1);//指标3********
    }
    //指标3
    }
    //指标1


    CloseLsLib() ;//关闭历史数据库
     
  4. >

    变量定义有问题
    一定要注意变量的作用范围,只能在本花扩号中起作用

    for(var i=0;i<=m_end_dir;i++)
    {
    var m_zuig=GetLsLibData(5,i);//最高价
    var m_zuid=GetLsLibData(6,i);//最低价
    var zb1=(m_zuig+m_zuid)*0.618;//指标1**********
    //
    var m_hsl_lh1=0;
    var m_hssj=0;//指标2***********
    //
    for(var j1=i;j1>=0;j1--)
    {
    m_hsl_lh1+=GetLsLibData(30,j1);//换手率
    if(m_hsl_lh1>1)
    {
    m_hssj=j1;
    break;
    }
    }
    //指标2
    for(var k1=m_hssj;k1<=i;k1++)
    {
    ??????var zb1+=zb1;
    ??????var zb1pj=zb1/(i-m_hssj+1);//指标3********
    }
    //指标3
    }
    //指标1
     
  5. Re: >回天海星空..

    永清兄说说,我上面那个程序的意思,不用扩展数据函数或数据库设置,就用普通函数能否实现?
     
  6. >

    你这么简单的程序,用上面的那些是大炮打蚊子.

    俺都脸红.
     
  7. Re: >

    呵呵!

    指标1是costn 。

    for(var i=0;i<=m_end_dir;i++)
    {

    var m_zuig=GetLsLibData(5,i);//最高价
    var m_zuid=GetLsLibData(6,i);//最低价
    var m_hsl=GetLsLibData(30,i);//换手率

    var m_hsl_lh+=m_hsl;//换手率
    if(m_hsl_lh>1) m_hsl_lh=1;

    var n1=10;
    var costm1=m_hsl/m_hsl_lh*(m_zuid+n1*(m_zuig-m_zuid)/100);
    if(i==0) cost10=costm1;
    var cost10*=1-m_hsl/m_hsl_lh;//获利N的成本价
    cost10+=costm1;
    }
     
  8. Re: >

    就是我前面请教过的cost(n)。是运算了历史数据的自编指标,好象不能直接定义到指标3里面?

    永清兄能不能帮我实现我上面程序的意思?!
     
  9. Re: >

    就是要打蚊子呀 :wink:
     
  10. Re: >

    永清兄的蚊子,是我的老鹰啊!
     
  11. Re: >

    飞狐里面是这样表达的:

    x1:=cost(10);//10%获利的成本价
    x2:=SUMBARS(vol ,CAPITAL);//完全换手的周期
    x3:=sum(x1,x2)/x2;//完全换手周期内 x1 的平均值
     
  12. >

    对不起啊,俺还没习惯随便为用户编程.

    只有这种情况俺才会替人编:就是你的指标着实牛B,有道理,上个星期遇到一个N人,他的策略俺认可,俺就不怕劳苦帮他实现了,连测试一起搞完.


    天海星空:你做的东西,不客气地讲,俺看不出有任何意义,但俺是心软的,在最新版中还是增加了修改流动盘的函数,就是善意的希望你编一点有意义的东西.千万不要指望俺去为你实现什么其他软件的函数,俺一点兴趣都没有
     
  13. Re: >

    我写出飞狐的表达式是为了准确表达我要编写的程序的意思。不是想要里面的那些函数。在本软件中,每个单项我知道怎么表达了,但是要糅合到一起,永清兄看到了,我现在确实想不出办法了才请教!

    如果能用普通函数编,永清兄提示一下也行!
     
  14. Re: >

    :D :D :D :D 高!
     
  15. Re: >

    有没有哪位会使用JavaScript编程的,看看我下面的意思,应该用哪些语句实现?不胜感激!!!


    x1:=cost(10);//10%获利的成本价
    x2:=SUMBARS(换手率 ,1);//换手率向前累加到100%的周期
    x3:sum(x1,x2)/x2;//完全换手周期内 x1 的平均值

    说明:

    := 赋值
    : 输出
    SUM(X,N),统计N周期中X的总和

    要编的程序就是上面的意思!输出X3 。
     
  16. Re: >

    只要告诉我用什么函数、什么语法 就行!!!
     
  17. Re: >

    终于编出来了。好象运行很慢!
     
  18. Re: >

    测试了几个权证日线数据,大部分正确。580997测试结果不正确,发现数据有误。

    测试了几个权证5分钟线数据,全部不正确。好象是数据多了,执行不完一样?
    随便查了一下数据,好象是数据有误。
     
  19. Re: >

    日线数据成交金额 580997
     
  20. Re: >

    5分钟线数据成交金额