Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

If statements and bool variable

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

    If statements and bool variable

    I am new to C# and am learning by working my way through strategies found in the Ninjascripts library. I'm having trouble understanding the logic in one particular section of the PZO Strategy.
    Code:
    //UpTrendRules
    			if (Close[0] > EMA(EMAPeriod)[0] &&	ADX(ADXPeriod)[0] > 18)
    			{
    				if (CrossAbove(PriceZoneOscillator(PZOPeriod), -40, 1))
    					EnterLong("Buy1");
    				
    				if (CrossAbove(PriceZoneOscillator(PZOPeriod), 0, 1))
    					B2_SU = true;
    				
    				if (B2_SU && CrossAbove(PriceZoneOscillator(PZOPeriod), 15, 1))
    				{
    					EnterLong("Buy2");
    				}				
    			}
    The "B2_SU" variable is a bool variable that is by default false. As you can see above if it crosses above 0 in the last bar it is true. My issue is I don't understand the next line. "If B2_SU... and PZO crosses above 15 then enter long." If B2_SU what? There's no action there. I could understand if it said if B2_SU equals true and ...

    Is there an inherent code in an if statement with bool variables that I haven't learned yet? Please translate if you could be so kind.

    Thanks!
    Brian

    #2
    Originally posted by BReal View Post
    I am new to C# and am learning by working my way through strategies found in the Ninjascripts library. I'm having trouble understanding the logic in one particular section of the PZO Strategy.
    Code:
    //UpTrendRules
    			if (Close[0] > EMA(EMAPeriod)[0] &&	ADX(ADXPeriod)[0] > 18)
    			{
    				if (CrossAbove(PriceZoneOscillator(PZOPeriod), -40, 1))
    					EnterLong("Buy1");
    				
    				if (CrossAbove(PriceZoneOscillator(PZOPeriod), 0, 1))
    					B2_SU = true;
    				
    				if (B2_SU && CrossAbove(PriceZoneOscillator(PZOPeriod), 15, 1))
    				{
    					EnterLong("Buy2");
    				}				
    			}
    The "B2_SU" variable is a bool variable that is by default false. As you can see above if it crosses above 0 in the last bar it is true. My issue is I don't understand the next line. "If B2_SU... and PZO crosses above 15 then enter long." If B2_SU what? There's no action there. I could understand if it said if B2_SU equals true and ...

    Is there an inherent code in an if statement with bool variables that I haven't learned yet? Please translate if you could be so kind.

    Thanks!
    Brian
    You are correct. It is a short way of saying if (B2_SU == true && ....)
    You will gradually find this natural later on, especially if the variable name is self explaining. For example:

    if (RSI_Overbought && ... ) EnterShort();
    Cheers.
    Pi
    ninZa
    NinjaTrader Ecosystem Vendor - ninZa.co

    Comment


      #3
      Hello Brian,

      Pi is correct. You can call the bools in such a manner, for example equals false can be !B2_SU.

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by abelsheila, 05-14-2025, 07:38 PM
      1 response
      23 views
      0 likes
      Last Post hglover945  
      Started by nailz420, 05-14-2025, 09:14 AM
      1 response
      48 views
      0 likes
      Last Post NinjaTrader_ChristopherJ  
      Started by NinjaTrader_Brett, 05-12-2025, 03:19 PM
      0 responses
      305 views
      1 like
      Last Post NinjaTrader_Brett  
      Started by domjabs, 05-12-2025, 01:55 PM
      2 responses
      61 views
      0 likes
      Last Post domjabs
      by domjabs
       
      Started by Morning Cup Of Trades, 05-12-2025, 11:50 AM
      1 response
      72 views
      0 likes
      Last Post NinjaTrader_ChristopherJ  
      Working...
      X