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 TheWhiteDragon, 01-21-2019, 12:44 PM
          4 responses
          541 views
          0 likes
          Last Post PaulMohn  
          Started by GLFX005, Today, 03:23 AM
          0 responses
          2 views
          0 likes
          Last Post GLFX005
          by GLFX005
           
          Started by XXtrader, Yesterday, 11:30 PM
          2 responses
          11 views
          0 likes
          Last Post XXtrader  
          Started by Waxavi, Today, 02:10 AM
          0 responses
          7 views
          0 likes
          Last Post Waxavi
          by Waxavi
           
          Started by TradeForge, Today, 02:09 AM
          0 responses
          14 views
          0 likes
          Last Post TradeForge  
          Working...
          X