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

Problem doing comparisons with fractions

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

  • Harry
    replied
    Originally posted by pstrusi View Post
    I found the solution. Obviously cause the type of variable.

    If I do this change, then it does work perfect

    if ( a>4.0/10.0 && a<6.0/10.0 )
    {
    EnterLong(100000, "BUY");
    }

    Correct. Also see the C# Reference for the division operator.

    http://msdn.microsoft.com/en-us/library/3b1ff23f.aspx

    "When you divide two integers, the result is always an integer. For example, the result of 7 / 3 is 2. To determine the remainder of 7 / 3, use the remainder operator (%). To obtain a quotient as a rational number or fraction, give the dividend or divisor type float or type double
    ."

    Sample results:

    7 / 3 = 2
    -7 / 3 = -2
    7 % 3 = 1
    7 / 3.0 = 2.33333333333333
    7.0 / 3 = 2.33333333333333
    8 / 5 = 1
    8 / -5 = -1
    8 % 5 = 3
    8 / 5.0 = 1.6
    8.0 / 5 = 1.6
    Last edited by Harry; 07-30-2013, 09:09 AM.

    Leave a comment:


  • pstrusi
    replied
    I found the solution. Obviously cause the type of variable.

    If I do this change, then it does work perfect

    if ( a>4.0/10.0 && a<6.0/10.0 )
    {
    EnterLong(100000, "BUY");
    }

    Leave a comment:


  • pstrusi
    started a topic Problem doing comparisons with fractions

    Problem doing comparisons with fractions

    Hi Ninjas,

    This is simple but I still can't see why.

    I'm doing a very simple logic comparison, a double variable against a fraction. For example:

    Let's suppose a=0.5, then I do

    if ( a>0.4 && a<0.6 )
    {
    EnterLong(100000, "BUY");
    }

    under this way the code sends a BUY order, BUT if I do the same comparison like this:

    if ( a>4/10 && a<6/10 )
    {
    EnterLong(100000, "BUY");
    }

    The code does nothing. Why? and how can I solve it? Despite this problem is easy to solve writing directly, I use a lot fractions, so I´d like to know how.

    Thanks

Latest Posts

Collapse

Topics Statistics Last Post
Started by Brevo, Today, 01:45 AM
0 responses
6 views
0 likes
Last Post Brevo
by Brevo
 
Started by aussugardefender, Today, 01:07 AM
0 responses
3 views
0 likes
Last Post aussugardefender  
Started by pvincent, 06-23-2022, 12:53 PM
14 responses
242 views
0 likes
Last Post Nyman
by Nyman
 
Started by TraderG23, 12-08-2023, 07:56 AM
9 responses
384 views
1 like
Last Post Gavini
by Gavini
 
Started by oviejo, Today, 12:28 AM
0 responses
6 views
0 likes
Last Post oviejo
by oviejo
 
Working...
X