Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

How to access Tradings Hours picker?

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

    How to access Tradings Hours picker?

    Hi there,

    is it possible to use a picker for trading hours templates similar to Gui.Tools.InstrumentSelector ?

    I can't see one available and yet it is available within the DataSeries UI.

    If it is not publically available, then would you please consider making it so.

    Thank you.

    #2
    Hello Sim22,

    This is not documented code, but should achieve your goal:

    Code:
    private TradingHours tradingHours;
    
    [NinjaScriptProperty]
    [Display(Name = "Trading Hours", GroupName = "Parameters", Order = 0)]
    [TypeConverter(typeof(TradingHoursDataConverter))]
    public string TradingHoursString
    {
    	get
    	{
    		return tradingHours.ToString();
    	}
    	set
    	{
    		tradingHours = TradingHours.Get(value);
    	}
    }
    In State.SetDefaults you can set a default string:
    TradingHoursString = "Default 24 x 7";
    Chelsea B.NinjaTrader Customer Service

    Comment


      #3
      This is not documented code, but should achieve your goal
      Thank you Chelsea

      Edit:

      I did have an exception in this raw form if selecting "<Use instrument settings> so I did this:

      PHP Code:
       
      [NinjaScriptProperty]
      [
      Display(Name "Trading Hours"GroupName "Parameters"Order 0)]
      [
      TypeConverter(typeof(TradingHoursDataConverter))]
      public 
      string TradingHoursString
      {
          
      get
          
      {
             return 
      tradingHours.ToString();
          }
          
      set
          
      {
               try
               {
       
                    if (
      value != "<Use instrument settings>")
                        
      tradingHours TradingHours.Get(value);
                    else if (
      Bars != null)
                        
      tradingHours Bars.TradingHours;
                    else
                        
      tradingHours Instrument.MasterInstrument.TradingHours;
               }
               catch(
      Exception)
               {}
          }

      Referring to Bars or Instrument within the properties section.....will that cause any issues do you think?

      Thanks again, you've saved me many hours writing a custom enum.
      Last edited by Sim22; 09-07-2016, 11:29 PM.

      Comment


        #4
        Hello Sim22,

        The TradingHours.Get() is returning a null when using '<Use instrument settings>'.

        Try adding:
        if (value == TradingHours.UseInstrumentSettings && Instrument != null)
        value = Instrument.MasterInstrument.TradingHours.Name;

        To have this return the default trading hours template for the primary instrument.

        Regarding use the Bar object in the setter, you have a check for null so this should be fine.
        Chelsea B.NinjaTrader Customer Service

        Comment


          #5
          I remade it like this since I had to put a condition in here if in case the default template is ETH when RTH bars are used:

          PHP Code:
           
          if (value == TradingHours.UseInstrumentSettings && Instrument != null)
          {
               
          // in case the default template is ETH when RTH bars are used
               
          if (Bars != null && Instrument.MasterInstrument.TradingHours.Name.Contains   ("ETH") && Bars.TradingHours.Name.Contains("RTH"))
                          
          tradingHours Bars.TradingHours;
               else
                      
          tradingHours Instrument.MasterInstrument.TradingHours;
          }
          else if (
          value != null)
                 
          tradingHours TradingHours.Get(value);
          else
                
          tradingHours TradingHours.Get("Default 24 x 7"); 
          Thanks again.

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by geotrades1, Today, 10:02 AM
          2 responses
          5 views
          0 likes
          Last Post geotrades1  
          Started by ender_wiggum, Today, 09:50 AM
          1 response
          5 views
          0 likes
          Last Post NinjaTrader_Gaby  
          Started by rajendrasubedi2023, Today, 09:50 AM
          1 response
          12 views
          0 likes
          Last Post NinjaTrader_BrandonH  
          Started by bmartz, Today, 09:30 AM
          1 response
          10 views
          0 likes
          Last Post NinjaTrader_Erick  
          Started by geddyisodin, Today, 05:20 AM
          4 responses
          28 views
          0 likes
          Last Post geddyisodin  
          Working...
          X