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

Retrieve exit price within a strategy

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

    Retrieve exit price within a strategy

    Can some one please point me in the right direction to get the exit price when executing ExitLong() etc within a strategy? I can get the entry price with Position.AvgPrice but the exit price eludes me.

    Thanks

    #2
    Use the Performance.RealtimeTrades and Performance.AllTrades class, some examples can be found in the help guide.

    Below is a quick example cut and paste from one of my older strategies, I can't remember 100% but think it works

    Code:
                            if (BarsSinceExit() >= 0 && Performance.RealtimeTrades.Count > 0)
                            { 
                            Trade lastTrade = Performance.RealtimeTrades[Performance.AllTrades.Count - 1];
                            if (lastTrade != null) 
                            {
                                string PnLText = null;
                                System.Drawing.Color PnLColor = Color.CornflowerBlue;
                                
                                PnLText = "PnL: " + Instrument.MasterInstrument.Round2TickSize(Performance.RealtimeTrades.TradesPerformance.Points.CumProfit) + " points (" + Performance.RealtimeTrades.Count + " trades)\nLast: " + lastTrade.Entry.MarketPosition + " " + lastTrade.Entry.Price.ToString("0.00") + ", out " + lastTrade.Exit.Price.ToString("0.00");
                                if (lastTrade.ProfitPoints > 0) PnLText += " (+";
                                if (lastTrade.ProfitPoints < 0) PnLText += " (";
                                if (lastTrade.ProfitPoints == 0) PnLText += " (";
                                PnLText += lastTrade.ProfitPoints + ")\n ";
                                
                                if (Performance.RealtimeTrades.TradesPerformance.Points.CumProfit > 0) PnLColor = Color.CornflowerBlue;
                                if (Performance.RealtimeTrades.TradesPerformance.Points.CumProfit < 0) PnLColor = Color.Maroon;
                                DrawTextFixed("Realized PnL", PnLText, TextPosition.BottomLeft, PnLColor, new Font("Arial", 10), Color.Black, Color.Black, 5);
                            }
                            }
    Mike

    Comment


      #3
      Well done Mike, I'll give it a try.

      Thanks

      Comment


        #4
        No problem, glad to help.

        Mike

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by fx.practic, 10-15-2013, 12:53 AM
        5 responses
        5,404 views
        0 likes
        Last Post Bidder
        by Bidder
         
        Started by Shai Samuel, 07-02-2022, 02:46 PM
        4 responses
        95 views
        0 likes
        Last Post Bidder
        by Bidder
         
        Started by DJ888, Yesterday, 10:57 PM
        0 responses
        7 views
        0 likes
        Last Post DJ888
        by DJ888
         
        Started by MacDad, 02-25-2024, 11:48 PM
        7 responses
        159 views
        0 likes
        Last Post loganjarosz123  
        Started by Belfortbucks, Yesterday, 09:29 PM
        0 responses
        8 views
        0 likes
        Last Post Belfortbucks  
        Working...
        X