'generated source for method openOrder'

@classmethod
def openOrder(cls, orderId, contract, order, orderState):

    msg = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((('open    order:    orderId=' + str(orderId)) + '    action=') + str(order.m_action)) + '    quantity=') + str(order.m_totalQuantity)) + '    conid=') + str(contract.m_conId)) + '    symbol=') + str(contract.m_symbol)) + '    secType=') + str(contract.m_secType)) + '    expiry=') + str(contract.m_expiry)) + '    strike=') + str(contract.m_strike)) + '    right=') + str(contract.m_right)) + '    multiplier=') + str(contract.m_multiplier)) + '    exchange=') + str(contract.m_exchange)) + '    primaryExch=') + str(contract.m_primaryExch)) + '    currency=') + str(contract.m_currency)) + '    localSymbol=') + str(contract.m_localSymbol)) + '    tradingClass=') + str(contract.m_tradingClass)) + '    type=') + str(order.m_orderType)) + '    lmtPrice=') + Util.DoubleMaxString(order.m_lmtPrice)) + '    auxPrice=') + Util.DoubleMaxString(order.m_auxPrice)) + '    TIF=') + str(order.m_tif)) + '    localSymbol=') + str(contract.m_localSymbol)) + '    client    Id=') + str(order.m_clientId)) + '    parent    Id=') + str(order.m_parentId)) + '    permId=') + str(order.m_permId)) + '    outsideRth=') + str(order.m_outsideRth)) + '    hidden=') + str(order.m_hidden)) + '    discretionaryAmt=') + str(order.m_discretionaryAmt)) + '    displaySize=') + str(order.m_displaySize)) + '    triggerMethod=') + str(order.m_triggerMethod)) + '    goodAfterTime=') + str(order.m_goodAfterTime)) + '    goodTillDate=') + str(order.m_goodTillDate)) + '    faGroup=') + str(order.m_faGroup)) + '    faMethod=') + str(order.m_faMethod)) + '    faPercentage=') + str(order.m_faPercentage)) + '    faProfile=') + str(order.m_faProfile)) + '    shortSaleSlot=') + str(order.m_shortSaleSlot)) + '    designatedLocation=') + str(order.m_designatedLocation)) + '    exemptCode=') + str(order.m_exemptCode)) + '    ocaGroup=') + str(order.m_ocaGroup)) + '    ocaType=') + str(order.m_ocaType)) + '    rule80A=') + str(order.m_rule80A)) + '    allOrNone=') + str(order.m_allOrNone)) + '    minQty=') + Util.IntMaxString(order.m_minQty)) + '    percentOffset=') + Util.DoubleMaxString(order.m_percentOffset)) + '    eTradeOnly=') + order.m_eTradeOnly) + '    firmQuoteOnly=') + str(order.m_firmQuoteOnly)) + '    nbboPriceCap=') + Util.DoubleMaxString(order.m_nbboPriceCap)) + '    optOutSmartRouting=') + str(order.m_optOutSmartRouting)) + '    auctionStrategy=') + str(order.m_auctionStrategy)) + '    startingPrice=') + Util.DoubleMaxString(order.m_startingPrice)) + '    stockRefPrice=') + Util.DoubleMaxString(order.m_stockRefPrice)) + '    delta=') + Util.DoubleMaxString(order.m_delta)) + '    stockRangeLower=') + Util.DoubleMaxString(order.m_stockRangeLower)) + '    stockRangeUpper=') + Util.DoubleMaxString(order.m_stockRangeUpper)) + '    volatility=') + Util.DoubleMaxString(order.m_volatility)) + '    volatilityType=') + str(order.m_volatilityType)) + '    deltaNeutralOrderType=') + str(order.m_deltaNeutralOrderType)) + '    deltaNeutralAuxPrice=') + Util.DoubleMaxString(order.m_deltaNeutralAuxPrice)) + '    deltaNeutralConId=') + str(order.m_deltaNeutralConId)) + '    deltaNeutralSettlingFirm=') + str(order.m_deltaNeutralSettlingFirm)) + '    deltaNeutralClearingAccount=') + str(order.m_deltaNeutralClearingAccount)) + '    deltaNeutralClearingIntent=') + str(order.m_deltaNeutralClearingIntent)) + '    deltaNeutralOpenClose=') + str(order.m_deltaNeutralOpenClose)) + '    deltaNeutralShortSale=') + str(order.m_deltaNeutralShortSale)) + '    deltaNeutralShortSaleSlot=') + str(order.m_deltaNeutralShortSaleSlot)) + '    deltaNeutralDesignatedLocation=') + str(order.m_deltaNeutralDesignatedLocation)) + '    continuousUpdate=') + str(order.m_continuousUpdate)) + '    referencePriceType=') + str(order.m_referencePriceType)) + '    trailStopPrice=') + Util.DoubleMaxString(order.m_trailStopPrice)) + '    trailingPercent=') + Util.DoubleMaxString(order.m_trailingPercent)) + '    scaleInitLevelSize=') + Util.IntMaxString(order.m_scaleInitLevelSize)) + '    scaleSubsLevelSize=') + Util.IntMaxString(order.m_scaleSubsLevelSize)) + '    scalePriceIncrement=') + Util.DoubleMaxString(order.m_scalePriceIncrement)) + '    scalePriceAdjustValue=') + Util.DoubleMaxString(order.m_scalePriceAdjustValue)) + '    scalePriceAdjustInterval=') + Util.IntMaxString(order.m_scalePriceAdjustInterval)) + '    scaleProfitOffset=') + Util.DoubleMaxString(order.m_scaleProfitOffset)) + '    scaleAutoReset=') + str(order.m_scaleAutoReset)) + '    scaleInitPosition=') + Util.IntMaxString(order.m_scaleInitPosition)) + '    scaleInitFillQty=') + Util.IntMaxString(order.m_scaleInitFillQty)) + '    scaleRandomPercent=') + str(order.m_scaleRandomPercent)) + '    hedgeType=') + str(order.m_hedgeType)) + '    hedgeParam=') + str(order.m_hedgeParam)) + '    account=') + str(order.m_account)) + '    settlingFirm=') + str(order.m_settlingFirm)) + '    clearingAccount=') + str(order.m_clearingAccount)) + '    clearingIntent=') + str(order.m_clearingIntent)) + '    notHeld=') + str(order.m_notHeld)) + '    whatIf=') + str(order.m_whatIf))
    if ('BAG' == contract.m_secType):
        if (contract.m_comboLegsDescrip is not None):
            msg += ('    comboLegsDescrip=' + str(contract.m_comboLegsDescrip))
        msg += '    comboLegs={'
        if (contract.m_comboLegs is not None):
            i = 0
            while (i < len(contract.m_comboLegs)):
                comboLeg = contract.m_comboLegs[i]
                msg += (('    leg    ' + str((i + 1))) + ':    ')
                msg += ('conId=' + str(comboLeg.m_conId))
                msg += ('    ratio=' + str(comboLeg.m_ratio))
                msg += ('    action=' + str(comboLeg.m_action))
                msg += ('    exchange=' + str(comboLeg.m_exchange))
                msg += ('    openClose=' + str(comboLeg.m_openClose))
                msg += ('    shortSaleSlot=' + str(comboLeg.m_shortSaleSlot))
                msg += ('    designatedLocation=' + str(comboLeg.m_designatedLocation))
                msg += ('    exemptCode=' + str(comboLeg.m_exemptCode))
                if ((order.m_orderComboLegs is not None) and (len(contract.m_comboLegs) == len(order.m_orderComboLegs))):
                    orderComboLeg = order.m_orderComboLegs[i]
                    msg += ('    price=' + Util.DoubleMaxString(orderComboLeg.m_price))
                msg += ';'
                i += 1
        msg += '}'
        if (order.m_basisPoints != Double.MAX_VALUE):
            msg += ('    basisPoints=' + Util.DoubleMaxString(order.m_basisPoints))
            msg += ('    basisPointsType=' + Util.IntMaxString(order.m_basisPointsType))
    if (contract.m_underComp is not None):
        underComp = contract.m_underComp
        msg += ((((('    underComp.conId    =' + str(underComp.m_conId)) + '    underComp.delta    =') + str(underComp.m_delta)) + '    underComp.price    =') + str(underComp.m_price))
    if (not Util.StringIsEmpty(order.m_algoStrategy)):
        msg += ('    algoStrategy=' + str(order.m_algoStrategy))
        msg += '    algoParams={'
        if (order.m_algoParams is not None):
            algoParams = order.m_algoParams
            i = 0
            while (i < len(algoParams)):
                param = algoParams[i]
                if (i > 0):
                    msg += ','
                msg += ((str(param.m_tag) + '=') + str(param.m_value))
                i += 1
        msg += '}'
    if ('BAG' == contract.m_secType):
        msg += '    smartComboRoutingParams={'
        if (order.m_smartComboRoutingParams is not None):
            smartComboRoutingParams = order.m_smartComboRoutingParams
            i = 0
            while (i < len(smartComboRoutingParams)):
                param = smartComboRoutingParams[i]
                if (i > 0):
                    msg += ','
                msg += ((str(param.m_tag) + '=') + str(param.m_value))
                i += 1
        msg += '}'
    orderStateMsg = ((((((((((((((((('    status=' + str(orderState.m_status)) + '    initMargin=') + str(orderState.m_initMargin)) + '    maintMargin=') + str(orderState.m_maintMargin)) + '    equityWithLoan=') + str(orderState.m_equityWithLoan)) + '    commission=') + Util.DoubleMaxString(orderState.m_commission)) + '    minCommission=') + Util.DoubleMaxString(orderState.m_minCommission)) + '    maxCommission=') + Util.DoubleMaxString(orderState.m_maxCommission)) + '    commissionCurrency=') + str(orderState.m_commissionCurrency)) + '    warningText=') + str(orderState.m_warningText))
    return (msg + orderStateMsg)
