Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Set QuantityUpDown value from keyboard

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

    #16
    Hello PaulMohn,


    Considering the above @Text.cs snippet, I believe I understand now your method need to be embedded in an other method without "sender and args"/a "non-event" method.

    Is that right?
    I am not certain I understand what you are asking here but the @Text.cs would not be a recommendation for what you are trying to do because that uses a Drawing Object. You had the correct sample originally so you can continue using that.

    If you now have it working then it sounds like you made the corrections needed. I wouldn't be able to make any suggestions on changing how the editor works for single/double digits as the quantity control is very limited in how it can be used. The value you set (qs.Value = num would need to be appended to for multiple digits but then you also have to worry about the cursor position in the box, that's really outside of what I could assist with as the control is closed source. If you wanted a more customizable control you would need to write your own WPF control to use for that purpose.



    Comment


      #17
      Hello Jesse,

      I've finally deciphered sidlercom80's solution form post #5
      https://ninjatrader.com/support/foru...19#post1092719

      Sorry for the mix-up, I didn't doublechecked the username of post #5 previously and thought it was the OP
      (that was the source of the confusion about my spQtySelector1 mention)

      sidlercom80's snippet
      PHP Code:
      spQtySelector1.PreviewKeyDown += (o, e) =>
      {
           if (e.Key == Key.Delete || e.Key == Key.Back)
           {
      
                e.Handled = true;
                spQtySelector1.Value = 0;
      
                if (PrintDetails)
                     Print(DateTime.Now + " PositionSize1 changed to " + spQtySelector1.Value);
           }
           if ((e.Key >= Key.D0 && e.Key <= Key.D9) || (e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9))
           {
      
                e.Handled = true;
                string number = e.Key.ToString();
                string newnumber = spQtySelector1.Value.ToString();
                number = number.Replace("NumPad", "");
                number = number.Replace("D", "");
                int num = int.Parse(newnumber + number);
                spQtySelector1.Value = num;
      
                if (PrintDetails)
                Print(DateTime.Now + " PositionSize1 changed to " + spQtySelector1.Value);
           }
      }; 
      

      My original interpretation error about sidlercom80's snippet was about the spQtySelector1. I thought first it was referring to a custom class (as mentioned in post #8).

      But I don't understand the use of myQuantityUpDown/spQtySelector1. What does it come from? A custom class or something else?
      Then you corrected saying it was a variable in post #9

      Those are variables, myQuantityUpDown is defined in the script you linked to near the top, spQtySelector1 was not in the linked file but that was included in this post as it was relevant to the original posters script.
      From your correction, I thought spQtySelector1 was a "regular" variable (like the ones we declare at the top just below the class).
      So I thought it had to be something like that:

      PHP Code:
      public class BuyMktSellMktHotkeysQS : Indicator
      {
           private QtySelector spQtySelector1; 
      

      but I wasn't convinced of it as it did not look like a "regular" variable (like ones like private QuantityUpDown myQuantityUpDown; ).

      Then the compile error occurred dismissing that "regular" variable hypothesis.

      I then decided to put the spQtySelector1 problem on hold as it was related to the multiple keystrokes input in the Quantity Selector problem, and i focused instead on solving the primary matter of the single digit input first.
      That lead me to the solution to the single digit problem laid out in post #15.

      After that, returning to the multi digits problem, I got a provisory solution that got doubled the digit form the key pressed with this code:

      PHP Code:
      private void On_Quantity_Selector_PreviewKeyDown(object sender, KeyEventArgs p)
      {
           if (p.Key == Key.Delete || p.Key == Key.Back)
           {
                p.Handled = true;
                NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
                if (qs != null) qs.Value = 0;
           }
      
           if ((p.Key >= Key.D0 && p.Key <= Key.D9) || (p.Key >= Key.NumPad0 && p.Key <= Key.NumPad9))
           {
                p.Handled = true;
                string number = p.Key.ToString();
                string newnumber = p.Key.ToString();
                number = number.Replace("NumPad", "");
                number = number.Replace("D", "");
                newnumber = newnumber.Replace("NumPad", "");
                newnumber = newnumber.Replace("D", "");
                int num = int.Parse(newnumber + number);
                NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
                if (qs != null) qs.Value = num;
           }
      } 
      

      That was a step forward in understanding the behavior, but not yet the end goal.

      So then, after some pondering back about the spQtySelector1, I got an insight that it looked a bit like the qs variable in the code

      PHP Code:
      NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
      if (qs != null) qs.Value = 0; 
      

      That lead me to think that maybe sidlercom80 meant that he had declared this code

      PHP Code:
      NinjaTrader.Gui.Tools.QuantityUpDown spQtySelector1 = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
      

      at the top just under the class as such

      PHP Code:
      public class BuyMktSellMktHotkeysQS : Indicator
      {
           NinjaTrader.Gui.Tools.QuantityUpDown spQtySelector1 = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
      

      and instead of

      PHP Code:
      qs.Value = 0; 
      

      in your

      PHP Code:
      if (qs != null) qs.Value = 0; 
      

      he used his

      PHP Code:
      spQtySelector1.Value = 0; 
      


      and his

      PHP Code:
      spQtySelector1.Value = num; 
      

      That revealed to be the major insight I needed. But I still got a compile error that the code

      PHP Code:
      NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
      

      was not in the correct place under the class.

      Finally, I moved the

      PHP Code:
      NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
      

      at the top of the scope my PreviewKeyDown method as such

      PHP Code:
       private void On_Quantity_Selector_PreviewKeyDown(object sender, KeyEventArgs p)
      {
           NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
      

      Then I could get sidlercom80 spQtySelector1 working as the qs .Value reference with my PreviewKeyDown method

      The Working Snippet

      PHP Code:
      private void On_Quantity_Selector_PreviewKeyDown(object sender, KeyEventArgs p)
      {
           NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
      
           if (p.Key == Key.Delete || p.Key == Key.Back)
           {
                p.Handled = true;
                qs.Value = 0;
                // NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
                // if (qs != null) qs.Value = 0;
           }
      
           if ((p.Key >= Key.D0 && p.Key <= Key.D9) || (p.Key >= Key.NumPad0 && p.Key <= Key.NumPad9))
           {
                p.Handled = true;
                string number = p.Key.ToString();
                string newnumber = qs.Value.ToString();
                number = number.Replace("NumPad", "");
                number = number.Replace("D", "");
                // newnumber = newnumber.Replace("NumPad", "");
                // newnumber = newnumber.Replace("D", "");
                int num = int.Parse(newnumber + number);
                // NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
                if (qs != null) qs.Value = num;
           }
      } 
      

      Demo
      https://drive.google.com/file/d/16Uq...ew?usp=sharing

      That works now with my simpler to read (for my level) PreviewKeyDown method. I'll study your way of doing it next. Thanks!
      Last edited by PaulMohn; 02-20-2022, 11:04 AM.

      Comment


        #18
        Originally posted by PaulMohn View Post
        Hello Jesse,

        I've finally deciphered sidlercom80's solution form post #5
        https://ninjatrader.com/support/foru...19#post1092719

        Sorry for the mix-up, I didn't doublechecked the username of post #5 previously and thought it was the OP
        (that was the source of the confusion about my spQtySelector1 mention)

        sidlercom80's snippet
        PHP Code:
        spQtySelector1.PreviewKeyDown += (o, e) =>
        {
        if (e.Key == Key.Delete || e.Key == Key.Back)
        {
        
        e.Handled = true;
        spQtySelector1.Value = 0;
        
        if (PrintDetails)
        Print(DateTime.Now + " PositionSize1 changed to " + spQtySelector1.Value);
        }
        if ((e.Key >= Key.D0 && e.Key <= Key.D9) || (e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9))
        {
        
        e.Handled = true;
        string number = e.Key.ToString();
        string newnumber = spQtySelector1.Value.ToString();
        number = number.Replace("NumPad", "");
        number = number.Replace("D", "");
        int num = int.Parse(newnumber + number);
        spQtySelector1.Value = num;
        
        if (PrintDetails)
        Print(DateTime.Now + " PositionSize1 changed to " + spQtySelector1.Value);
        }
        }; 
        

        My original interpretation error about sidlercom80's snippet was about the spQtySelector1. I thought first it was referring to a custom class (as mentioned in post #8).



        Then you corrected saying it was a variable in post #9



        From your correction, I thought spQtySelector1 was a "regular" variable (like the ones we declare at the top just below the class).
        So I thought it had to be something like that:

        PHP Code:
        public class BuyMktSellMktHotkeysQS : Indicator
        {
        private QtySelector spQtySelector1; 
        

        but I wasn't convinced of it as it did not look like a "regular" variable (like ones like private QuantityUpDown myQuantityUpDown; ).

        Then the compile error occurred dismissing that "regular" variable hypothesis.

        I then decided to put the spQtySelector1 problem on hold as it was related to the multiple keystrokes input in the Quantity Selector problem, and i focused instead on solving the primary matter of the single digit input first.
        That lead me to the solution to the single digit problem laid out in post #15.

        After that, returning to the multi digits problem, I got a provisory solution that got doubled the digit form the key pressed with this code:

        PHP Code:
        private void On_Quantity_Selector_PreviewKeyDown(object sender, KeyEventArgs p)
        {
        if (p.Key == Key.Delete || p.Key == Key.Back)
        {
        p.Handled = true;
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
        if (qs != null) qs.Value = 0;
        }
        
        if ((p.Key >= Key.D0 && p.Key <= Key.D9) || (p.Key >= Key.NumPad0 && p.Key <= Key.NumPad9))
        {
        p.Handled = true;
        string number = p.Key.ToString();
        string newnumber = p.Key.ToString();
        number = number.Replace("NumPad", "");
        number = number.Replace("D", "");
        newnumber = newnumber.Replace("NumPad", "");
        newnumber = newnumber.Replace("D", "");
        int num = int.Parse(newnumber + number);
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
        if (qs != null) qs.Value = num;
        }
        } 
        

        That was a step forward in understanding the behavior, but not yet the end goal.

        So then, after some pondering back about the spQtySelector1, I got an insight that it looked a bit like the qs variable in the code

        PHP Code:
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
        if (qs != null) qs.Value = 0; 
        

        That lead me to think that maybe sidlercom80 meant that he had declared this code

        PHP Code:
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
        

        at the top just under the class as such

        PHP Code:
        public class BuyMktSellMktHotkeysQS : Indicator
        {
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
        

        and instead of

        PHP Code:
        qs.Value = 0; 
        

        in your

        PHP Code:
        if (qs != null) qs.Value = 0; 
        

        he used his

        PHP Code:
        spQtySelector1.Value = 0; 
        


        and his

        PHP Code:
        spQtySelector1.Value = num; 
        

        That revealed to be the major insight I needed. But I still got a compile error that the code

        PHP Code:
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
        

        was not in the correct place under the class.

        Finally, I moved the

        PHP Code:
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
        

        at the top of the scope my PreviewKeyDown method as such

        PHP Code:
         private void On_Quantity_Selector_PreviewKeyDown(object sender, KeyEventArgs p)
        {
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown; 
        

        Then I could get sidlercom80 spQtySelector1 working as the qs .Value reference with my PreviewKeyDown method

        The Working Snippet

        PHP Code:
        private void On_Quantity_Selector_PreviewKeyDown(object sender, KeyEventArgs p)
        {
        NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
        
        if (p.Key == Key.Delete || p.Key == Key.Back)
        {
        p.Handled = true;
        qs.Value = 0;
        // NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
        // if (qs != null) qs.Value = 0;
        }
        
        if ((p.Key >= Key.D0 && p.Key <= Key.D9) || (p.Key >= Key.NumPad0 && p.Key <= Key.NumPad9))
        {
        p.Handled = true;
        string number = p.Key.ToString();
        string newnumber = qs.Value.ToString();
        number = number.Replace("NumPad", "");
        number = number.Replace("D", "");
        // newnumber = newnumber.Replace("NumPad", "");
        // newnumber = newnumber.Replace("D", "");
        int num = int.Parse(newnumber + number);
        // NinjaTrader.Gui.Tools.QuantityUpDown qs = sender as NinjaTrader.Gui.Tools.QuantityUpDown;
        if (qs != null) qs.Value = num;
        }
        } 
        

        Demo
        https://drive.google.com/file/d/16Uq...ew?usp=sharing

        That works now with my simpler to read (for my level) PreviewKeyDown method. I'll study your way of doing it next. Thanks!
        Hi PaulMohn,

        So, with this implementation, the quantity does not need to be hard-coded in the indicator ... right ?

        omololu

        Comment


          #19
          Hi omololu and thanks for the question. I'm not there yet but that would be a next step yes.
          Currently the demo shows (sorry I didn't record the output window) that when pressing the main keyboard keys 1 to 9 or the numeric pad keys 1 to 9 (while having first in the toolbar the cursor inside the Quantity Selector field and it being in focus in there), the corresponding key values are populated within the Quantity Selector field. That's the first step to getting the Quantity Selector operational from the Toolbar.

          Next there are several possibilities to improve it (I don't know yet if it's possible from Ninjatrader itself).

          Keeping the Quantity selector in the toolbar. To allow for manual "on the fly" input (not hardcoded) of quantity from the toolbar (removing the need for ChartTrader) while linking the selector (or selectors) to the script hotkeys.

          Removing the Quantity selector from the toolbar and get it instead directly in the indicator properties for custom user input (to allow easier custom "preset" input (not hardcoded) by users from within the Data Series > Properties).

          Also a beside point would be to allow for not hardcoded customization by the user of hotkeys keys also by user inputs in the properties (for example being able to record whatever keys or keys combination for a given hotkey function (Numpad4 (or any key-s) for BuyMkt instead of NumPad 7 for example).

          I'll be looking into how they could be added for next shares.



          I've found some info with examples and scripts

          C# Tutorial - Create a Custom control | FoxLearn


          How To Create Keyboard Shortcut Keys in C# Part 3 | Create Global Hotkeys Using RegisterHotKey API


          Programminghowtoyt has 5 repositories available. Follow their code on GitHub.


          The Sharex App Uses an open source C# Hotkeys Controls recorder
          ShareX is a free and open-source application that enables users to capture or record any area of their screen with a single keystroke. It also supports uploading images, text, and various file type...



          How To Handle Keyboard Events In C# | KeyUp, KeyDown, KeyPress Method Simplified!
          Last edited by PaulMohn; 02-20-2022, 10:54 AM.

          Comment


            #20
            Hello Jesse, I'm trying to add the qs variable to the Hotkeys orders snippets as

            The declaration of the qs variable
            PHP Code:
            namespace NinjaTrader.NinjaScript.Indicators
            {
            public class BuyMktSellMktHotkeysQS : Indicator
            {
                 ...
            
                 // QS
                 private int qs;
            
                 ... 
            

            The setting of the qs variable as the quantity 6th parameter both for the buyMktOrder and the sellMktOrder orders
            PHP Code:
            protected void ChartControl_PreviewKeyDown(object sender, KeyEventArgs e)
            {
                 TriggerCustomEvent(o =>
                 {
                      Order buyMktOrder = null;
            
                      if (Keyboard.IsKeyDown(Key.NumPad7))
                      {
                           buyMktOrder = myAccount.CreateOrder(Instrument, OrderAction.Buy, OrderType.Market, OrderEntry.Manual, TimeInForce.Day, qs, 0, 0, "", "buyMktOrder"+DateTime.Now.ToString(), DateTime.MaxValue, null);
                      }
            
                      myAccount.Submit(new[] { buyMktOrder });
                 }, null);
                 e.Handled = true;
            
                 TriggerCustomEvent(p =>
                 {
                      Order sellMktOrder = null;
            
                      if (Keyboard.IsKeyDown(Key.NumPad8))
                      {
                      sellMktOrder = myAccount.CreateOrder(Instrument, OrderAction.Sell, OrderType.Market, OrderEntry.Manual, TimeInForce.Day, qs, 0, 0, "", "sellMktOrder"+DateTime.Now.ToString(), DateTime.MaxValue, null);
                      }
            
                      myAccount.Submit(new[] { sellMktOrder });
                 }, null);
                 e.Handled = true;
            } 
            

            but it's not working when I press NumPad7 to enter a BuyMkt order.
            Instead of executing the order, it just removes the QuantitySelector from the Toolbar.

            What do you suggest is causing this strange behavior?

            What would fix it?

            Thanks

            Oh I just found this error in the Log Tab

            Time Category Message
            21/02/2022 18:59:57 Default Error on triggering custom event for NinjaScript 'BuyMktSellMktHotkeysQS' on bar 5279: Order quantity has to be greater than 0 Parameter name: quantity

            What's that error for? What's the fix? I've quickly search for a thread about that error but couldn't find any. Thanks.

            Just so you know I typed 12 into the QuantitySelector field in the Toolbar so the quantity was greater than 0. Thanks.

            A demo
            Last edited by PaulMohn; 02-21-2022, 12:22 PM.

            Comment


              #21
              Hello PaulMohn,

              Based on the error you did not supply a valid quantity. For the quantity it looks like you just used the variable qs, if that is the quantity selector variable then you would need to use an actual value and not the selector its self. For example qs.Value

              Comment


                #22
                Thanks, do you mean putting qs.Value as the order parameter as

                PHP Code:
                buyMktOrder  = myAccount.CreateOrder(Instrument, OrderAction.Buy, OrderType.Market, OrderEntry.Manual, TimeInForce.Day, qs.Value, 0, 0, "", "buyMktOrder"+DateTime.Now.ToString(), DateTime.MaxValue, null); 
                
                PHP Code:
                sellMktOrder = myAccount.CreateOrder(Instrument, OrderAction.Sell, OrderType.Market, OrderEntry.Manual, TimeInForce.Day, qs.Value, 0, 0, "", "sellMktOrder"+DateTime.Now.ToString(), DateTime.MaxValue, null); 
                

                I did so and I'm getting these two compile errors I don't find fixes for

                NinjaScript File Error Code Line Column
                BuyMktSellMktHotkeysQS.cs 'int' does not contain a definition for 'Value' and no extension method 'Value' accepting a first argument of type 'int' could be found (are you missing a using directive or an assembly reference?) CS1061 226 129
                NinjaScript File Error Code Line Column
                BuyMktSellMktHotkeysQS.cs 'int' does not contain a definition for 'Value' and no extension method 'Value' accepting a first argument of type 'int' could be found (are you missing a using directive or an assembly reference?) CS1061 241 130

                Comment


                  #23
                  Hello PaulMohn,

                  .Value would be a property of a QuantityUpDown selector. Your qs variable is an integer (int) and not a QuantityUpDown selector.

                  Perhaps you should create a variable to hold the QuantityUpDown selector.

                  In the scope of the class:
                  Code:
                  NinjaTrader.Gui.Tools.QuantityUpDown quantitySelector;
                  In OnStateChange():
                  Code:
                  if (ChartControl != null)
                  {
                  ChartControl.Dispatcher.InvokeAsync((Action)(() =>
                  {
                  quantitySelector = Window.GetWindow(ChartControl.Parent).FindFirst("ChartTraderControlQuantitySelector") as NinjaTrader.Gui.Tools.QuantityUpDown);
                  });
                  }
                  In the method you need this value:
                  Code:
                  Print(quantitySelector.Value);
                  Chelsea B.NinjaTrader Customer Service

                  Comment


                    #24
                    Thanks Chelsea for the tips, I'll modify accordingly!

                    Comment


                      #25
                      Chelsea I was getting errors (missing ";" end ")") with the anonymous function. I found your other post
                      Access Chart Trade QTY input from an indicator

                      The anonymous function fix (added a pair of parenthesis at (Window.... and at ...})); )

                      PHP Code:
                      ChartControl.Dispatcher.InvokeAsync((Action)(() =>
                      {
                           quantitySelector = (Window.GetWindow(ChartControl.Parent).FindFirst(" ChartTraderControlQuantitySelector") as NinjaTrader.Gui.Tools.QuantityUpDown);
                      })); 
                      

                      Great many thanks Chelsea i got it working thanks to your help and Jesse's.
                      I've submitted it to the User App Share.
                      The full script attached
                      Attached Files
                      Last edited by PaulMohn; 02-24-2022, 09:25 AM.

                      Comment


                        #26
                        Chelsea I had that extra idea in post #19 after omololu feedback.
                        Do you know if it is possible to add the Quantity Selector to the Properties as User Input field?
                        The goal would be to use it as an alternative to the hardcoded version (so users could type in their sizes in the properties rather that edit the script). Thanks!

                        Comment


                          #27
                          Hello PaulMohn,

                          The quantity selector is a WPF control so that could not be used in the property grid, you would need to use an int or double public property to make a input for the user.



                          Comment


                            #28
                            Originally posted by PaulMohn View Post
                            Chelsea I was getting errors (missing ";" end ")") with the anonymous function. I found your other post
                            Access Chart Trade QTY input from an indicator

                            The anonymous function fix (added a pair of parenthesis at (Window.... and at ...})); )

                            PHP Code:
                            ChartControl.Dispatcher.InvokeAsync((Action)(() =>
                            {
                            quantitySelector = (Window.GetWindow(ChartControl.Parent).FindFirst(" ChartTraderControlQuantitySelector") as NinjaTrader.Gui.Tools.QuantityUpDown);
                            })); 
                            

                            Great many thanks Chelsea i got it working thanks to your help and Jesse's.
                            I've submitted it to the User App Share.
                            The full script attached
                            Hi PaulMohn,

                            There are some contents in the submitted file in the User App Share that are not meant to be there ... please, review the contents.

                            omololu

                            Comment


                              #29
                              Originally posted by omololu View Post

                              Hi PaulMohn,

                              There are some contents in the submitted file in the User App Share that are not meant to be there ... please, review the contents.

                              omololu
                              Hi omololu. Thanks for letting me know. I see what you mean I've just downloaded it to check. There are 2 extra .zips (the ones from Jim's post I links in the share post)
                              Hi guys, Are there available order entry hot key that is based on the previous bar? Would like to implementorders by hot keys which could be quick &amp; less noticeable. Cheers, Leo



                              I think moderation added them as I linked the zips links in the description.
                              Should be ok as the titles are distinct. Thanks.

                              Comment


                                #30
                                Originally posted by NinjaTrader_Jesse View Post
                                Hello PaulMohn,

                                The quantity selector is a WPF control so that could not be used in the property grid, you would need to use an int or double public property to make a input for the user.


                                Thanks Jesse for letting me know. I'll test it asa.

                                Comment

                                Latest Posts

                                Collapse

                                Topics Statistics Last Post
                                Started by Geovanny Suaza, 02-11-2026, 06:32 PM
                                0 responses
                                647 views
                                0 likes
                                Last Post Geovanny Suaza  
                                Started by Geovanny Suaza, 02-11-2026, 05:51 PM
                                0 responses
                                369 views
                                1 like
                                Last Post Geovanny Suaza  
                                Started by Mindset, 02-09-2026, 11:44 AM
                                0 responses
                                108 views
                                0 likes
                                Last Post Mindset
                                by Mindset
                                 
                                Started by Geovanny Suaza, 02-02-2026, 12:30 PM
                                0 responses
                                572 views
                                1 like
                                Last Post Geovanny Suaza  
                                Started by RFrosty, 01-28-2026, 06:49 PM
                                0 responses
                                573 views
                                1 like
                                Last Post RFrosty
                                by RFrosty
                                 
                                Working...
                                X