Backtrader Community

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: http://commonmark.org/help/

    The order is not executed.

    General Code/Help
    3
    17
    1336
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T H
      T H last edited by

      Hi, all.
      I want to execute on a market order first at the start, set a profit-taking on that order, and then set two buy-limits in the price range below it.

      Questions

      • Why is it that the orders seem to be working well, but only the first market order is executed?
      • Why doesn't buy_bracket work properly? (I'm commenting out now.)
      
      
          def __init__(self):
              self.is_firsttime = True
              self.close_num = 0
              self.order = None
              self.pos_interval_pips = 15.8
      
          def notify_order(self, order):
              print('-' * 50, 'ORDER BEGIN', datetime.datetime.now())
              print(order)
              print('-' * 50, 'ORDER END')
      
          def notify_trade(self, trade):
              print('-' * 50, 'TRADE BEGIN', datetime.datetime.now())
              print(trade)
              print('-' * 50, 'TRADE END')
      
              if trade.justopened:
                  if self.order is not None:
                      # add TP (for first order)
                      self.sell(price=trade.price+self.pos_interval_pips*0.01, 
                                  size=self.order.size, 
                                  exectype=bt.Order.Limit, 
                                  transmit=True, 
                                  parent=self.order)
                      if self.close_num >= 0:
                          # add some buy limit order (below first order)
                          for i in range(2):
                              mainside = self.buy(
                                      price=trade.price-(self.pos_interval_pips*0.01*(i+1)),
                                      size=self.order.size,
                                      exectype=bt.Order.Limit,
                                      transmit=False
                                  )
                              highside = self.sell(
                                      price=trade.price-(self.pos_interval_pips*0.01*i), 
                                      size=mainside.size, 
                                      exectype=bt.Order.Limit,
                                      transmit=True, 
                                      parent=mainside
                                  )
                          
                              # Why doesn't work this?
                              # self.buy_bracket(
                              #         size=self.order.size,
                              #         exectype=bt.Order.Limit,
                              #         price=trade.price-(self.pos_interval_pips*0.01*(i+1)),
                              #         oargs={},
                              #         limitprice=trade.price-(self.pos_interval_pips*0.01*i)
                              #         limitexec=bt.Order.Limit,
                              #         limitargs={})
      
                          self.close_num-=1
                      self.order = None
              elif trade.isclosed:
                  self.order = self.buy(price=trade.price, size=trade.size)
      
              self.close_num += 1
      
          def next(self):
              txt = list()
              txt.append('Data0')
              txt.append('%04d' % len(self.data0))
              dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
              txt.append('{:f}'.format(self.data.datetime[0]))
              txt.append('%s' % self.data.datetime.datetime(0).strftime(dtfmt))
              txt.append('{:f}'.format(self.data.open[0]))
              txt.append('{:f}'.format(self.data.high[0]))
              txt.append('{:f}'.format(self.data.low[0]))
              txt.append('{:f}'.format(self.data.close[0]))
              txt.append('{:6d}'.format(int(self.data.volume[0])))
              txt.append('{:d}'.format(int(self.data.openinterest[0])))
              print(', '.join(txt))
      
              if self.is_firsttime:
                  self.is_firsttime = False
                  self.close_num = 0
                  self.order = self.buy(size=1)
      
      

      My supposed orders
      Ref.144 BUY LIMIT 107.51(Market)
      -----Ref.145 SEL LIMIT 107.668

      Ref.146 BUY LIMIT 107.352
      -----Ref.147 SEL LIMIT 107.51

      Ref.148 BUY LIMIT 107.194
      -----Ref.149 SEL LIMIT 107.352

      Exchange data

      Dataname, Number, Datetime, Datetime, Open, High, Low, Close, Volume, OpenInterest
      Data0, 0002, 737611.916667, 2020-07-06T07:00:00.000000, 107.510000, 107.563000, 107.500000, 107.544000,    242, 0
      Data0, 0003, 737611.958333, 2020-07-06T08:00:00.000000, 107.542000, 107.599000, 107.540000, 107.588000,    488, 0
      Data0, 0004, 737612.000000, 2020-07-06T09:00:00.000000, 107.590000, 107.678000, 107.574000, 107.662000,   2705, 0
      Data0, 0005, 737612.041667, 2020-07-06T10:00:00.000000, 107.661000, 107.742000, 107.660000, 107.722000,   3089, 0
      Data0, 0006, 737612.083333, 2020-07-06T11:00:00.000000, 107.721000, 107.773000, 107.682000, 107.696000,   1685, 0
      Data0, 0007, 737612.125000, 2020-07-06T12:00:00.000000, 107.697000, 107.724000, 107.662000, 107.688000,   1729, 0
      Data0, 0008, 737612.166667, 2020-07-06T13:00:00.000000, 107.689000, 107.720000, 107.646000, 107.650000,   1188, 0
      Data0, 0009, 737612.208333, 2020-07-06T14:00:00.000000, 107.651000, 107.707000, 107.650000, 107.690000,   1548, 0
      Data0, 0010, 737612.250000, 2020-07-06T15:00:00.000000, 107.688000, 107.706000, 107.602000, 107.620000,   2095, 0
      Data0, 0011, 737612.291667, 2020-07-06T16:00:00.000000, 107.621000, 107.632000, 107.550000, 107.594000,   2736, 0
      Data0, 0012, 737612.333333, 2020-07-06T17:00:00.000000, 107.592000, 107.612000, 107.544000, 107.574000,   1958, 0
      Data0, 0013, 737612.375000, 2020-07-06T18:00:00.000000, 107.573000, 107.586000, 107.523000, 107.541000,   2129, 0
      Data0, 0014, 737612.416667, 2020-07-06T19:00:00.000000, 107.540000, 107.598000, 107.537000, 107.565000,   1953, 0
      Data0, 0015, 737612.458333, 2020-07-06T20:00:00.000000, 107.564000, 107.564000, 107.498000, 107.526000,   2019, 0
      Data0, 0016, 737612.500000, 2020-07-06T21:00:00.000000, 107.525000, 107.540000, 107.457000, 107.493000,   2174, 0
      Data0, 0017, 737612.541667, 2020-07-06T22:00:00.000000, 107.494000, 107.538000, 107.438000, 107.538000,   2952, 0
      Data0, 0018, 737612.583333, 2020-07-06T23:00:00.000000, 107.535000, 107.596000, 107.448000, 107.462000,   4547, 0
      Data0, 0019, 737612.625000, 2020-07-07T00:00:00.000000, 107.464000, 107.520000, 107.450000, 107.504000,   2554, 0
      

      Please help if possible.
      Thank you so much.

      1 Reply Last reply Reply Quote 0
      • T H
        T H last edited by

        返信: The order is not executed.
        Oh... I forgot to attach this log.

        Data0, 0001, 737611.875000, 2020-07-06T06:00:00.000000, 107.511000, 107.511000, 107.467000, 107.502000,     26, 0
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.912029
        Ref: 144
        OrdType: 0
        OrdType: Buy
        Status: 1
        Status: Submitted
        Size: 1
        Price: None
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 0
        ExecType: Market
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.913213
        Ref: 144
        OrdType: 0
        OrdType: Buy
        Status: 2
        Status: Accepted
        Size: 1
        Price: None
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 0
        ExecType: Market
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.913435
        Ref: 144
        OrdType: 0
        OrdType: Buy
        Status: 4
        Status: Completed
        Size: 1
        Price: None
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 0
        ExecType: Market
        CommInfo: <backtrader.comminfo.CommInfoBase object at 0x7fcd7411b978>
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: False
        -------------------------------------------------- ORDER END
        -------------------------------------------------- TRADE BEGIN 2020-08-01 07:44:12.913611
        ref:30
        data:<btoandav20.feeds.oandav20feed.OandaV20Data object at 0x7fcd5feaf0f0>
        tradeid:0
        size:1
        price:107.51
        value:107.51
        commission:0.0
        pnl:0.0
        pnlcomm:0.0
        justopened:True
        isopen:True
        isclosed:False
        baropen:2
        dtopen:737611.9166666666
        barclose:0
        dtclose:0.0
        barlen:0
        historyon:False
        history:[]
        status:1
        -------------------------------------------------- TRADE END
        Data0, 0002, 737611.916667, 2020-07-06T07:00:00.000000, 107.510000, 107.563000, 107.500000, 107.544000,    242, 0
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.915425
        Ref: 145
        OrdType: 1
        OrdType: Sell
        Status: 1
        Status: Submitted
        Size: -1
        Price: 107.668
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.917465
        Ref: 146
        OrdType: 0
        OrdType: Buy
        Status: 1
        Status: Submitted
        Size: 1
        Price: 107.352
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.917852
        Ref: 147
        OrdType: 1
        OrdType: Sell
        Status: 1
        Status: Submitted
        Size: -1
        Price: 107.51
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.918005
        Ref: 148
        OrdType: 0
        OrdType: Buy
        Status: 1
        Status: Submitted
        Size: 1
        Price: 107.194
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.918177
        Ref: 149
        OrdType: 1
        OrdType: Sell
        Status: 1
        Status: Submitted
        Size: -1
        Price: 107.352
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.918318
        Ref: 145
        OrdType: 1
        OrdType: Sell
        Status: 2
        Status: Accepted
        Size: -1
        Price: 107.668
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.918423
        Ref: 146
        OrdType: 0
        OrdType: Buy
        Status: 2
        Status: Accepted
        Size: 1
        Price: 107.352
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.918536
        Ref: 147
        OrdType: 1
        OrdType: Sell
        Status: 2
        Status: Accepted
        Size: -1
        Price: 107.51
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.918644
        Ref: 148
        OrdType: 0
        OrdType: Buy
        Status: 2
        Status: Accepted
        Size: 1
        Price: 107.194
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        -------------------------------------------------- ORDER BEGIN 2020-08-01 07:44:12.921550
        Ref: 149
        OrdType: 1
        OrdType: Sell
        Status: 2
        Status: Accepted
        Size: -1
        Price: 107.352
        Price Limit: None
        TrailAmount: None
        TrailPercent: None
        ExecType: 2
        ExecType: Limit
        CommInfo: None
        End of Session: 737612.6249999999
        Info: AutoOrderedDict()
        Broker: None
        Alive: True
        -------------------------------------------------- ORDER END
        Data0, 0003, 737611.958333, 2020-07-06T08:00:00.000000, 107.542000, 107.599000, 107.540000, 107.588000,    488, 0
        Data0, 0004, 737612.000000, 2020-07-06T09:00:00.000000, 107.590000, 107.678000, 107.574000, 107.662000,   2705, 0
        Data0, 0005, 737612.041667, 2020-07-06T10:00:00.000000, 107.661000, 107.742000, 107.660000, 107.722000,   3089, 0
        Data0, 0006, 737612.083333, 2020-07-06T11:00:00.000000, 107.721000, 107.773000, 107.682000, 107.696000,   1685, 0
        Data0, 0007, 737612.125000, 2020-07-06T12:00:00.000000, 107.697000, 107.724000, 107.662000, 107.688000,   1729, 0
        Data0, 0008, 737612.166667, 2020-07-06T13:00:00.000000, 107.689000, 107.720000, 107.646000, 107.650000,   1188, 0
        Data0, 0009, 737612.208333, 2020-07-06T14:00:00.000000, 107.651000, 107.707000, 107.650000, 107.690000,   1548, 0
        Data0, 0010, 737612.250000, 2020-07-06T15:00:00.000000, 107.688000, 107.706000, 107.602000, 107.620000,   2095, 0
        Data0, 0011, 737612.291667, 2020-07-06T16:00:00.000000, 107.621000, 107.632000, 107.550000, 107.594000,   2736, 0
        Data0, 0012, 737612.333333, 2020-07-06T17:00:00.000000, 107.592000, 107.612000, 107.544000, 107.574000,   1958, 0
        Data0, 0013, 737612.375000, 2020-07-06T18:00:00.000000, 107.573000, 107.586000, 107.523000, 107.541000,   2129, 0
        Data0, 0014, 737612.416667, 2020-07-06T19:00:00.000000, 107.540000, 107.598000, 107.537000, 107.565000,   1953, 0
        Data0, 0015, 737612.458333, 2020-07-06T20:00:00.000000, 107.564000, 107.564000, 107.498000, 107.526000,   2019, 0
        Data0, 0016, 737612.500000, 2020-07-06T21:00:00.000000, 107.525000, 107.540000, 107.457000, 107.493000,   2174, 0
        Data0, 0017, 737612.541667, 2020-07-06T22:00:00.000000, 107.494000, 107.538000, 107.438000, 107.538000,   2952, 0
        Data0, 0018, 737612.583333, 2020-07-06T23:00:00.000000, 107.535000, 107.596000, 107.448000, 107.462000,   4547, 0
        Data0, 0019, 737612.625000, 2020-07-07T00:00:00.000000, 107.464000, 107.520000, 107.450000, 107.504000,   2554, 0
        
        1 Reply Last reply Reply Quote 0
        • T H
          T H last edited by

          It was hard to understand due to lack of data, so I added more data and put it in chronological order.
          No trades have been made except for the first market order.

          Data0, 0001, 737611.875000, 2020-07-06T06:00:00.000000, 107.511000, 107.511000, 107.467000, 107.502000,     26, 0
          
          ORDER   Ref: 174    BUY Submitted->Accepted->Completed
          TRADE   Ref: 174->ref:34    BUY 107.51
          
          Data0, 0002, 737611.916667, 2020-07-06T07:00:00.000000, 107.510000, 107.563000, 107.500000, 107.544000,    242, 0
          
          ORDER   Ref: 175    SEL 107.668 Submitted->Accepted(This is TP for Ref: 174)
          
          ORDER   Ref: 176    BUY 107.352 Submitted->Accepted
          ORDER   Ref: 177    SEL 107.51  Submitted->Accepted(This is TP for Ref: 176)
          
          ORDER   Ref: 178    BUY 107.194 Submitted->Accepted
          ORDER   Ref: 179    SEL 107.352 Submitted->Accepted(This is TP for Ref: 178)
          
          Data0, 0003, 737611.958333, 2020-07-06T08:00:00.000000, 107.542000, 107.599000, 107.540000, 107.588000,    488, 0
          Data0, 0004, 737612.000000, 2020-07-06T09:00:00.000000, 107.590000, 107.678000, 107.574000, 107.662000,   2705, 0
          Data0, 0005, 737612.041667, 2020-07-06T10:00:00.000000, 107.661000, 107.742000, 107.660000, 107.722000,   3089, 0
          Data0, 0006, 737612.083333, 2020-07-06T11:00:00.000000, 107.721000, 107.773000, 107.682000, 107.696000,   1685, 0
          Data0, 0007, 737612.125000, 2020-07-06T12:00:00.000000, 107.697000, 107.724000, 107.662000, 107.688000,   1729, 0
          Data0, 0008, 737612.166667, 2020-07-06T13:00:00.000000, 107.689000, 107.720000, 107.646000, 107.650000,   1188, 0
          Data0, 0009, 737612.208333, 2020-07-06T14:00:00.000000, 107.651000, 107.707000, 107.650000, 107.690000,   1548, 0
          Data0, 0010, 737612.250000, 2020-07-06T15:00:00.000000, 107.688000, 107.706000, 107.602000, 107.620000,   2095, 0
          Data0, 0011, 737612.291667, 2020-07-06T16:00:00.000000, 107.621000, 107.632000, 107.550000, 107.594000,   2736, 0
          Data0, 0012, 737612.333333, 2020-07-06T17:00:00.000000, 107.592000, 107.612000, 107.544000, 107.574000,   1958, 0
          Data0, 0013, 737612.375000, 2020-07-06T18:00:00.000000, 107.573000, 107.586000, 107.523000, 107.541000,   2129, 0
          Data0, 0014, 737612.416667, 2020-07-06T19:00:00.000000, 107.540000, 107.598000, 107.537000, 107.565000,   1953, 0
          Data0, 0015, 737612.458333, 2020-07-06T20:00:00.000000, 107.564000, 107.564000, 107.498000, 107.526000,   2019, 0
          Data0, 0016, 737612.500000, 2020-07-06T21:00:00.000000, 107.525000, 107.540000, 107.457000, 107.493000,   2174, 0
          Data0, 0017, 737612.541667, 2020-07-06T22:00:00.000000, 107.494000, 107.538000, 107.438000, 107.538000,   2952, 0
          Data0, 0018, 737612.583333, 2020-07-06T23:00:00.000000, 107.535000, 107.596000, 107.448000, 107.462000,   4547, 0
          Data0, 0019, 737612.625000, 2020-07-07T00:00:00.000000, 107.464000, 107.520000, 107.450000, 107.504000,   2554, 0
          Data0, 0020, 737612.666667, 2020-07-07T01:00:00.000000, 107.502000, 107.506000, 107.438000, 107.439000,   1230, 0
          Data0, 0021, 737612.708333, 2020-07-07T02:00:00.000000, 107.437000, 107.442000, 107.378000, 107.406000,   1068, 0
          
          ORDER   Ref: 176    BUY 107.352 Completed
          
          Data0, 0022, 737612.750000, 2020-07-07T03:00:00.000000, 107.405000, 107.406000, 107.258000, 107.293000,   1417, 0
          Data0, 0023, 737612.791667, 2020-07-07T04:00:00.000000, 107.292000, 107.381000, 107.287000, 107.378000,   1483, 0
          Data0, 0024, 737612.833333, 2020-07-07T05:00:00.000000, 107.376000, 107.407000, 107.358000, 107.388000,    837, 0
          Data0, 0025, 737612.875000, 2020-07-07T06:00:00.000000, 107.370000, 107.379000, 107.352000, 107.372000,     39, 0
          Data0, 0026, 737612.916667, 2020-07-07T07:00:00.000000, 107.374000, 107.400000, 107.353000, 107.376000,    395, 0
          Data0, 0027, 737612.958333, 2020-07-07T08:00:00.000000, 107.374000, 107.380000, 107.342000, 107.360000,    430, 0
          Data0, 0028, 737613.000000, 2020-07-07T09:00:00.000000, 107.358000, 107.370000, 107.260000, 107.288000,   3141, 0
          Data0, 0029, 737613.041667, 2020-07-07T10:00:00.000000, 107.290000, 107.355000, 107.246000, 107.352000,   2349, 0
          Data0, 0030, 737613.083333, 2020-07-07T11:00:00.000000, 107.353000, 107.410000, 107.343000, 107.396000,   2283, 0
          Data0, 0031, 737613.125000, 2020-07-07T12:00:00.000000, 107.396000, 107.412000, 107.357000, 107.397000,   1556, 0
          Data0, 0032, 737613.166667, 2020-07-07T13:00:00.000000, 107.396000, 107.396000, 107.353000, 107.364000,   1393, 0
          
          ORDER   Ref: 177    SEL 107.51  Completed
          
          Data0, 0033, 737613.208333, 2020-07-07T14:00:00.000000, 107.363000, 107.532000, 107.361000, 107.526000,   2234, 0
          Data0, 0034, 737613.250000, 2020-07-07T15:00:00.000000, 107.524000, 107.579000, 107.502000, 107.576000,   2420, 0
          Data0, 0035, 737613.291667, 2020-07-07T16:00:00.000000, 107.578000, 107.638000, 107.535000, 107.632000,   2883, 0
          Data0, 0036, 737613.333333, 2020-07-07T17:00:00.000000, 107.634000, 107.692000, 107.602000, 107.686000,   3070, 0
          Data0, 0037, 737613.375000, 2020-07-07T18:00:00.000000, 107.686000, 107.792000, 107.682000, 107.736000,   3117, 0
          Data0, 0038, 737613.416667, 2020-07-07T19:00:00.000000, 107.736000, 107.742000, 107.665000, 107.707000,   2732, 0
          Data0, 0039, 737613.458333, 2020-07-07T20:00:00.000000, 107.708000, 107.718000, 107.672000, 107.714000,   2042, 0
          Data0, 0040, 737613.500000, 2020-07-07T21:00:00.000000, 107.715000, 107.718000, 107.599000, 107.611000,   1507, 0
          Data0, 0041, 737613.541667, 2020-07-07T22:00:00.000000, 107.612000, 107.674000, 107.599000, 107.658000,   3058, 0
          Data0, 0042, 737613.583333, 2020-07-07T23:00:00.000000, 107.656000, 107.658000, 107.498000, 107.550000,   5027, 0
          Data0, 0043, 737613.625000, 2020-07-08T00:00:00.000000, 107.550000, 107.592000, 107.511000, 107.532000,   3091, 0
          Data0, 0044, 737613.666667, 2020-07-08T01:00:00.000000, 107.534000, 107.535000, 107.498000, 107.516000,   1770, 0
          Data0, 0045, 737613.708333, 2020-07-08T02:00:00.000000, 107.518000, 107.552000, 107.505000, 107.542000,   1547, 0
          Data0, 0046, 737613.750000, 2020-07-08T03:00:00.000000, 107.541000, 107.568000, 107.504000, 107.520000,   1668, 0
          Data0, 0047, 737613.791667, 2020-07-08T04:00:00.000000, 107.519000, 107.567000, 107.512000, 107.561000,   1324, 0
          Data0, 0048, 737613.833333, 2020-07-08T05:00:00.000000, 107.560000, 107.562000, 107.516000, 107.520000,    805, 0
          Data0, 0049, 737613.875000, 2020-07-08T06:00:00.000000, 107.552000, 107.599000, 107.523000, 107.551000,    136, 0
          Data0, 0050, 737613.916667, 2020-07-08T07:00:00.000000, 107.547000, 107.566000, 107.528000, 107.560000,    182, 0
          Data0, 0051, 737613.958333, 2020-07-08T08:00:00.000000, 107.562000, 107.606000, 107.562000, 107.574000,    419, 0
          Data0, 0052, 737614.000000, 2020-07-08T09:00:00.000000, 107.573000, 107.708000, 107.572000, 107.700000,   1730, 0
          Data0, 0053, 737614.041667, 2020-07-08T10:00:00.000000, 107.702000, 107.710000, 107.642000, 107.668000,   1212, 0
          Data0, 0054, 737614.083333, 2020-07-08T11:00:00.000000, 107.669000, 107.675000, 107.627000, 107.629000,    954, 0
          Data0, 0055, 737614.125000, 2020-07-08T12:00:00.000000, 107.630000, 107.642000, 107.608000, 107.618000,    819, 0
          Data0, 0056, 737614.166667, 2020-07-08T13:00:00.000000, 107.620000, 107.621000, 107.512000, 107.522000,    990, 0
          Data0, 0057, 737614.208333, 2020-07-08T14:00:00.000000, 107.523000, 107.570000, 107.518000, 107.568000,    895, 0
          Data0, 0058, 737614.250000, 2020-07-08T15:00:00.000000, 107.566000, 107.570000, 107.516000, 107.544000,   1583, 0
          Data0, 0059, 737614.291667, 2020-07-08T16:00:00.000000, 107.545000, 107.545000, 107.428000, 107.482000,   2347, 0
          Data0, 0060, 737614.333333, 2020-07-08T17:00:00.000000, 107.480000, 107.584000, 107.473000, 107.576000,   2259, 0
          Data0, 0061, 737614.375000, 2020-07-08T18:00:00.000000, 107.575000, 107.604000, 107.544000, 107.566000,   2423, 0
          Data0, 0062, 737614.416667, 2020-07-08T19:00:00.000000, 107.567000, 107.592000, 107.529000, 107.562000,   1058, 0
          Data0, 0063, 737614.458333, 2020-07-08T20:00:00.000000, 107.564000, 107.576000, 107.500000, 107.516000,   1286, 0
          Data0, 0064, 737614.500000, 2020-07-08T21:00:00.000000, 107.516000, 107.598000, 107.502000, 107.550000,   2071, 0
          Data0, 0065, 737614.541667, 2020-07-08T22:00:00.000000, 107.552000, 107.565000, 107.456000, 107.494000,   3492, 0
          Data0, 0066, 737614.583333, 2020-07-08T23:00:00.000000, 107.495000, 107.528000, 107.423000, 107.507000,   4013, 0
          Data0, 0067, 737614.625000, 2020-07-09T00:00:00.000000, 107.509000, 107.530000, 107.386000, 107.392000,   3407, 0
          Data0, 0068, 737614.666667, 2020-07-09T01:00:00.000000, 107.390000, 107.406000, 107.290000, 107.300000,   2084, 0
          Data0, 0069, 737614.708333, 2020-07-09T02:00:00.000000, 107.298000, 107.332000, 107.228000, 107.250000,   1722, 0
          Data0, 0070, 737614.750000, 2020-07-09T03:00:00.000000, 107.252000, 107.262000, 107.206000, 107.208000,   1785, 0
          Data0, 0071, 737614.791667, 2020-07-09T04:00:00.000000, 107.206000, 107.268000, 107.202000, 107.226000,   1270, 0
          Data0, 0072, 737614.833333, 2020-07-09T05:00:00.000000, 107.228000, 107.272000, 107.223000, 107.260000,    491, 0
          Data0, 0073, 737614.875000, 2020-07-09T06:00:00.000000, 107.299000, 107.319000, 107.264000, 107.290000,     67, 0
          Data0, 0074, 737614.916667, 2020-07-09T07:00:00.000000, 107.295000, 107.299000, 107.264000, 107.286000,    475, 0
          Data0, 0075, 737614.958333, 2020-07-09T08:00:00.000000, 107.284000, 107.322000, 107.273000, 107.286000,    877, 0
          
          ORDER   Ref: 178    BUY 107.194 Completed
          
          Data0, 0076, 737615.000000, 2020-07-09T09:00:00.000000, 107.287000, 107.302000, 107.182000, 107.290000,   3074, 0
          
          ORDER   Ref: 179    SEL 107.352 Completed
          
          Data0, 0077, 737615.041667, 2020-07-09T10:00:00.000000, 107.291000, 107.364000, 107.281000, 107.316000,   3025, 0
          Data0, 0078, 737615.083333, 2020-07-09T11:00:00.000000, 107.315000, 107.341000, 107.286000, 107.310000,   2255, 0
          Data0, 0079, 737615.125000, 2020-07-09T12:00:00.000000, 107.309000, 107.314000, 107.241000, 107.246000,   1563, 0
          Data0, 0080, 737615.166667, 2020-07-09T13:00:00.000000, 107.245000, 107.279000, 107.228000, 107.277000,   2099, 0
          Data0, 0081, 737615.208333, 2020-07-09T14:00:00.000000, 107.279000, 107.315000, 107.260000, 107.272000,   1376, 0
          Data0, 0082, 737615.250000, 2020-07-09T15:00:00.000000, 107.274000, 107.276000, 107.208000, 107.266000,   1982, 0
          Data0, 0083, 737615.291667, 2020-07-09T16:00:00.000000, 107.268000, 107.320000, 107.222000, 107.246000,   3287, 0
          Data0, 0084, 737615.333333, 2020-07-09T17:00:00.000000, 107.248000, 107.286000, 107.198000, 107.286000,   2936, 0
          Data0, 0085, 737615.375000, 2020-07-09T18:00:00.000000, 107.287000, 107.340000, 107.267000, 107.296000,   3312, 0
          Data0, 0086, 737615.416667, 2020-07-09T19:00:00.000000, 107.294000, 107.398000, 107.290000, 107.354000,   2766, 0
          Data0, 0087, 737615.458333, 2020-07-09T20:00:00.000000, 107.356000, 107.356000, 107.280000, 107.290000,   2307, 0
          Data0, 0088, 737615.500000, 2020-07-09T21:00:00.000000, 107.288000, 107.293000, 107.201000, 107.210000,   3321, 0
          Data0, 0089, 737615.541667, 2020-07-09T22:00:00.000000, 107.212000, 107.282000, 107.099000, 107.130000,   5041, 0
          Data0, 0090, 737615.583333, 2020-07-09T23:00:00.000000, 107.132000, 107.312000, 107.099000, 107.268000,   8560, 0
          Data0, 0091, 737615.625000, 2020-07-10T00:00:00.000000, 107.270000, 107.363000, 107.220000, 107.265000,   6630, 0
          
          
          
          
          1 Reply Last reply Reply Quote 0
          • A
            ab_trader last edited by

            The only thing unclear to me is why your 1st limit order was not executed on 2020-07-06 9:00. High of that bar (107.678) is higher than 107.668 price of the initial limit order. Other buy and sell limit orders are executed as expected.

            • If my answer helped, hit reputation up arrow at lower right corner of the post.
            • Python Debugging With Pdb
            • New to python and bt - check this out
            T H 1 Reply Last reply Reply Quote 0
            • T H
              T H @ab_trader last edited by

              @ab_trader
              Thanks.
              In fact, the Ref: 175 order has not been completed.
              if you know, please tell me.
              Is it possible to set a limit on an order once it is executed?

              1 Reply Last reply Reply Quote 0
              • A
                ab_trader last edited by

                I don't understand the question.

                • If my answer helped, hit reputation up arrow at lower right corner of the post.
                • Python Debugging With Pdb
                • New to python and bt - check this out
                T H 1 Reply Last reply Reply Quote 0
                • T H
                  T H @ab_trader last edited by

                  @ab_trader
                  Oh, sorry!
                  Ref: 174 has already been executed on the market.
                  Then I added a limit order for T/P in notify_trade.
                  Is this correct?

                  1 Reply Last reply Reply Quote 0
                  • T H
                    T H last edited by

                    Is this sell order correct?

                    self.sell(price=trade.price+self.pos_interval_pips*0.01, 
                                                size=self.order.size, 
                                                exectype=bt.Order.Limit, 
                                                transmit=True, 
                                                parent=self.order)
                    
                    1 Reply Last reply Reply Quote 0
                    • A
                      ab_trader last edited by

                      Sees correct. Try to run the script without parent and transmit for the 1st limit order. Maybe this will fix an issue.

                      • If my answer helped, hit reputation up arrow at lower right corner of the post.
                      • Python Debugging With Pdb
                      • New to python and bt - check this out
                      T H 1 Reply Last reply Reply Quote 0
                      • T H
                        T H @ab_trader last edited by

                        @ab_trader Thank you for your reply!!
                        But it's a little different from what I want to do.
                        First, I want to issue a market order.
                        After the price of that order has been determined, I want to set a limit order(TP).

                        1 Reply Last reply Reply Quote 0
                        • A
                          ab_trader last edited by

                          I don;t think you need to use parent and transmit for this.

                          • If my answer helped, hit reputation up arrow at lower right corner of the post.
                          • Python Debugging With Pdb
                          • New to python and bt - check this out
                          T H 1 Reply Last reply Reply Quote 0
                          • T H
                            T H @ab_trader last edited by

                            @ab_trader Thanks!
                            In fact, when I ran the following code to try it out, the buy position was sold, as you say.
                            Amazing!
                            I thought it would be a total of two positions, buy and sell.
                            On the other hand, if you want to hold two positions, one to buy and one to sell, what should you do?

                               def next(self):
                                    self.buy()
                                     
                               def notify_trade(self, trade):
                                    if trade.justopened:
                                        self.sell(price=trade.price+0.15, 
                                                     size=trade.size, 
                                                     exectype=bt.Order.Limit)
                            
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • A
                              ab_trader last edited by

                              You can't hold long and short position at the same time on the same account with regular brokers.

                              • If my answer helped, hit reputation up arrow at lower right corner of the post.
                              • Python Debugging With Pdb
                              • New to python and bt - check this out
                              T H 1 Reply Last reply Reply Quote 0
                              • T H
                                T H @ab_trader last edited by

                                @ab_trader
                                I got it.
                                But the broker named OANDA I use can do it.
                                (but I need to make a sub account..)
                                you mean, does that mean I can't make it in Backtrader?

                                1 Reply Last reply Reply Quote 0
                                • A
                                  ab_trader last edited by

                                  Depends on how OANDA is implemented in bt. I have no experience with that broker.

                                  • If my answer helped, hit reputation up arrow at lower right corner of the post.
                                  • Python Debugging With Pdb
                                  • New to python and bt - check this out
                                  1 Reply Last reply Reply Quote 2
                                  • run-out
                                    run-out last edited by

                                    @ab_trader 's answer here is good.

                                    RunBacktest.com

                                    T H 1 Reply Last reply Reply Quote 1
                                    • T H
                                      T H @run-out last edited by

                                      @run-out @ab_trader
                                      I see.
                                      I understood bt's approach to ordering.

                                      I really appreciate all of you.
                                      And thank you so much for your efforts to understand my poor English.

                                      1 Reply Last reply Reply Quote 1
                                      • 1 / 1
                                      • First post
                                        Last post
                                      Copyright © 2016, 2017, 2018, 2019, 2020, 2021 NodeBB Forums | Contributors