Replies

romainvellu
09 Jun 2023, 23:03

RE:

firemyst said:

Yes.

You have to code it.

 

Do you know anyone I can ask?  please.

 


@romainvellu

romainvellu
30 Dec 2021, 15:47

RE:

Ok great thanks a lot 
How do I enter this on ctrader now? 

Hi,

Try this:

using System;
using cAlgo.API;

namespace cAlgo.Indicators
{
    [Indicator(IsOverlay = true, AccessRights = AccessRights.None)]
    public class RoundNumbers : Indicator
    {
        [Parameter("Line Color", DefaultValue = "Gray")]
        public string LineColor { get; set; }

        [Parameter("Color", DefaultValue = 255, MinValue = 0, MaxValue = 255)]
        public int ColorAlpha { get; set; }

        [Parameter(DefaultValue = 100)]
        public int StepPips { get; set; }

        protected override void Initialize()
        {
            double max = Bars.HighPrices.Maximum(Bars.HighPrices.Count);

            double min = Bars.LowPrices.Minimum(Bars.LowPrices.Count);

            double step = Symbol.PipSize * StepPips;

            double start = Math.Floor(min / step) * step;

            var color = GetColor(LineColor, ColorAlpha);

            for (double level = start; level <= max + step; level += step)
            {
                Chart.DrawHorizontalLine("line_" + level, level, color);
            }
        }

        public override void Calculate(int index)
        {
        }

        private Color GetColor(string colorString, int alpha = 255)
        {
            var color = colorString[0] == '#' ? Color.FromHex(colorString) : Color.FromName(colorString);

            return Color.FromArgb(alpha, color);
        }
    }
}

You can use any Color name or hexadecimal color code for line color parameter, with Color alpha you can control the color transparency.

 


@romainvellu

romainvellu
30 Dec 2021, 15:02 ( Updated at: 21 Dec 2023, 09:22 )

RE: RE:

Hello is it possible to put the same line and the same color blue please 

romainvellu said:

amusleh said:

Hi,

Please post the code of indicator and then we will be able to help you.

using System;

using cAlgo.API;

 

namespace cAlgo.Indicators

{

    [Indicator(IsOverlay = true, AccessRights = AccessRights.None)]

    public class RoundNumbers : Indicator

    {

        [Parameter(DefaultValue = 100)]

        public int StepPips { get; set; }

 

        protected override void Initialize()

        {

            double max = MarketSeries.High.Maximum(MarketSeries.High.Count);

            double min = MarketSeries.Low.Minimum(MarketSeries.Low.Count);

 

            double step = Symbol.PipSize*StepPips;

            double start = Math.Floor(min/step)*step;

 

            for (double level = start; level <= max + step; level += step)

            {

                ChartObjects.DrawHorizontalLine("line_" + level, level, Colors.Gray);

            }

        }

 

        public override void Calculate(int index)

        {

        }

    }

}

 


@romainvellu

romainvellu
30 Dec 2021, 14:58

RE:

amusleh said:

Hi,

Please post the code of indicator and then we will be able to help you.

using System;

using cAlgo.API;

 

namespace cAlgo.Indicators

{

    [Indicator(IsOverlay = true, AccessRights = AccessRights.None)]

    public class RoundNumbers : Indicator

    {

        [Parameter(DefaultValue = 100)]

        public int StepPips { get; set; }

 

        protected override void Initialize()

        {

            double max = MarketSeries.High.Maximum(MarketSeries.High.Count);

            double min = MarketSeries.Low.Minimum(MarketSeries.Low.Count);

 

            double step = Symbol.PipSize*StepPips;

            double start = Math.Floor(min/step)*step;

 

            for (double level = start; level <= max + step; level += step)

            {

                ChartObjects.DrawHorizontalLine("line_" + level, level, Colors.Gray);

            }

        }

 

        public override void Calculate(int index)

        {

        }

    }

}


@romainvellu