Here is a chart which have 2 data, for example 5 min and 1 hour.
I want to create a simple ADX indicator based on second data_stream, and want to apply this indicator to my signal.
But, this indicator only show a value based on data 1.
What is wrong or lack with this code ?
![Sad :(](./images/smilies/icon_sad.gif)
![Sad :(](./images/smilies/icon_sad.gif)
![Sad :(](./images/smilies/icon_sad.gif)
Of course, I know "Indicator properties --> Base study on --> select data stream " to show the indicator based on another data stream.
Best regards,
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
using System;
using System.Drawing;
namespace PowerLanguage.Indicator
{
public class ADX_data_num : IndicatorObject
{
private Function.ADX m_adx1;
private VariableSeries<Double> m_adxvalue;
private IPlotObject Plot1;
public ADX_data_num(object ctx) :
base(ctx){
length = 14;
data_num = 2;
}
[Input]
public int length { get; set; }
[Input]
public int data_num { get; set; }
protected override void Create(){
m_adx1 = new Function.ADX(this, data_num);
m_adxvalue = new VariableSeries<Double>(this);
Plot1 =
AddPlot(new PlotAttributes("ADX", 0, Color.Cyan,
Color.Empty, 0, 0, true));
}
protected override void StartCalc(){
m_adx1.Length = length;
m_adxvalue.DefaultValue = 0;
}
protected override void CalcBar(){
m_adxvalue.Value = m_adx1[0];
Plot1.Set(0, m_adxvalue.Value);
if (PublicFunctions.DoubleGreater(m_adxvalue.Value, m_adxvalue[1])
&&PublicFunctions.DoubleLessEquals(m_adxvalue[1], m_adxvalue[2])){
Alerts.Alert("Indicator turning up");
}
else{
if (PublicFunctions.DoubleLess(m_adxvalue.Value, m_adxvalue[1])
&&PublicFunctions.DoubleGreaterEquals(m_adxvalue[1], m_adxvalue[2])){
Alerts.Alert("Indicator turning down");
}
}
}
}
}