Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

Cycle Line Colors

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Cycle Line Colors

    Hi,

    I have an indicator that draws some lines when a condition is met in a loop. I don't want a million lines so I put in a counter to limit the number of tags "n" and thus lines. Now, I would like those lines to be different colors each time they are made. So, I declared some private ints:

    Code:
         private Color CrossColor1 = Color.Red;
    		private Color CrossColor2 = Color.White;
    		private Color CrossColor3 = Color.Blue;
    		private Color CrossColor4 = Color.Green;
    		private Color CrossColor5 = Color.Gold;
    		private Color CrossColor6 = Color.Fuchsia;
    		private Color CrossColor7 = Color.Cyan;
    		private Color CrossColor8 = Color.Gray;
    		private Color CrossColor9 = Color.Lime;
    		private Color CrossColor10 = Color.DarkOrange;
    		private Color CrossColor11 = Color.Purple;
    		private Color CrossColor12 = Color.HotPink;
    and put in another counter "c":

    Code:
                 n++;
    			c++;
    			DrawExtendedLine("Parallel1" + n, false, 1, Close[1], 0, Close[0],("CrossColor" + c), DashStyle.Dash, 1);
    			DrawExtendedLine("Parallel2"+ n, false, i+2, Close[i+2], i+1, Close[i+1], ("CrossColor" + c), DashStyle.Dash, 1);
    			if (n>42)
    			n=0;
    			if (c>12)
    			c=0;
    I just don't know how to refer to these colors in the DrawExtendedLine syntax. It was easy with the tags: "Parallel1" +n

    but how do I do it with the Color option:

    ("CrossColor"+c) ?????


    OR... is there an easier way to accomplish cycling the color of a line than using a counter like I'm trying to do?

    Thanks for any help.
    Last edited by stockgoblin; 04-08-2013, 06:14 AM.

    #2
    Hello stockgoblin,

    Thank you for your post.

    I am investigating how to do this on my end, I will follow up with you shortly on my findings.

    Comment


      #3
      Originally posted by stockgoblin View Post
      Hi,

      I have an indicator that draws some lines when a condition is met in a loop. I don't want a million lines so I put in a counter to limit the number of tags "n" and thus lines. Now, I would like those lines to be different colors each time they are made. So, I declared some private ints:

      Code:
           private Color CrossColor1 = Color.Red;
              private Color CrossColor2 = Color.White;
              private Color CrossColor3 = Color.Blue;
              private Color CrossColor4 = Color.Green;
              private Color CrossColor5 = Color.Gold;
              private Color CrossColor6 = Color.Fuchsia;
              private Color CrossColor7 = Color.Cyan;
              private Color CrossColor8 = Color.Gray;
              private Color CrossColor9 = Color.Lime;
              private Color CrossColor10 = Color.DarkOrange;
              private Color CrossColor11 = Color.Purple;
              private Color CrossColor12 = Color.HotPink;
      and put in another counter "c":

      Code:
                   n++;
                  c++;
                  DrawExtendedLine("Parallel1" + n, false, 1, Close[1], 0, Close[0],("CrossColor" + c), DashStyle.Dash, 1);
                  DrawExtendedLine("Parallel2"+ n, false, i+2, Close[i+2], i+1, Close[i+1], ("CrossColor" + c), DashStyle.Dash, 1);
                  if (n>42)
                  n=0;
                  if (c>12)
                  c=0;
      I just don't know how to refer to these colors in the DrawExtendedLine syntax. It was easy with the tags: "Parallel1" +n

      but how do I do it with the Color option:

      ("CrossColor"+c) ?????


      OR... is there an easier way to accomplish cycling the color of a line than using a counter like I'm trying to do?

      Thanks for any help.
      Put your defined colors in a List<> and refer to them by index.

      Comment


        #4
        Hello stockgoblin,

        Thank you for your response.

        The following is an example of using a list for the color of a horizontal line:
        Code:
        List<Color> colorList = new List<Color>();
        			colorList.Add(Color.Blue);
        			colorList.Add(Color.Red);
        			
        			int i = 1;
        			DrawHorizontalLine("Test", Close[0], colorList[i]);
        			i++;
        Make sure to set the following under Using Declarations:
        Code:
        using System.Collections.Generic;
        Please let me know if I may be of further assistance.

        Comment


          #5
          Got it. Thanks!

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by bmartz, Today, 09:30 AM
          2 responses
          11 views
          0 likes
          Last Post bltdavid  
          Started by f.saeidi, Today, 11:02 AM
          1 response
          4 views
          0 likes
          Last Post NinjaTrader_BrandonH  
          Started by geotrades1, Today, 10:02 AM
          4 responses
          12 views
          0 likes
          Last Post geotrades1  
          Started by rajendrasubedi2023, Today, 09:50 AM
          3 responses
          16 views
          0 likes
          Last Post NinjaTrader_BrandonH  
          Started by lorem, Today, 09:18 AM
          2 responses
          11 views
          0 likes
          Last Post NinjaTrader_ChelseaB  
          Working...
          X