Skip to content

phazlett/quickstrike

Repository files navigation

QuickStrike

Allows you to trade SPY and XSP options using streamlined interfaces. No prompts. No complexity. Just fast trade executions. QuickStrike is a lightweight Electron.js app for fast market order executions on SPY and XSP options. The application leverages a data abstraction layer, allowing more broker API services to be integrated. The application features OAuth authentication, live quote streaming, option-chain selection, buying-power reduction estimates, and positions management. You can enter and exit any SPY or XSP option position without any prompts for confirmations. A trade can be opened and closed in mere seconds and you can fully monitor your positions using the app or your broker's trading platform.

Currently supported trading plaform APIs include:

  • Interactive Brokers (Trader Workstation and IB Gateway)
  • TastyTrade

QuickStrike IBKR Configuration QuickStrike TasthTrade Configuration QuickStrike Main Screen

Features

  • OAuth login with PKCE and direct IBKR connections
  • Paper or live trading
  • Option chain updates in real-time
  • Fast call/put staging from option-chain by clicking on any bid/ask price
  • One-click market order entry
  • One-click to close open positions
  • Open positions with real-time unrealized P/L

Important safety note

  • Start in paper mode first and verify behavior before enabling live trading.

Using with Interactive Brokers

You can use either Trader Workstation or IB Gateway. The start screen displays a list of prerequisites to configure in IBKR settings. Pay close attention to these settings and configure your IBKR platform as noted.

IBKR must be running and logged in before using this app.

Market data subscriptions and a funded account are required.

Using with TastyTrade

The application supports the TastyTrade live trading environment and the sandbox (paper) environment. The sandbox environment allows you to use the app without submitting real orders. Each environment requires its own credentials. Put TastyTrade credentials in config/adapters/tastytrade.config.js.

To create OAuth credentials for both Sandbox and Live environments, follow the official TastyTrade instructions:

https://support.tastytrade.com/support/s/solutions/articles/43000700385

IMPORTANT

When setting up your TastyTrade OAuth app, you will see a setting called "Redirect URL". Use http://localhost:5500 for this.

Installation from Prebuilt Distributables

The easiest way to get the app running is to download a pre-built distributable from the Github repo. Please note that these distributions are not digitally signed and Mac and Windows users may see a warning noting this. If you are unsure of the safety of this app then do not use the prebuilt distributables.

Installation from Source Code

To run the application directly from source code you will need npm installed on your computer.

  1. Download the repo to your local machine
  2. Open a shell window and change to the source directory
  3. Install npm if not already installed. Get it from the npm website.
npm install
  1. Launch the application
npm start

Build installers for distribution

QuickStrike can be packaged as installable desktop apps (DMG/ZIP for macOS, NSIS installer for Windows, AppImage for Linux). To build for a specific platform, the build process should be run on that actual platform. In other words, to build for Apple silicon, you must be using an Apple silicon device when building.

npm run build

Targeted builds:

npm run build -- mac --arm64
npm run build -- mac --x64
npm run build -- mac --universal
npm run build -- win
npm run build -- linux

Other useful options:

npm run build -- all
npm run build -- mac --dir

Build artifacts are written to dist/.

After successful installer builds, temporary/intermediate build artifacts in dist/ are automatically cleaned up.

To keep all intermediate files, use:

npm run build -- mac --no-cleanup

Release workflow (recommended)

  1. Build installers on each target OS (or via CI matrix).
  2. Upload artifacts from dist/ to a GitHub Release.
  3. Share the release page URL with users for download/install.

Notes for production distribution

  • macOS: use Apple Developer signing + notarization to avoid Gatekeeper warnings.
  • Windows: use code signing to reduce SmartScreen warnings.
  • Linux: AppImage usually runs unsigned, but signing is still recommended.

Project structure

  • config.js (root): shared runtime config (active adapter, environment)
  • config/adapters/ (root): adapter-specific config files
    • ibkr.config.js
    • tastytrade.config.js
  • index.html (root): user interface
  • electron/ (root): Electron support
    • ibkr-ipc.js (root): IBKR service bridge using @stoqey/ibkr
    • main.js (root): Electron main process + local static server
    • preload.js (root): secure renderer bridge for Electron IPC
  • lib/* (root): runtime files

License

See LICENSE.

About

One-click order submission for Interactive Brokers and TastyTrade

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors