Warning: Newbie Question
Warning: Newbie Question
24 Mar 2014, 20:25
Hi All,
This is my first post to the forum, so it is in part to say hi, but also to assist me with my learning process.
I implemented and modified the example code found here at the following link under "Indicator Example 2":
I thought it would be nice to plot the spreads in a graph against each other, no practical application, just a way for me to learn. I was trying to start with just looking at one symbol and then work from there, anyway something that I thought would be straightforward has been less than successful.
I suspect this is either a very quick fix for someone who knows what they're doing, or it's not possible.
Below is as far as I got.
Thanks.
using System; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; namespace cAlgo.Indicators { [Indicator(IsOverlay = false, AccessRights = AccessRights.None)] public class SpreadGraph : Indicator { private Symbol symbol1; private IndicatorDataSeries spread1; [Parameter()] public DataSeries Source { get; set; } [Parameter(DefaultValue = "GBPUSD")] public string Symbol1 { get; set; } [Output("GBPUSD", Color = Colors.Turquoise)] public IndicatorDataSeries Result1 { get; set; } protected override void Initialize() { symbol1 = MarketData.GetSymbol(Symbol1); spread1 = CreateDataSeries(); } public override void Calculate(int index) { spread1[index] = Math.Round(symbol1.Spread / symbol1.PipValue, 1); Result1[index] = spread1[index]; } } }
Replies
Prospect
26 Mar 2014, 12:04
RE:
Spotware said:
public override void Calculate(int index) { spread1[index] = Math.Round(symbol1.Spread / symbol1.PipValue, 1);Such expression is not correct, because Symbol.Spread is a current value of Spread. You can not match historical index with current value of spread. Probably you will see line with the same value in every point.
Perfect, that's what I needed to know thanks. Seems obvious now in the API reference "The current spread of this symbol", as opposed to something like "Open price series of historical trendbars".
@Prospect
Spotware
26 Mar 2014, 10:35
Such expression is not correct, because Symbol.Spread is a current value of Spread. You can not match historical index with current value of spread. Probably you will see line with the same value in every point.
@Spotware