保有する株式 (またはその他の金融資産) の数量を印刷しようとしています。nextValidId の下に株式契約を定義し、次のように位置を定義しました。
def nextValidId(self, orderId: int):
super().nextValidId(orderId)
self.nextorderId = orderId
print('The next valid order id is: ', self.nextorderId)
self.stock_contract = Contract()
self.stock_contract.symbol = "APPL"
self.stock_contract.secType = "STK"
self.stock_contract.exchange = "SMART"
self.stock_contract.currency = "USD"
app.reqMktData(508, self.stock_contract, "", False, False, [])
app.reqPositions()
def position(self, account, contract, position, avgCost):
super().position(account, contract, position, avgCost)
print(contract, position)
if contract == 'stock_contract':
self.quantity_held = position
if contract == app.stock_contract:
self.quantity_held = position
次に、位置を要求し、次のように結果を印刷しようとします。
app.reqPositions()
print("Apple held: " + str(app.quantity_held))
app.reqPositions() はコントラクトとポジションを出力しますが、文字列ステートメントの一部として保持されている数量を取得したいと考えています。「Apple hold: 0」が表示されますが、これは間違っています。