Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Unable to detect the color of ray

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

    Unable to detect the color of ray

    I am trying to detect a color of a ray or line that is manually drawn. The following describes the code I am using to detect the color of a ray object. I am drawing the ray on the chart and setting it to "Dark Red". The conditional statement comparing the color of the ray to Brushes.DarkRed never evaluates to True even though the print statement shows the values to be the exactly the same, "#FF8B0000". Not sure what I am doing wrong, but any assistance would be appreciated.

    Code:
    protected override void OnBarUpdate()
    {
    	//Add your custom indicator logic here.
    	foreach (DrawingTool draw in DrawObjects)
    	{
    		if (draw is DrawingTools.Ray)
    		{
    			DrawingTools.Ray myRay = draw as DrawingTools.Ray;
    			Print(string.Format("line color: {0}, Brushes.DarkRed: {1}",  myRay.Stroke.Brush, Brushes.DarkRed));
    			if (myRay.Stroke.Brush == Brushes.DarkRed)
    			{
    				myRay.Stroke.Brush = Brushes.Black;	
    			}
    					
    		}
    	}
    }
    Last edited by dp2002; 10-13-2016, 08:35 AM. Reason: corrected typo

    #2
    Hello,

    Thank you for the post.

    In this case, an == with the brush objects would likely result in an untended comparison. Instead you could compare the string of each brush:

    Code:
    if (Equals(myRay.Stroke.Brush.ToString(), Brushes.DarkRed.ToString()))
    {
    	myRay.Stroke.Brush = Brushes.Black;	
    }

    I look forward to being of further assistance.
    JesseNinjaTrader Customer Service

    Comment


      #3
      That worked. Thank you.

      Comment


        #4
        Since were converting the values to strings, is there a benefit of using,

        if (Equals(myRay.Stroke.Brush.ToString(), Brushes.DarkRed.ToString())) {...}

        instead of,

        if (myRay.Stroke.Brush.ToString() == Brushes.DarkRed.ToString()) {...}

        Comment


          #5
          Hello,

          For a string not necessarily, I prefer to use Equals syntax because it is overload style syntax. Both would be acceptable for a string.

          I look forward to being of further assistance.
          JesseNinjaTrader Customer Service

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by Segwin, 05-07-2018, 02:15 PM
          14 responses
          1,789 views
          0 likes
          Last Post aligator  
          Started by Jimmyk, 01-26-2018, 05:19 AM
          6 responses
          837 views
          0 likes
          Last Post emuns
          by emuns
           
          Started by jxs_xrj, 01-12-2020, 09:49 AM
          6 responses
          3,293 views
          1 like
          Last Post jgualdronc  
          Started by Touch-Ups, Today, 10:36 AM
          0 responses
          13 views
          0 likes
          Last Post Touch-Ups  
          Started by geddyisodin, 04-25-2024, 05:20 AM
          11 responses
          63 views
          0 likes
          Last Post halgo_boulder  
          Working...
          X