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

Average Trade

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

    Average Trade

    I'm trying to develop an indicator to use in a Market Analyzer that simply will display the average trade in the contract's native currency. Using the column names in Market Analyzer that would be Realized PnL divided by Traded Contracts. With posibly having an input option to include Unrealized PnL.

    If I use Performance.AllTrades.Count I get the following error:
    "The name Performance does exisit in the current context."

    So a couple of questions if I may:

    1) How do I get rid of this error?

    2) Is this the proper formula to get what I'm looking for:
    Performance.AllTrades.Performance.Currency.CumProf it/Performance.AllTrades.Count

    3) The best I can tell the code completion (the drop down list after typing a ".") does not seem to work?

    4) Is there no F1 help? I would assume I could click on the word Performance and hit F1 and go to some help that would explain everything Performance can do and how to use it.

    5) Where is there some help explaining everything Performance can do.

    6) Are there any special coding tips for indicators that are just going to be used in Market Analyer?

    7) Is there some way to set up the indicator such that it only updates anytime a trade is completed instead of tick-by-tick (or bar-by-bar)?

    Here is what I've got:

    [Description("Realized PL / Total Trades")]
    [Gui.Design.DisplayName("aaAvg Trade")]
    public class aaAvgTrade : Indicator
    {
    #region Variable;
    double avgTrade;
    #endregion

    protected override void Initialize()
    {
    avgTrade=0.0;
    Add(new Plot(Color.Orange, PlotStyle.Line, "AvgTrade"));
    CalculateOnBarClose = false;
    Overlay = false;
    PriceTypeSupported = false;
    }

    protected override void OnBarUpdate()
    {
    avgTrade = Performance.AllTrades.Count;

    if (avgTrade != 0)
    avgTrade =
    Performance.AllTrades.Performance.Currency.CumProf it / avgTrade;

    AvgTrade.Set(avgTrade);
    }

    #2
    The Performance object is not available in the Indicator class. There is no currently supported approach to get what you want done.

    4) Context sensitive help within NinjaScript Editor is not supported.

    6) Nothing that I can think of.

    7) Not at this time.
    RayNinjaTrader Customer Service

    Comment


      #3
      Then could I make a request to add "Average Trade" to the column choices in Market Analyzer?

      Comment


        #4
        Will put this on our list for future enhancement consideration.
        RayNinjaTrader Customer Service

        Comment


          #5
          If you happen to consider it further, this would be the round turn average trade so using the column names of Market Analyzer it would be:

          Realized PnL / ( Traded Contracts * 0.5 )

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by AveryFlynn, Today, 04:57 AM
          0 responses
          4 views
          0 likes
          Last Post AveryFlynn  
          Started by RubenCazorla, 08-30-2022, 06:36 AM
          3 responses
          78 views
          0 likes
          Last Post PaulMohn  
          Started by f.saeidi, Yesterday, 12:14 PM
          9 responses
          23 views
          0 likes
          Last Post f.saeidi  
          Started by Tim-c, Today, 03:54 AM
          0 responses
          3 views
          0 likes
          Last Post Tim-c
          by Tim-c
           
          Started by FrancisMorro, Today, 03:24 AM
          0 responses
          5 views
          0 likes
          Last Post FrancisMorro  
          Working...
          X