最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

java - How to retrieve data from computed motiveWave study? - Stack Overflow

programmeradmin1浏览0评论

I'm using MotiveWave SDK to build a new study. I'm able to put values in the dataseries to plot on the chart. By using debug() I can even see the different values of my study lines. However when I try to retrieve a value from series using getDouble() method I always get a null value. Why is that?

  @Override
  protected void calculate(int index, DataContext ctx)
  {

    if (index < 52) return; // not enough data

    var series=ctx.getDataSeries();

    Double highest_9 = series.highest(index, 9, Enums.BarInput.HIGH);
    Double lowest_9 = series.lowest(index, 9, Enums.BarInput.LOW);
    
    Double highest_26 = series.highest(index, 26, Enums.BarInput.HIGH);
    Double lowest_26 = series.lowest(index, 26, Enums.BarInput.LOW);
    
    Double highest_52 = series.highest(index, 52, Enums.BarInput.HIGH);
    Double lowest_52 = series.lowest(index, 52, Enums.BarInput.LOW);
    
    Double tenkan_value = (highest_9 + lowest_9)/2;
    Double kijun_value = (highest_26 + lowest_26)/2;
    Double ssa_value = (tenkan_value + kijun_value)/2;
    Double ssb_value = (highest_52 + lowest_52)/2;
    
    debug("tenkan_value : " + tenkan_value + ", kijun_value: "+ kijun_value + ", ssa_value : " + ssa_value + ", ssb_value: "+ ssb_value);

    series.setDouble(index, Values.Tenkan, tenkan_value); 
    series.setDouble(index, Values.Kijun, kijun_value); 
    series.setDouble(index+26, Values.SSA, ssa_value); 
    series.setDouble(index+26, Values.SSB, ssb_value); 

    if (!series.isBarComplete(index)) return;
    
    var c=new Coordinate(series.getStartTime(index), kijun_value);
    

    Double current_ssa = series.getDouble(index, Values.SSA);
    Double current_ssb = series.getDouble(index, Values.SSB);
发布评论

评论列表(0)

  1. 暂无评论