Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Time exit on tick chart

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

    Time exit on tick chart

    Suppose I work on a tick chart and that, following a given indicator, I have entered a buy order with its own profit and sell stop targets.
    I would like to exit the trade at market if none of these targets are reached within 15 minutes.
    Is it easily programmable?

    #2
    Gepetto, you could store the time of trade entry and then send a market order exit, if the current time is greater than your stored trade entry time + the offset you've chosen.

    http://www.ninjatrader-support.com/H...deV6/Time.html
    BertrandNinjaTrader Customer Service

    Comment


      #3
      Questions

      Suppose we have the following code
      protectedoverridevoid Initialize()
      {
      SetProfitTarget(
      "", CalculationMode.Ticks, 8);
      SetStopLoss(
      "", CalculationMode.Ticks, 12,true);
      CalculateOnBarClose =
      true;
      }
      protectedoverridevoid OnBarUpdate()
      {
      if blabla
      {EnterShort(
      );}
      if (ToTime(Time[0] >= 80000)
      {ExitShort();}
      }
      Now I have an exit based on time... what about stoploss & profit target? Automatically canceled?

      Comment


        #4
        Yes, correct - if a position is closed by another strategy generated exit those would be cancelled.
        BertrandNinjaTrader Customer Service

        Comment


          #5
          Manipulating ToTime(Time[0])

          Suppose ToTime(Time[0])=074600.
          If I had 15 minutes, I would obtain 080100.
          How to derive the minutes (46) in order to know when to add 15 or substract 45.
          I first thought at
          h=Math.Floor(ToTime(Time[0])/10000);
          m=Math.Floor(ToTime(Time[0])/100)-100*h;
          but I have a problem concerning classes (Math.Floor does not perform correctly).
          Any help?

          Comment


            #6
            OK now

            Problem solved.
            I had to write it in 2 lines:
            hh=ToTime(Time[0])/10000;
            hh=Math.Floor(hh);

            Quite tricky but now it works...

            Comment


              #7
              Ok, great you have it working for you.
              BertrandNinjaTrader Customer Service

              Comment

              Latest Posts

              Collapse

              Topics Statistics Last Post
              Started by dshalom9, Today, 02:15 PM
              0 responses
              4 views
              0 likes
              Last Post dshalom9  
              Started by Shai Samuel, Today, 12:22 PM
              2 responses
              16 views
              0 likes
              Last Post Shai Samuel  
              Started by sjmuk1, Today, 01:46 PM
              0 responses
              12 views
              0 likes
              Last Post sjmuk1
              by sjmuk1
               
              Started by amart74, 02-06-2023, 11:44 AM
              7 responses
              109 views
              0 likes
              Last Post NinjaTrader_BrandonH  
              Started by tkaboris, Today, 10:46 AM
              7 responses
              37 views
              0 likes
              Last Post tkaboris  
              Working...
              X