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

DrawRectangle(ToTime[0])

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

    DrawRectangle(ToTime[0])

    Trying to draw a rectangle that starts and stops based on a input of time from the Indicator Window Box via the Charts

    I want the code below to say: draw a rectangle (63500)"which is the time of day start time",1215 "is the price level",stop(125500)"which is the time of day stop time",Color.Blue


    Code:
    [SIZE=2][FONT=Courier New]DrawRectangle([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"My rectangle"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] , ToTime(start_trading) , [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1215[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], ToTime(stop_trading), [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1230[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], Color.Blue);[/SIZE][/FONT]
    Code:
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]#region[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Variables[/SIZE][/FONT]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]private[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] start_trading = [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]63500[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2]; [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#008000]//start trading[/COLOR][/SIZE][/FONT]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]private[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] stop_trading = [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]125500[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2]; [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#008000]//sto// Default setting for MyInput0[/COLOR][/SIZE][/FONT]
    Code:
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]protected[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]override[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] OnBarUpdate()[/SIZE][/FONT]
    [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
    [FONT=Courier New][SIZE=2][COLOR=#008000]// Condition set 1[/COLOR][/SIZE][/FONT]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] (Low[[/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]0[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2]] < High[[/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]0[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2]])[/SIZE][/FONT]
    [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
    [FONT=Courier New][SIZE=2]DrawRectangle([/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800000]"My rectangle"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] , ToTime(start_trading) , [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1215[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], ToTime(stop_trading), [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1230[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], Color.Blue);[/SIZE][/FONT]
    [FONT=Courier New][SIZE=2]}[/SIZE][/FONT]
    [SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
    Code:
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]#region[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Properties[/SIZE][/FONT]
     
    [SIZE=2][FONT=Courier New][Description([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Start Trading filter"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])][/SIZE][/FONT]
    [SIZE=2][FONT=Courier New][Category([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Parameters"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])] [/SIZE][/FONT]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Start_Session [/SIZE][/FONT]
    [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]get[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] { [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] start_trading; }[/SIZE][/FONT]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]set[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] {start_trading = Math.Max([/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], value); }[/SIZE][/FONT]
    [SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
     
    [SIZE=2][FONT=Courier New][Description([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Stop Trading filter"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])][/SIZE][/FONT]
    [SIZE=2][FONT=Courier New][Category([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Parameters"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])] [/SIZE][/FONT]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Stop_Session [/SIZE][/FONT]
    [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]get[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] { [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] stop_trading; }[/SIZE][/FONT]
    [FONT=Courier New][SIZE=2][COLOR=#0000ff]set[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] {stop_trading = Math.Max([/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], value); }[/SIZE][/FONT]
    [SIZE=2][FONT=Courier New]} [/FONT][/SIZE]

    #2
    You need to use GetBar() to get the bar number of the time you are looking for.
    Josh P.NinjaTrader Customer Service

    Comment


      #3
      GetBar()

      Thanks Josh
      Is there a trick to use the current day as a default setting?
      Code:
      [FONT=Courier New][COLOR=#008000]// Check that its past 9:45 AM[/COLOR][/FONT] 
      [FONT=Courier New][COLOR=#0000ff]if[/COLOR] (ToTime(Time[0]) >= ToTime(9, 45, 00))[/FONT] 
      [FONT=Courier New]{[/FONT] 
      [FONT=Courier New]    [COLOR=#008000]// Calculate the bars ago value for the 9 AM bar for the current day[/COLOR][/FONT] 
      [FONT=Courier New]    [COLOR=#0000ff]int[/COLOR] barsAgo = GetBar([COLOR=#0000ff]new[/COLOR] DateTime(2006, 12, 18, 9, 0, 0));[/FONT] 
      
      [FONT=Courier New]    [COLOR=#008000]// Print out the 9 AM bar closing price[/COLOR][/FONT] 
      [FONT=Courier New]    Print("The close price on the 9 AM bar was: " + Close[barsAgo].ToString());[/FONT] 
      [FONT=Courier New]}[/FONT]

      Comment


        #4
        GetBar()

        I have been struggling with this one a bit...

        Do I need to use the "To.String" function at all to link the Time to the Rectangle?

        Comment


          #5
          must be missing something

          Code:
          [SIZE=2][FONT=Courier New][COLOR=#0000ff]protected[/COLOR][/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]override[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] OnBarUpdate()[/SIZE][/FONT]
          [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
          [FONT=Courier New][SIZE=2][COLOR=#008000]// Condition set 1[/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] (CurrentBar < [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] )[/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#008000]//this number or int needs to match "int endBarsAgo" down below[/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2];[/SIZE][/FONT]
           
          [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Start_Session = GetBar([/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] DateTime(start_trading));[/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#008000]//[/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Stop_Session = GetBar([/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] DateTime(stop_trading));[/SIZE][/FONT]
           
          [FONT=Courier New][SIZE=2][COLOR=#008000]//int barsAgo = GetBar(Start_Session);[/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#008000]//DrawRectangle("My rectangle" + CurrentBar, (int) (Start_Box_Time), 1215, (int) (Stop_Box_Time), 1230, Color.Blue);[/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#008000]//DrawRectangle("My rectangle" , (ToTime(Time[0])=(start_trading)) , 1215, (ToTime(Time[0])=(stop_trading)), 1230, Color.Blue);[/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2]DrawRectangle([/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800000]"My rectangle"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] ,start_trading , [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1215[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], stop_trading, [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080]1230[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], Color.Blue);[/SIZE][/FONT]
           
          [FONT=Courier New][SIZE=2][COLOR=#008000]//DrawRectangle("My rectangle" , 1215, Start_Box_Time, 1230,Stop_Box_Time, Color.Blue);[/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#008000]//DrawRegion("region", CurrentBar, 0, top, -50, Color.Black, Color.Blue, 3); [/COLOR][/SIZE][/FONT]
          [FONT=Courier New][SIZE=2]}[/SIZE][/FONT]
          [SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
          Code:
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]#region[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Properties[/SIZE][/FONT]
           
          [SIZE=2][FONT=Courier New][Description([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Start Trading filter"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])][/SIZE][/FONT]
          [SIZE=2][FONT=Courier New][Category([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Parameters"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])] [/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Start_Session [/SIZE][/FONT]
          [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]get[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] { [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] start_trading; }[/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]set[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] {start_trading = Math.Max([/SIZE][/FONT][FONT=Courier New][SIZE=4][COLOR=red][B]0[/B][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], value); }[/SIZE][/FONT]
          [SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
           
          [SIZE=2][FONT=Courier New][Description([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Stop Trading filter"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])][/SIZE][/FONT]
          [SIZE=2][FONT=Courier New][Category([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Parameters"[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2])] [/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] Stop_Session [/SIZE][/FONT]
          [SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]get[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] { [/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] stop_trading; }[/SIZE][/FONT]
          [FONT=Courier New][SIZE=2][COLOR=#0000ff]set[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2] {stop_trading = Math.Max([/SIZE][/FONT][FONT=Courier New][SIZE=4][COLOR=red][B]0[/B][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2], value); }[/SIZE][/FONT]
          [SIZE=2][FONT=Courier New]} [/FONT][/SIZE]

          Comment


            #6
            duck_CA,

            Not sure what you are doing. Why are you redefining your Start_Session/Stop_Session variables twice? You should not do this in OnBarUpdate() since you already created these as your parameters.

            Please see the help guide article on this: http://www.ninjatrader-support.com/H...V6/GetBar.html

            Code:
            int startBarsAgo = GetBar(new DateTime(2009, 04, 02, 09, 30, 00));
            int endBarsAgo = GetBar(new DateTime(2009, 04, 02, 10, 30, 00));
            
            DrawRectangle("tag1", startBarsAgo, Low[10] - TickSize, endBarsAgo, High[5] + Ticksize, Color.Blue);
            Josh P.NinjaTrader Customer Service

            Comment

            Latest Posts

            Collapse

            Topics Statistics Last Post
            Started by andrewtrades, Today, 04:57 PM
            1 response
            5 views
            0 likes
            Last Post NinjaTrader_Manfred  
            Started by chbruno, Today, 04:10 PM
            0 responses
            3 views
            0 likes
            Last Post chbruno
            by chbruno
             
            Started by josh18955, 03-25-2023, 11:16 AM
            6 responses
            436 views
            0 likes
            Last Post Delerium  
            Started by FAQtrader, Today, 03:35 PM
            0 responses
            6 views
            0 likes
            Last Post FAQtrader  
            Started by rocketman7, Today, 09:41 AM
            5 responses
            19 views
            0 likes
            Last Post NinjaTrader_Jesse  
            Working...
            X