Exemple #1
0
    def generateTrade(self, optionSymbol, numLots, lastTradedPrice,
                      counterPosition):
        trade = Trade(optionSymbol)
        trade.strategy = self.getName()
        trade.isOptions = True
        trade.direction = Direction.SHORT  # Always short here as option selling only
        trade.productType = self.productType
        trade.placeMarketOrder = True
        trade.requestedEntry = lastTradedPrice
        trade.timestamp = Utils.getEpoch(
            self.startTimestamp)  # setting this to strategy timestamp
        trade.slPercentage = 25
        trade.moveToCost = True
        trade.counterPosition = counterPosition

        isd = Instruments.getInstrumentDataBySymbol(
            optionSymbol)  # Get instrument data to know qty per lot
        trade.qty = isd['lot_size'] * numLots

        trade.stopLoss = Utils.roundToNSEPrice(trade.requestedEntry +
                                               trade.requestedEntry *
                                               self.slPercentage / 100)
        trade.target = 0  # setting to 0 as no target is applicable for this trade

        trade.intradaySquareOffTimestamp = Utils.getEpoch(
            self.squareOffTimestamp)
        # Hand over the trade to TradeManager
        TradeManager.addNewTrade(trade)
Exemple #2
0
 def convertJSONToTrade(jsonData):
     trade = Trade(jsonData['tradingSymbol'])
     trade.tradeID = jsonData['tradeID']
     trade.strategy = jsonData['strategy']
     trade.direction = jsonData['direction']
     trade.productType = jsonData['productType']
     trade.isFutures = jsonData['isFutures']
     trade.isOptions = jsonData['isOptions']
     trade.optionType = jsonData['optionType']
     trade.placeMarketOrder = jsonData['placeMarketOrder']
     trade.intradaySquareOffTimestamp = jsonData[
         'intradaySquareOffTimestamp']
     trade.requestedEntry = jsonData['requestedEntry']
     trade.entry = jsonData['entry']
     trade.qty = jsonData['qty']
     trade.filledQty = jsonData['filledQty']
     trade.initialStopLoss = jsonData['initialStopLoss']
     trade.stopLoss = jsonData['stopLoss']
     trade.target = jsonData['target']
     trade.cmp = jsonData['cmp']
     trade.tradeState = jsonData['tradeState']
     trade.timestamp = jsonData['timestamp']
     trade.createTimestamp = jsonData['createTimestamp']
     trade.startTimestamp = jsonData['startTimestamp']
     trade.endTimestamp = jsonData['endTimestamp']
     trade.pnl = jsonData['pnl']
     trade.pnlPercentage = jsonData['pnlPercentage']
     trade.exit = jsonData['exit']
     trade.exitReason = jsonData['exitReason']
     trade.exchange = jsonData['exchange']
     trade.entryOrder = TradeManager.convertJSONToOrder(
         jsonData['entryOrder'])
     trade.slOrder = TradeManager.convertJSONToOrder(jsonData['slOrder'])
     trade.targetOrder = TradeManager.convertJSONToOrder(
         jsonData['targetOrder'])
     trade.moveToCost = jsonData['moveToCost']
     return trade