├── spec ├── en │ ├── contact.md │ ├── license.md │ ├── signup.md │ └── terms-and-conditions.md ├── code_samples │ └── README.md └── README.md ├── .npmrc ├── web ├── ts-logo.png ├── ts-logo_old.png └── index.html ├── .gitlab-ci.yml ├── .yo-rc.json ├── .travis.yml ├── scripts ├── deploy-branch.js ├── dump.sh └── build.js ├── .gitignore ├── TODO.md ├── package.json ├── LICENSE ├── gulpfile.js ├── CONTRIBUTING.md └── README.md /spec/en/contact.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/en/license.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/en/signup.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true -------------------------------------------------------------------------------- /web/ts-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tradestation/api-docs/HEAD/web/ts-logo.png -------------------------------------------------------------------------------- /web/ts-logo_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tradestation/api-docs/HEAD/web/ts-logo_old.png -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | stages: 2 | - test 3 | 4 | before_script: 5 | - . ~/environment_setup 6 | 7 | test: 8 | stage: test 9 | script: 10 | - npm install -f 11 | - npm test 12 | tags: 13 | - nite 14 | image: 116738426468.dkr.ecr.us-east-2.amazonaws.com/runners/node:nvm-ubuntu 15 | -------------------------------------------------------------------------------- /.yo-rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "generator-openapi-repo": { 3 | "importExistingSpec": true, 4 | "importedSpec": "api.tradestation.com/specification.yaml", 5 | "name": "TradeStation", 6 | "repo": "tradestation/api-docs", 7 | "splitSpec": false, 8 | "samples": true, 9 | "installSwaggerUI": true 10 | } 11 | } -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "11" 4 | deploy: 5 | - skip_cleanup: true 6 | provider: script 7 | script: npm test 8 | on: 9 | branch: master 10 | - skip_cleanup: true 11 | provider: script 12 | script: npm run deploy 13 | on: 14 | branch: master 15 | - skip_cleanup: true 16 | provider: script 17 | script: npm run deploy-branch 18 | on: 19 | all_branches: true 20 | condition: '"$TRAVIS_BRANCH" != "master" && "$TRAVIS_BRANCH" != "gh-pages"' 21 | -------------------------------------------------------------------------------- /spec/code_samples/README.md: -------------------------------------------------------------------------------- 1 | Code samples 2 | ===== 3 | 4 | Generate [x-code-samples](https://github.com/Rebilly/ReDoc/blob/master/docs/redoc-vendor-extensions.md#x-code-samples) 5 | Path `//.` where: 6 | * `` - name of the language from [this](https://github.com/github/linguist/blob/master/lib/linguist/popular.yml) list. 7 | * `` - path of target method, where all slashes replaced with `@` sign. 8 | * `` - verb of target method. 9 | * `` - ignored. 10 | -------------------------------------------------------------------------------- /scripts/deploy-branch.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | require('shelljs/global'); 4 | var path = require('path'); 5 | 6 | set('-e'); 7 | set('-v'); 8 | 9 | var branch = process.env.TRAVIS_BRANCH && process.env.TRAVIS_BRANCH.toLowerCase(); 10 | if (branch && branch !== 'gh-pages') { 11 | var branchPath = path.join('.tmp', 'preview', branch, '/'); 12 | mkdir('-p', branchPath); 13 | exec('npm run swagger bundle -- -o ' + branchPath + 'swagger.json'); 14 | cp('web/index.html', branchPath); 15 | exec('deploy-to-gh-pages --update .tmp'); 16 | } 17 | -------------------------------------------------------------------------------- /scripts/dump.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | set -e 3 | 4 | ## USAGE: cat payload.json | dump.sh 5 | 6 | ## KNOWN ISSUES: 7 | 8 | ## SETUP: 9 | ## - Install NodeJs 10 | ## - NPM Install json-schema-generator 11 | ## - Install python 2.7 12 | 13 | ## Assumes you have GNU grep installed 14 | 15 | [ $# -ge 1 -a -f "$1" ] && input="$1" || input="-" 16 | 17 | cat $input | grep -Ev '^(END)' | json-schema-generator --stdin | grep -Ev '^(Node)' | python -c 'import sys, yaml, json; yaml.safe_dump(json.load(sys.stdin), sys.stdout, allow_unicode=True, default_flow_style=False, indent=4, width=100)' 18 | 19 | -------------------------------------------------------------------------------- /scripts/build.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | var Path = require('path'); 4 | 5 | require('shelljs/global'); 6 | set('-e'); 7 | 8 | mkdir('-p', 'web_deploy') 9 | 10 | cp('-R', 'web/*', 'web_deploy/'); 11 | 12 | exec('npm run swagger bundle -- -o web_deploy/swagger.json'); 13 | exec('npm run swagger bundle -- --yaml -o web_deploy/swagger.yaml'); 14 | 15 | var SWAGGER_UI_DIST = Path.dirname(require.resolve('swagger-ui')); 16 | rm('-rf', 'web_deploy/swagger-ui/') 17 | cp('-R', SWAGGER_UI_DIST, 'web_deploy/swagger-ui/') 18 | sed('-i', 'http://petstore.swagger.io/v2/swagger.json', '../swagger.json', 'web_deploy/swagger-ui/index.html') 19 | 20 | -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | TradeStation API Specification 5 | 6 | 7 | 8 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dir for API portal deploy 2 | web_deploy 3 | 4 | # Logs 5 | logs 6 | *.log 7 | npm-debug.log* 8 | 9 | # Runtime data 10 | pids 11 | *.pid 12 | *.seed 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # node-waf configuration 21 | .lock-wscript 22 | 23 | # Compiled binary addons (http://nodejs.org/api/addons.html) 24 | build/Release 25 | 26 | # Dependency directory 27 | node_modules 28 | 29 | # Optional npm cache directory 30 | .npm 31 | 32 | # Optional REPL history 33 | .node_repl_history 34 | 35 | # Examples 36 | *-example.yaml 37 | 38 | # ide dingleberries 39 | .vscode 40 | .vs 41 | -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- 1 | TODO List 2 | ========= 3 | 4 | - Finish the spec for all current API resources 5 | - Finish the `overview` page 6 | - Decide how to navigate between static content and generated 7 | - Prune or complete all of the empty sections 8 | - Address Streaming API resources & behavior 9 | - Get feedback!! 10 | - Brainstorm the workflow for API developers 11 | - Decide whether docs will be monolithic or aggregated 12 | - Create a `contact` page with official API email and contact info 13 | - Create a `terms-and-conditions` page 14 | - Create a `license` page for reference from spec 15 | - Create a `signup` page explaining how to request an API key 16 | - Add routes to WAY for `spec` & `docs` 17 | - Finalize spec-transform theme/design 18 | 19 | -------------------------------------------------------------------------------- /spec/README.md: -------------------------------------------------------------------------------- 1 | ## Global headers 2 | 3 | In order to minimize duplications you can use `headers` global object (similar to `definitions`, `responses`). 4 | During build process all references to global `headers` will be inlined and `headers` will be removed form resulting spec so spec will be valid (global `headers` is not allowed by Swagger spec): 5 | 6 | Example: 7 | ```yaml 8 | ... 9 | headers: 10 | Rate-Limit-Limit: 11 | description: The number of allowed requests in the current period 12 | type: integer 13 | ... 14 | paths: 15 | /api-keys: 16 | get: 17 | summary: Retrieve a list of api keys 18 | responses: 19 | 200: 20 | description: A list of api keys was retrieved successfully 21 | headers: 22 | Rate-Limit-Limit: 23 | $ref: "#/headers/Rate-Limit-Limit" 24 | ``` 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TradeStation-openapi-spec", 3 | "version": "0.0.1", 4 | "engines": { 5 | "node": "<=11.15.0" 6 | }, 7 | "dependencies": { 8 | "bower": "^1.8.8", 9 | "connect": "^3.4.1", 10 | "cors": "^2.7.1", 11 | "deploy-to-gh-pages": "^1.1.0", 12 | "gulp": "^3.9.1", 13 | "gulp-connect": "^4.2.0", 14 | "gulp-util": "^3.0.7", 15 | "natives": "^1.1.6", 16 | "portfinder": "^1.0.3", 17 | "shelljs": "^0.7.0", 18 | "swagger-repo": "^1.0.0", 19 | "swagger-ui": "git+https://swagger-api@github.com/swagger-api/swagger-ui.git#64dc306" 20 | }, 21 | "private": true, 22 | "scripts": { 23 | "deploy": "npm run build && deploy-to-gh-pages --update web_deploy --repo tradestation/api-docs", 24 | "build": "node ./scripts/build.js", 25 | "swagger": "swagger-repo", 26 | "test": "swagger-repo validate", 27 | "start": "gulp serve", 28 | "deploy-branch": "node ./scripts/deploy-branch.js" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Ivan Goncharov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var util = require('gulp-util') 3 | var gulpConnect = require('gulp-connect'); 4 | var connect = require('connect'); 5 | var cors = require('cors'); 6 | var path = require('path'); 7 | var exec = require('child_process').exec; 8 | var portfinder = require('portfinder'); 9 | var swaggerRepo = require('swagger-repo'); 10 | 11 | var DIST_DIR = 'web_deploy'; 12 | 13 | gulp.task('serve', ['build', 'watch', 'edit'], function() { 14 | portfinder.getPort({port: 3000}, function (err, port) { 15 | gulpConnect.server({ 16 | root: [DIST_DIR], 17 | livereload: true, 18 | port: port, 19 | middleware: function (gulpConnect, opt) { 20 | return [ 21 | cors() 22 | ] 23 | } 24 | }); 25 | }); 26 | }); 27 | 28 | gulp.task('edit', function() { 29 | portfinder.getPort({port: 5000}, function (err, port) { 30 | var app = connect(); 31 | app.use(swaggerRepo.swaggerEditorMiddleware()); 32 | app.listen(port); 33 | util.log(util.colors.green('swagger-editor started http://localhost:' + port)); 34 | }); 35 | }); 36 | 37 | gulp.task('build', function (cb) { 38 | exec('npm run build', function (err, stdout, stderr) { 39 | console.log(stderr); 40 | cb(err); 41 | }); 42 | }); 43 | 44 | gulp.task('reload', ['build'], function () { 45 | gulp.src(DIST_DIR).pipe(gulpConnect.reload()) 46 | }); 47 | 48 | gulp.task('watch', function () { 49 | gulp.watch(['spec/**/*', 'web/**/*'], ['reload']); 50 | }); 51 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing to TradeStation API 2 | ===================================== 3 | 4 | Swagger Style Guide 5 | ------------------- 6 | 7 | - Use `summary` to provide a "title" for your resources 8 | - Use `description` to provide knowledge required in order to use the resource properly. 9 | - Use `$ref` attributes in operations and add Definitions for each POST body and 10 | Response Body object. 11 | 12 | 13 | API Dump scripts 14 | ---------------- 15 | 16 | You can use the 2 scripts located in `/scripts` named `api.sh` and `dump.sh` to 17 | quickly dump YAML schemas for payloads that you need in the `definitions` section 18 | of the swagger spec. 19 | 20 | If you `cat` them, you will see notes on usage. Normally I use them something 21 | like this: 22 | 23 | ``` 24 | cd scripts 25 | ./api.sh /data/quote/amzn | ./dump.sh 26 | ``` 27 | 28 | Then copy/past the results into the `definitions` section of the swagger spec. 29 | 30 | Note: YMMV on these scripts - they dont handle nulls well, so you might have to fix them up. 31 | 32 | 33 | Hosting API Docs with Github Pages: 34 | ----------------------------------- 35 | 36 | 1. Enable [Travis](https://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI%3A) for your repository (**note**: you already have `.travis.yml` file) 37 | 2. [Create GitHub access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/); check `public_repo` on `Select scopes` section. 38 | 3. Use the token value as a value for [Travis environment variable](https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings) with the name `GH_TOKEN` 39 | 4. Make a test commit to trigger CI: `git commit --allow-empty -m "Test Travis CI" && git push` 40 | 5. Wait until Travis build is finished. You can check progress by clicking on the `Build Status` badge at the top 41 | 6. If you did everything correct, https://tradestation.github.io/api-docs/ will lead to your new docs 42 | 7. **[Optional]** You can setup [custom domain](https://help.github.com/articles/using-a-custom-domain-with-github-pages/) (just create `web/CNAME` file) 43 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | TradeStation API Docs 2 | ===================== 3 | [![Build Status](https://travis-ci.org/tradestation/api-docs.svg?branch=master)](https://travis-ci.org/tradestation/api-docs) 4 | 5 | This repo is used to document the TradeStation API using [Open API Specificiation](https://www.openapis.org/) (AKA Swagger 2.0). 6 | 7 | Purpose 8 | ------- 9 | 10 | - To generate rich API documentation for API consumers to discover and 11 | learn how to use the TradeStation API 12 | - To simplify how API creators design and publish new TradeStation API's 13 | (preferably in a contract-first manner) 14 | 15 | Getting Started 16 | --------------- 17 | 18 | Creating documentation is easy! 19 | 20 | Just navigate to the [`spec`](spec/) folder and edit the Open API [`swagger.yaml`](spec/swagger.yaml). 21 | The specification is composed using [Open API Specificiation](https://www.openapis.org/) v2.0 (fka Swagger) syntax & rules. 22 | Text within `description` blocks use [Github-flavored Markdown](https://guides.github.com/features/mastering-markdown). 23 | 24 | **Once you are done, follow the steps below to Build & Publish.** 25 | 26 | 27 | Developer Workflow 28 | ------------------ 29 | 30 | ### Install 31 | 32 | 1. Install [Node JS](https://nodejs.org/) 33 | + Node JS 11.x or earlier version is recommended, there is a known compatibility issue with Gulp 3.x and Node 12.x (or later). 34 | 2. Clone repo and `cd` 35 | + Run `npm install` 36 | 37 | ### Usage 38 | 39 | 1. Run `npm start` 40 | 2. Checkout console output to see where local server is started. 41 | 3. Make changes using your favorite editor or `swagger-editor` (look for URL in console output) 42 | + Review the [Style guide](CONTRIBUTING.md#style guide). 43 | 4. All changes are immediately propagated to your local server. 44 | + All documentation pages will be automagically refreshed in a browser after each change 45 | + **TIP:** you can open `swagger-editor`, documentation and `swagger-ui` in parallel 46 | 5. Once you finish with the changes you can run tests using: `npm test` 47 | 6. Share you changes with the rest of the world by pushing to GitHub :smile: 48 | 49 | Links 50 | ----- 51 | 52 | - SwaggerUI: https://tradestation.github.io/api-docs/swagger-ui/ 53 | - Look full spec: 54 | + JSON https://tradestation.github.io/api-docs/swagger.json 55 | + YAML https://tradestation.github.io/api-docs/swagger.yaml 56 | - Preview spec version for branch `[branch]`: https://tradestation.github.io/api-docs/preview/[branch] 57 | 58 | **Warning:** All above links are updated only after Travis CI finishes deployment 59 | 60 | Recommended Tools 61 | ----------------- 62 | 63 | - Text-Editor: [VSCode](https://code.visualstudio.com/) 64 | + Plugins: 65 | - [vscode-swaggitor](https://github.com/QN-Solutions/vscode-swaggitor) 66 | - [vscode-yaml-validation](https://github.com/djabraham/vscode-yaml-validation) -------------------------------------------------------------------------------- /spec/en/terms-and-conditions.md: -------------------------------------------------------------------------------- 1 | 2 | Web Site User Agreement, Disclosures and Certain Legal Notices 3 | ============================================================== 4 | 5 | Introduction 6 | ------------ 7 | TradeStation Securities, Inc. (TradeStation) make available information, materials, products and services on this Web site subject to the following terms and conditions, and the terms and conditions of all applicable account, subscription and other agreements, disclaimers and legal notices that appear or may appear from time to time on this Web site and/or must be agreed to by you in the account opening or subscription process in order to use the applicable information, materials, products or services. By accessing this site, you agree to the terms and conditions as outlined below, in addition to those contained in those other agreements, disclaimers and legal notices, when applicable. TradeStation reserves the right to change these terms and conditions from time to time at its sole discretion. The prices, fees, costs and other terms of all products and services offered on this Web site are subject to change at any time and from time to time. 8 | 9 | This site is presented solely for informational purposes and to provide access to certain electronic products or services with which you will directly interface. No offer or solicitation to buy or sell securities or securities derivative products of any kind, or any type of investment or trading advice or strategy, is made, given or in any manner endorsed by any TradeStation affiliate. TradeStation accepts orders only on an unsolicited basis, and does not make any recommendations regarding any security or securities product. You are fully responsible for any investment or trading decisions you make, and such decisions should be based solely on your evaluation of your financial circumstances, investment or trading objectives, risk tolerance and liquidity needs. 10 | Account access, trade executions and system response and performance may be adversely affected, including delays and failures, as a result of: market volatility; high share volume; other market fluctuations; illiquidity; other market conditions and risks; quote delays; system and software errors; data or server farm outages; Internet system problems relating to Internet traffic volume and capacity or other causes; and other factors. One or more of these factors may occur before or after you place a trade, resulting in delayed or failed order placement, order cancellation, trade execution and/or acknowledgement of any of those actions. Solely you assume those risks. 11 | 12 | THIS SITE IS FOR PERSONS IN THE U.S. ONLY. NOTHING ON THIS WEB SITE IS AN OFFER OR SOLICITATION OF SECURITIES OR INVESTMENT PRODUCTS OR SERVICES IN ANY JURISDICTION WHERE THEIR OFFER OR SALE OR PERFORMANCE IS NOT QUALIFIED OR EXEMPT FROM REGISTRATION INCLUDING, BUT NOT LIMITED TO JAPAN . THE ACCEPTANCE OF ALL BROKERAGE CLIENTS IS AT THE COMPLETE DISCRETION OF TRADESTATION AND ITS CLEARING FIRMS IF ANY. 13 | Any testimonials or case studies on this site may not be representative of the experience of other clients and are not indicative of future performance or success. 14 | 15 | Third-Party Materials And Web Site Links 16 | ---------------------------------------- 17 | The TradeStation Web site contains or may contain references and links to other companies and/or their Web sites (including Web sites owned and operated by affiliate TradeStation Technologies), none of which is under the control of TradeStation, even if such other company is an affiliate of TradeStation. TradeStation makes no representations, warranties or endorsements whatever about any other Web sites to which you may have access through the TradeStation Web site (whether or not the other Web site belongs to an affiliate of TradeStation), or any products or services of those other companies (whether or not they are affiliates of TradeStation), even if the products or services of those other companies or their Web sites are described or offered on the TradeStation Web site or integrated with TradeStation's products or services. 18 | Disclaimers: No Warranties of any Kind are Being Made or Given 19 | 20 | Except as expressly provided otherwise in an agreement between you and TradeStation, all products, services, information, software and system performance offered or provided in this site are offered and/or provided “as is” without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular use or purpose. 21 | 22 | You use this site and all TradeStation (and affiliated) products and services at your own risk. In no event shall TradeStation be liable for any special, incidental, indirect or consequential damages of any kind, or any financial losses or damages whatever, including, without limitation, those resulting from loss of (or errors in) service, software or data, whether or not we have been advised of the possibility of such damages, and regardless of the theory of liability. This site, as well as TradeStation's order execution systems and services, could, and likely do, include some technical and other inaccuracies and errors. In addition, changes are periodically made to the information on this site without advance notice of any kind. TradeStation may also make (or accept from the applicable vendors or providers) improvements and/or changes in the products, services and programs described in this site at any time without advance notice of any kind. 23 | 24 | Non-Personal Information 25 | ------------------------ 26 | All information received through this Web site, other than personal information required to open your account or subscription, modify your account or subscription, or related to your transactions, shall be deemed NON-personal. Any NON-personal information or material sent to TradeStation will be deemed to be NOT confidential or proprietary. Please note that TradeStation does not want to receive any such NON-personal information or material from you through this site. By sending TradeStation any NON-personal information or material, you grant TradeStation an unrestricted, irrevocable, perpetual, royalty-free license to use, reproduce, display, perform, modify, transmit, distribute and otherwise exploit such information and materials, and you also agree that TradeStation is free to use, for any purpose, any ideas, concepts, know-how or techniques that you send it, without obligation to you of any kind. 27 | 28 | Export Control Laws; Restricted Rights Legend 29 | --------------------------------------------- 30 | Software available on the TradeStation site may be subject to United States export controls. No software from this site may be downloaded or otherwise exported or re-exported (1) into (or to a national or resident of) Cuba, Iraq, Libya, Sudan, North Korea, Iran, Syria or any other country to which the United States has embargoed goods; or (2) to anyone on the U.S. Treasury Department’s list of Specially Designated Nationals or the U.S. Commerce Department’s Table of Denial Orders. 31 | By downloading or using software from this site, you are agreeing to the foregoing and you are warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list. 32 | All TradeStation products and publications are commercial in nature. The software and documentation available on this site are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are licensed to U.S. Government end users (A) only as Commercial Items and (B) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. 33 | 34 | Governing Law And Jurisdiction 35 | ------------------------------ 36 | 37 | This Web site is controlled by TradeStation from its offices within the State of Florida, United States of America. By accessing this site, you and TradeStation agree that all matters relating to your access to, or use of, this site shall be governed by the statutes and laws of the State of Florida, without regard to the conflicts of laws principles thereof. Unless you are a brokerage client seeking to address a matter relating to your brokerage services, in which case the arbitration and venue provisions (as to Futures if so elected) of your brokerage account agreement(s) will apply, you and TradeStation also agree and hereby submit to the exclusive personal jurisdiction and venue of the Circuit Court of, in and for Broward or Miami-Dade County, Florida or, at TradeStation option, the United States District Court for the Southern District of Florida, with respect to all such matters. TradeStation makes no representation that materials on this site are appropriate or available for use in other locations, and accessing them from territories where their content is illegal is prohibited. Those who choose to access this site from other locations do so on their own initiative and are responsible for compliance with local laws. 38 | 39 | Copyright; Limited License 40 | 41 | The information on this site is protected by copyright: 42 | 43 | Copyright © TradeStation, Inc. 2000 - 2016. All rights reserved. 44 | 45 | Except as specifically permitted herein, no portion of the information on this site may be reproduced in any form or by any means without prior written permission from TradeStation. 46 | 47 | Use of Software. The software, data and accompanying documentation that are made available to download from this site are the copyrighted work of TradeStation or its licensors. Use of the software and data is governed by the terms of the applicable license or other agreement(s). 48 | 49 | Use of Web Site Information 50 | --------------------------- 51 | Except as otherwise indicated elsewhere on this site, you may not copy, print or distribute documents, images or other media (collectively, “media”) available on this site. To the extent, if any, that copying, printing or distribution is expressly permitted, it is subject to the following conditions: 52 | 53 | 1. The media may be used solely in the manner and for the purposes expressed or implied through information on the site or as otherwise agreed to in writing with TradeStation; 54 | 2. The media may not be modified or altered in any way, except as authorized in writing by TradeStation; 55 | 3. Any copy of the media or any portion thereof must include the copyright notice above; and 56 | 4. TradeStation reserves the right to revoke such authorization at any time, and any such use shall be discontinued immediately upon written notice from TradeStation. 57 | 58 | In no event shall you be permitted to copy, print or distribute the design or layout of this site. Elements of this site are protected by trade dress and other laws and may not be copied or imitated in whole or in part. 59 | 60 | Live Chat Disclaimers 61 | --------------------- 62 | The "Live Chat" feature on the TradeStation website is designed to provide technical and account-related support to existing TradeStation customers. Due to space and time limitations and other considerations, TradeStation does not guarantee that it can provide an answer to every question submitted. Individuals submitting questions do so with the understanding that they may not receive a direct answer to their question and they might be referred to telephone support, which is always available at no added cost. 63 | Questions may be consolidated, revised, held for future postings, or judged inappropriate for this setting solely at the discretion of TradeStation. When chatting with our representatives, you should avoid using profanity, vulgarities, or spiteful comments. This Live Chat area is not a substitute for the TradeStation Platform. No orders to buy or sell securities will be accepted and/or processed through Live Chat. 64 | 65 | You should not share your username and password with anyone as we assume that any Live Chat between TradeStation Support and your username is directly with you and not with a third person, whether authorized or unauthorized. 66 | We value your privacy and we will observe our privacy policy in all respects in the Live Chat environment. 67 | 68 | Trademark Information 69 | --------------------- 70 | The trademarks, logos and service marks (“Marks”) displayed on this site are (i) owned by TradeStation, or (ii) used by TradeStation under licenses from their respective owners, or (iii) are the property of other third parties. You are not permitted to use the Marks without the prior written consent of TradeStation or the applicable third parties. 71 | 72 | TradeStation® and EasyLanguage® are registered trademarks of TradeStation Technologies, Inc., an affiliate of TradeStation, the use of which has been licensed to TradeStation. 73 | 74 | Source: http://www.tradestation.com/other-information#terms-of-use 75 | --------------------------------------------------------------------------------