Can't draw more than one trendline in custom indicator
Created at 11 Nov 2023, 09:10
IA
Can't draw more than one trendline in custom indicator
11 Nov 2023, 09:10
Hi, for learning purpose I am coding a custom indicator. It should draw a trendline on 5 bars every 20 bars. But when it draws new trendline the previous one disapear. Can you help me please?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
namespace cAlgo
{
[Indicator(AccessRights = AccessRights.None)]
public class testdrawline : Indicator
{
[Parameter(DefaultValue = "Hello world!")]
public string Message { get; set; }
[Output("Main")]
public IndicatorDataSeries Result { get; set; }
int period = 20;
protected override void Initialize()
{
// To learn more about cTrader Automate visit our Help Center:
// https://help.ctrader.com/ctrader-automate
Print(Message);
}
public override void Calculate(int index)
{
// Calculate value at specified index
// Result[index] =
if (index % period != 0)return;
Chart.DrawTrendLine("line", Bars[index].OpenTime, Bars[index].Close, Bars[index - 5].OpenTime, Bars[index - 5].Close, "Yellow").IsInteractive = true;
}
}
}
Replies
applusplus
03 Oct 2024, 10:08
( Updated at: 03 Oct 2024, 13:05 )
Use
Chart.DrawTrendLine("line" + index, …
to give each drawn object an unique name.
@applusplus
PanagiotisCharalampous
12 Nov 2023, 06:22 ( Updated at: 12 Nov 2023, 06:25 )
Hi there,
It's because you use the same name and the line is overridden. You need to use a unique name for each line
Best regards,
Panagiotis
@PanagiotisCharalampous