[求助]请老师修改bi 行 (文华财经wh9)

投资者咨询:[求助]请老师修改bi 行 (文华财经wh9)
来源:文华财经  日期:2018-10-23 20:11
 

Setting

   SetTickData:1,1;//调用TICK数据

   SetBigVol:100;//设置大单阈值为100手

 

 

 

//Params

        // Numeric N(5);                                 // N倍ATR硬止损和追踪止损    

Vars

    NumericSeries Sum_BKVolume;//总买开。

   NumericSeries Sum_spVolume;//总卖平。

   NumericSeries Sum_sKVolume;//总卖开。

   NumericSeries Sum_bpVolume;//总买平。

  NumericSeries sum_AskBigTotVol ;//总主动卖大单。

  NumericSeries sum_BidBigTotVol;//总主动买大单。

  NumericSeries sum_big; // 获得大单成交量

  NumericSeries dadanzhanbi;                        // 获得大单成交量占总成交量的比例

Numeric  spz;//收盘值

  Numeric  bi;//收盘值

String DefaultValue;

 


Begin

DefaultValue="0";

 Sum_BKVolume=Sum(BKVolume,0);//总买开。

 Sum_spVolume=Sum(SPVolume,0);//总卖平。

 Sum_sKVolume=Sum(SKVolume,0);//总卖开。

 Sum_bpVolume=Sum(bpvolume,0);//总买平。

sum_AskBigTotVol =Sum(AskBigTotVol,0);//总主动卖大单。

sum_BidBigTotVol=Sum(BidBigTotVol,0);//总主动买大单。

sum_big=sum_AskBigTotVol +sum_BidBigTotVol; // 获得大单成交量

dadanzhanbi=sum_big/Tick_Vol;                        // 获得大单成交量占总成交量的比例

PlotLine("比",dadanzhanbi,RGB(255,255,255),NoDraw,2,0);

 


spz=ValueWhen(Time == 0.145959,dadanzhanbi);//每天只取收盘时的一个数值
PlotLine("spz",spz,RGB(255,255,0),NoDraw,2,0);


WritePrivateProfileString("Data","Num",Text(data0.price("spz"),4),"oldData");//只写一个数据(spz若有三个数值,只写入时间最靠后的一个数值)

bi=Value(GetPrivateProfileString("Data","Num",DefaultValue,"oldData"));//确保只读出最后一行数据, 并且是实数

PlotLine("bi",bi,RGB(255,255,0),NoDraw,2,0);

  End


 请老师修改倒数第二行和第三行和第四行。不知是不能写入spz,还是写入后读取不到值。

   
技术人员回复
日期:2018-10-23 20:58
参考4楼回复

另外,双击选中函数右键,可以查看详细的函数说明的
投资者咨询:[求助]请老师修改bi 行 (文华财经wh9)
来源:文华财经  日期:2018-10-23 20:11
 为了增加测试机会,spz=ValueWhen(Time == 0.145959,dadanzhanbi);Time == 0.145959可以修改为任意数值,比好Time == 0.215959,Time == 0.212910
技术人员回复
日期:2018-10-25 15:02
 您编写的不对,price调用的是报价列表的数值

自编的指标,需要保存直接输入就可以了,如下参考下:

Setting
   SetTickData:1,1;//调用TICK数据
   SetBigVol:100;//设置大单阈值为100手
//Params
        // Numeric N(5);                                 // N倍ATR硬止损和追踪止损    
Vars
    NumericSeries Sum_BKVolume;//总买开。
    NumericSeries Sum_spVolume;//总卖平。
    NumericSeries Sum_sKVolume;//总卖开。
    NumericSeries Sum_bpVolume;//总买平。
     NumericSeries sum_AskBigTotVol ;//总主动卖大单。
     NumericSeries sum_BidBigTotVol;//总主动买大单。
     NumericSeries sum_big; // 获得大单成交量
     NumericSeries dadanzhanbi;                        // 获得大单成交量占总成交量的比例
    Numeric  spz;//收盘值
     Numeric  bi;//收盘值
    String DefaultValue;
Begin
DefaultValue="0";
 Sum_BKVolume=Sum(BKVolume,0);//总买开。
 Sum_spVolume=Sum(SPVolume,0);//总卖平。
 Sum_sKVolume=Sum(SKVolume,0);//总卖开。
 Sum_bpVolume=Sum(bpvolume,0);//总买平。
sum_AskBigTotVol =Sum(AskBigTotVol,0);//总主动卖大单。
sum_BidBigTotVol=Sum(BidBigTotVol,0);//总主动买大单。
sum_big=sum_AskBigTotVol +sum_BidBigTotVol; // 获得大单成交量
dadanzhanbi=sum_big/Tick_Vol;                        // 获得大单成交量占总成交量的比例
PlotLine("比",dadanzhanbi,RGB(255,255,255),NoDraw,2,0);
spz=ValueWhen(Time == 0.145959,dadanzhanbi);//每天只取收盘时的一个数值
PlotLine("spz",spz,RGB(255,255,0),NoDraw,2,0);
WritePrivateProfileString("Data","Num",Text(spz,4),"oldData");//只写一个数据(spz若有三个数值,只写入时间最靠后的一个数值)
bi=Value(GetPrivateProfileString("Data","Num",DefaultValue,"oldData"));//确保只读出最后一行数据, 并且是实数
PlotLine("bi",bi,RGB(255,255,0),NoDraw,2,0);
  End