打印本文打印本文 关闭窗口关闭窗口

多图表屏幕趋势线联动

作者:MC 来源:cxh99.com 发布时间:2018年04月12日
  • MC用户求助:

    //存储全局变量值,传递给其它信号或指标脚本
    var: var_sdate(1161031), var_stime(1300), var_sp(2512), var_edate(1171022), var_etime(900), var_ep(3776);

    var_sdate=1171103;
    var_stime=2125;
    var_sp=3653;
    var_edate=1171106;
    var_etime=942;
    var_ep=3707;
    {以上这6个变量,是用于确定趋势线的位置;只需要更改这6个变量的值即可,那么其它指标信号脚本就会实时进行趋势线的更改;当然如果您的图表周期是1分钟,那么因为未开启bar内的情况下,程序是每分钟计算一次,所以趋势线会每分钟进行调整}

    once (barstatus=2) value1=tl_new(var_sdate,var_stime,var_sp,var_edate,var_etime,var_ep);

    tl_setbegin(value1,var_sdate,var_stime,var_sp);
    tl_setend(value1,var_edate,var_etime,var_ep);

    GVSetNamedDouble("var_sdate",var_sdate);
    gvsetnameddouble("var_stime",var_stime);
    gvsetnameddouble("var_sp",var_sp);
    gvsetnameddouble("var_edate",var_edate);
    gvsetnameddouble("var_etime",var_etime);
    gvsetnameddouble("var_ep",var_ep);


    //取全局变量,接收来自其它信号或指标的数值
    var: var_sdate(1161031), var_stime(1300), var_sp(2512), var_edate(1171022), var_etime(900), var_ep(3776);

    var_sdate=GVgetNamedDouble("var_sdate",-1);
    var_stime=gvgetnameddouble("var_stime",-1);
    var_sp=gvgetnameddouble("var_sp",-1);
    var_edate=gvgetnameddouble("var_edate",-1);
    var_etime=gvgetnameddouble("var_etime",-1);
    var_ep=gvgetnameddouble("var_ep",-1);

    once (barstatus=2) value1=tl_new(var_sdate,var_stime,var_sp,var_edate,var_etime,var_ep);

    tl_setbegin(value1,var_sdate,var_stime,var_sp);
    tl_setend(value1,var_edate,var_etime,var_ep);


    {您可以将这两个代码分别单独放在一个信号脚本中,并且开启bar内模式;或者单独放在指标中,指标是默认每笔tick都会实时计算一次,也就是每笔tick会对趋势线进行调整}

     

  • MC回复讨论一:

    //存储全局变量值,传递给其它信号或指标脚本
    var: var_sdate(1161031), var_stime(1300), var_sp(2512), var_edate(1171022), var_etime(900), var_ep(3776);

    var_sdate=1171103;
    var_stime=2125;
    var_sp=3653;
    var_edate=1171106;
    var_etime=942;
    var_ep=3707;
    {以上这6个变量,是用于确定趋势线的位置;只需要更改这6个变量的值即可,那么其它指标信号脚本就会实时进行趋势线的更改;当然如果您的图表周期是1分钟,那么因为未开启bar内的情况下,程序是每分钟计算一次,所以趋势线会每分钟进行调整}

    once (barstatus=2) value1=tl_new(var_sdate,var_stime,var_sp,var_edate,var_etime,var_ep);

    tl_setbegin(value1,var_sdate,var_stime,var_sp);
    tl_setend(value1,var_edate,var_etime,var_ep);

    GVSetNamedDouble("var_sdate",var_sdate);
    gvsetnameddouble("var_stime",var_stime);
    gvsetnameddouble("var_sp",var_sp);
    gvsetnameddouble("var_edate",var_edate);
    gvsetnameddouble("var_etime",var_etime);
    gvsetnameddouble("var_ep",var_ep);


    //取全局变量,接收来自其它信号或指标的数值
    var: var_sdate(1161031), var_stime(1300), var_sp(2512), var_edate(1171022), var_etime(900), var_ep(3776);

    var_sdate=GVgetNamedDouble("var_sdate",-1);
    var_stime=gvgetnameddouble("var_stime",-1);
    var_sp=gvgetnameddouble("var_sp",-1);
    var_edate=gvgetnameddouble("var_edate",-1);
    var_etime=gvgetnameddouble("var_etime",-1);
    var_ep=gvgetnameddouble("var_ep",-1);

    once (barstatus=2) value1=tl_new(var_sdate,var_stime,var_sp,var_edate,var_etime,var_ep);

    tl_setbegin(value1,var_sdate,var_stime,var_sp);
    tl_setend(value1,var_edate,var_etime,var_ep);


    {您可以将这两个代码分别单独放在一个信号脚本中,并且开启bar内模式;或者单独放在指标中,指标是默认每笔tick都会实时计算一次,也就是每笔tick会对趋势线进行调整}

打印本文打印本文 关闭窗口关闭窗口