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);