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

Logic Error

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

    Logic Error

    I'm trying to increase my position size after winning trades. Do you have any idea why the position size won't increase with this code?

    Code:
    public class MyStrategy: Strategy
    {
    private int winloss = 0;
    
            protected override void Initialize()
            { CalculateOnBarClose = true;  }
    
    protected override void OnBarUpdate()
            {
                int lotsize;
                if (winloss > 0)
                {
                    lotsize = Convert.ToInt32(Math.Round(Lots + (Lots * Math.Log(1+winloss))));
                }
                else
                {
                    lotsize = Lots;    
                }
    
    // code to enter long goes here
    
    
                // Condition set 3
                if (an exit long is signaled)
                {
                    winloss = UpdateWL(winloss);
                    ExitLong("", "");
                }
    
            private int UpdateWL(int wl)
            {
                    if (Position.GetProfitLoss(Open[0], PerformanceUnit.Percent) <= 0) // a losing trade
                    { 
                        if (wl  <= 0) { wl--; }
                        else { wl  = -1; }
                    }
                    else // a winning trade
                    { 
                        if (wl >= 0) { wl++;  }
                        else { wl = 1; }
                    }
                    return(wl);
            }
    }

    #2
    In case it's relevant, I'm using the GAIN feed. I took account to round up to whole numbers since that feed supports a minimum unit size of 1.

    Comment


      #3
      texasnomad, I would suggest printing the values to the ouput window (like your winloss and lotsize) to check they actually return what you would expect based on your code logic - http://www.ninjatrader-support2.com/...ead.php?t=3418
      BertrandNinjaTrader Customer Service

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by llanqui, Today, 10:29 AM
      0 responses
      2 views
      0 likes
      Last Post llanqui
      by llanqui
       
      Started by llanqui, Today, 08:32 AM
      1 response
      8 views
      0 likes
      Last Post llanqui
      by llanqui
       
      Started by lollers, Yesterday, 03:26 AM
      1 response
      53 views
      0 likes
      Last Post lollers
      by lollers
       
      Started by Salahinho99, 05-05-2024, 04:13 AM
      7 responses
      62 views
      0 likes
      Last Post Salahinho99  
      Started by knighty6508, 05-10-2024, 01:20 AM
      4 responses
      30 views
      0 likes
      Last Post knighty6508  
      Working...
      X