4.8 KiB
4.8 KiB
Table of Contents
Action Statements
CREATE EXCHANGE Statement
CREATE EXCHANGE [Name] TYPE [ExchangeType]
URI [API CALLBACK URI]
[...Exchange type-specific PARAMS]
Examples
CREATE EXCHANGE 'IB' TYPE IB_API
URI 'https://127.0.0.1:11590/'
CREATE SPREAD Statement
This is a shortcut function to create a buy/sell order pairs with hedge triggers
TODO
Examples
CREATE SPREAD OF 10 BTC FOR QQQToken FROM "CryptoExchange"
HEDGE BTC FOR USD FROM "CryptoExchange"
HEDGE QQQToken FOR QQQ FROM "StockExchange"
UPDATE TRIGGER
TODO
SELL Statement
[SELL] [Amounts] OF [FinancialInstrument]
FOR [Amount]
FROM [Exchange]
WITH LIMIT OF [Amounts]
AND
[Other Action Statements]
FOR EVERY
[Amounts] OF [FinancialInstrument] [SOLD]
FROM [Exchange]/ANYWHERE
AND/OR
[Amounts] OF [FinancialInstrument] [BOUGHT]
FROM [Exchange]/ANYWHERE
AS 'ACTION_NAME'
Examples
Simple Sell
The following statements are identical
SELL 1 SHARES OF QQQ FROM "MyBrokerAccount"
SELL 1 UNIT OF QQQ FROM "MyBrokerAccount"
SELL 1 QQQ FROM "MyBrokerAccount"
Sell Trigger
SELL 1 SHARES OF QQQ
FOR 10 USD
FROM "MyBrokerAccount"
WITH LIMIT OF 100 SHARES
FOR EVERY
2 SHARES OF QQQ_TOKEN SOLD
FROM "CoinBase"
AS 'My Hedge Trigger'
BUY Statement
[BUY] [Amounts] OF [FinancialInstrument]
FOR [Amount]
FROM [Exchange]
WITH LIMIT OF [Amounts]
AND
[Other Action Statements]
FOR EVERY
[Amounts] OF [FinancialInstrument] [SOLD]
FROM [Exchange]/ANYWHERE
AND/OR
[Amounts] OF [FinancialInstrument] [BOUGHT]
FROM [Exchange]/ANYWHERE
Examples
BUY 1 SHARES OF BTC_ETF
FOR 10 USD
FROM "MyBrokerAccount"
WITH LIMIT OF PURCHASING_POWER( "MyBrokerAccount", "QQQ" )
FOR EVERY
1 BTC OF USD_BTC SOLD
FROM "CoinBase"
functions
PURCHASING_POWER
PURCHASING_POWER( Exchange, FinancialInstrument )
Returns the maximum [Amounts] of [FinancialInstrument] can purchase from [Exchange]
CURRENT_PRICE
CURRENT_PRICE( Exchange, FinancialInstrument )
Returns the current price of a financial instrument from exchange
Examples
Creating a spread
- Max position: $1000
- Spread: $10
- QQQ etf price(Qetf): $100
Bid | Ask |
---|---|
10shares@$95 | 10shares@$105 |
($1000 of Qetf) | ($800 of Qetf) |
If a trader hit ur ASK by bidding 2 shares of QQQ token
Bid | Ask |
---|---|
10shares@$95 | 8shares@$105 |
($1000 of Qetf) | ($800 of Qetf) |
If another trader hit ur ASK with a 20 shares of bid, then only 8 shares of his order can be filled.
- No need to handle his remaining 12 shares , its not ur responsibility, its his "broker/app/program" to deal with unfilled order.
Bid | Ask |
---|---|
10shares@$95 | |
($1000 of Qetf) |
SELL Order
SELL 10 SHARES OF "QQQ_TOKEN"
FOR CURRENT_PRICE( "CryptoExchange", "QQQ_TOKEN" ) + 5 BTC
WITH LIMIT OF 1000 BTC
FROM "CryptoExchange"
BUY Order
BUY 10 SHARES OF "QQQ_TOKEN"
FOR CURRENT_PRICE( "CryptoExchange", "QQQ_TOKEN" ) - 5 BTC
WITH LIMIT OF 1000 BTC
FROM "CryptoExchange"
Hedging
BUY Trigger for every QQQToken handed out
BUY 1 SHARES OF "QQQ"
FOR CURRENT_PRICE( "StockExchange", "QQQ" )
FROM "StockExchange"
FOR EVERY 1 SHARES OF "QQQ_TOKEN" SOLD FROM "CryptoExchange"
SELL Trigger for every QQQToken received
SELL 1 SHARES OF "QQQ"
FOR CURRENT_PRICE( "StockExchange", "QQQ" )
FROM "StockeExchange"
FOR EVERY 1 SHARES OF "QQQ_TOKEN" BOUGHT FROM "CryptoExchange"
BUY Trigger for every BTC handed out
BUY 1 BTC OF BTC
FOR CURRENT_PRICE( "CryptoExchange", "USD.BTC" )
FROM "CryptoExchange"
FOR EVERY 1 BTC OF BTC SOLD FROM "CryptoExchange"
SELL Trigger for every BTC received
SELL 1 BTC OF BTC
FOR CURRENT_PRICE( "CryptoExchange", "USD.BTC" )
FROM "CryptoExchange"
FOR EVERY 1 BTC OF BTC BOUGHT FROM "CryptoExchange"
Types of Exchange
Mock Exchange
The mock exchange is an exchange for testing purpose