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.

    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 gentlebenthebear, Today, 01:30 AM
              2 responses
              13 views
              0 likes
              Last Post gentlebenthebear  
              Started by Kaledus, Today, 01:29 PM
              2 responses
              8 views
              0 likes
              Last Post Kaledus
              by Kaledus
               
              Started by frankthearm, Yesterday, 09:08 AM
              13 responses
              45 views
              0 likes
              Last Post frankthearm  
              Started by PaulMohn, Today, 12:36 PM
              2 responses
              16 views
              0 likes
              Last Post PaulMohn  
              Started by Conceptzx, 10-11-2022, 06:38 AM
              2 responses
              56 views
              0 likes
              Last Post PhillT
              by PhillT
               
              Working...
              X