Topics
Replies
lucrum
22 Nov 2019, 16:56
RE:
Spotware said:
Hi Nick,
This happens because you are using the wrong index for the market series. Line 45 should change to the following
gbpusdDiff[index] = ((gbpStart - gbpusd.Open[gbpusd.OpenTime.GetIndexByExactTime(MarketSeries.OpenTime[index])]) / (gbpStart)) * 100;
Best Regards,
Panagiotis
Dear Panagiotis
Thank you. Is there any cTrader documentation that fully explains how [index] works?
Nick
@lucrum
lucrum
22 Nov 2019, 16:26
RE:
Panagiotis Charalampous said:
Hi Nick,
The symbol is hardcoded
var gbpusd = MarketData.GetSeries("GBPUSD", Frame);
Do you change that before running on GBPJPY?
Best Regards,
Panagiotis
Dear Panagiotis
No. Irrespective of the daily chart on display I want to see only the GBPUSD calculation. In other words whilst on a GBPJPY chart I want to see the GBPUSD indicator in the window underneath.
Nick
@lucrum
lucrum
22 Nov 2019, 15:01
RE:
Panagiotis Charalampous said:
Hi Nick,
Can you please explain to us what is the problem? What did you expect to happen and what happens instead?
Best Regards,
Panagiotis
When this code is run on a Daily GBPUSD chart the indicator at the most recent bar shows the net movement (%) from 2 January 2019, based on a start level of 100. This is correct. When I run this on a GBPJPY chart for instance, I get a different, and incorrect, outcome.
Nick
@lucrum
lucrum
08 Aug 2019, 20:44
Thank you for the explanation. I am getting a similar problem with accessing the value of horizontal lines from an indicator. At this stage all I want to do is print the value in the bot.
using System; using cAlgo.API; using cAlgo.API.Internals; using cAlgo.API.Indicators; using cAlgo.Indicators; namespace cAlgo { [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class ActiveAreas : Indicator { public Color _textColor; [Parameter("High Color", DefaultValue = "DarkOrange")] public string ColorH { get; set; } [Parameter("Low Color", DefaultValue = "Orange")] public string ColorL { get; set; } [Parameter("Low Lookback", DefaultValue = "0")] public int LowLookback { get; set; } [Parameter("High Lookback", DefaultValue = "2")] public int HighLookback { get; set; } protected override void Initialize() { } public override void Calculate(int index) { var series = MarketData.GetSeries(TimeFrame.Daily); var highPrice = series.High.Last(HighLookback); var lowPrice = series.Low.Last(LowLookback); Chart.DrawHorizontalLine("Active Area High", highPrice, ColorH, 2, LineStyle.Solid); Chart.DrawHorizontalLine("Active Area Low", lowPrice, ColorL, 2, LineStyle.Solid); Print("High trade = {0}", highPrice); } } }
using System; using System.Timers; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; namespace cAlgo.Robots { [Robot(TimeZone = TimeZones.WEuropeStandardTime, AccessRights = AccessRights.None)] public class CallingLinesIndic : Robot { public string currency = "EURUSD"; //Create an object (same as an instance) of the Class HighToHighMA (the indicator). In this example the object name is 'linesIndicator'. private ActiveAreas linesIndicator; protected override void OnStart() { //This defines what the object does. linesIndicator = Indicators.GetIndicator<ActiveAreas>(); } protected override void OnTick() { } protected override void OnBar() { Print("Weekly high is {0}", linesIndicator.highPrice); } } }
@lucrum
lucrum
12 Jun 2020, 16:47
RE:
PanagiotisCharalampous said:
Thank you. A touch of Fridayitis.
Nick
@lucrum