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 Haiasi, 04-25-2024, 06:53 PM
          2 responses
          16 views
          0 likes
          Last Post Massinisa  
          Started by Creamers, Today, 05:32 AM
          0 responses
          4 views
          0 likes
          Last Post Creamers  
          Started by Segwin, 05-07-2018, 02:15 PM
          12 responses
          1,785 views
          0 likes
          Last Post Leafcutter  
          Started by poplagelu, Today, 05:00 AM
          0 responses
          3 views
          0 likes
          Last Post poplagelu  
          Started by fx.practic, 10-15-2013, 12:53 AM
          5 responses
          5,407 views
          0 likes
          Last Post Bidder
          by Bidder
           
          Working...
          X