Code Monkey home page Code Monkey logo

Comments (5)

dsouzae avatar dsouzae commented on July 17, 2024

Here is my example on how I do a buy (both market and limit orders):

func NewContract(symbol string) ib.Contract {
    return ib.Contract{
        Symbol:       symbol,
        SecurityType: "STK",
        Exchange:     "SMART",
        Currency:     "USD",
    }
}

func doBuy(engine *ib.Engine, symbol string, quantity uint64, market bool, price float64) {
    request := ib.PlaceOrder{
        Contract: NewContract(symbol),
    }

    request.Order, _ = ib.NewOrder()
    request.Order.Action = "BUY"
    request.Order.TotalQty = int64(quantity)

    if market {
        request.Order.OrderType = "MKT"
    } else {
        request.Order.OrderType = "LMT"
        request.Order.LimitPrice = price
    }
    request.SetID(NextOrderID())

    engine.Send(&request)
}

Function NextOrderID() is my own creation and should be set to the valid return value from the NextValidID object when doing: engine.Send(&ib.RequestIDs{})

I've got a functional command line programming using readline that I use for my current trading. If anyone is interesting I will work on making it a separate repository under my account.

from ib.

saulshanabrook avatar saulshanabrook commented on July 17, 2024

@dsouzae It would be great to see that code open sourced. Even if I wouldn't use it myself, seeing an example of all this together would be really helpful.

from ib.

uwe avatar uwe commented on July 17, 2024

I would also like to see the code. More examples are necessary, especially for getting started. It was your example @dsouzae in a ticket, that helped me getting started with gofinance/ib.

from ib.

dsouzae avatar dsouzae commented on July 17, 2024

I have created repository for my current version. It needs some clean up and proper documentation. But It should be relatively easy to read.

https://github.com/dsouzae/ibstockcli

from ib.

dshanabrook avatar dshanabrook commented on July 17, 2024

@dsouzae Thanks for the repository. I am trying to place a trade with an advisor account. If I want to place an buy order with a specific AccountCode, should I just set the ClientID on the Order?

If not, how would I do it?

from ib.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.