code: def buy(self, currencyPair, rate, amount, fillOrKill=None,
              immediateOrCancel=None, postOnly=None):
          
          return self._private('buy', currencyPair=currencyPair, rate=rate,
                               amount=amount, fillOrKill=fillOrKill,
                               immediateOrCancel=immediateOrCancel,
                               postOnly=postOnly)
docs: Places a limit buy order in a given market. Required POST parameters
          are "currencyPair", "rate", and "amount". If successful, the method
          will return the order number.
          You may optionally set "fillOrKill", "immediateOrCancel", "postOnly"
          to 1. A fill-or-kill order will either fill in its entirety or be
          completely aborted. An immediate-or-cancel order can be partially or
          completely filled, but any portion of the order that cannot be filled
          immediately will be canceled rather than left on the order book.
          A post-only order will only be placed if no portion of it fills
          immediately; this guarantees you will never pay the taker fee on any
          part of the order that fills.