Some drafts
This commit is contained in:
parent
52aa68b30c
commit
a7277b3d2d
121
specifications/0001_LanguageSyntax.md
Normal file
121
specifications/0001_LanguageSyntax.md
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
# Action Statements
|
||||||
|
|
||||||
|
## SELL Statement
|
||||||
|
```
|
||||||
|
[SELL] [Units] OF [Product]
|
||||||
|
FROM [Exchange]
|
||||||
|
AND
|
||||||
|
[Other Action Statements]
|
||||||
|
FOR EVERY
|
||||||
|
[Units] OF [Product] [SOLD]
|
||||||
|
FROM [Exchange]/ANYWHERE
|
||||||
|
AND/OR
|
||||||
|
[Units] OF [Product] [BOUGHT]
|
||||||
|
FROM [Exchange]/ANYWHERE
|
||||||
|
```
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
```
|
||||||
|
SELL 1 SHARES OF QQQ
|
||||||
|
FROM "MyBrokerAccount"
|
||||||
|
FOR EVERY
|
||||||
|
2 SHARES OF QQQ_TOKEN SOLD
|
||||||
|
FROM "CoinBase"
|
||||||
|
```
|
||||||
|
|
||||||
|
## BUY Statement
|
||||||
|
```
|
||||||
|
[BUY] [Units] OF [Product]
|
||||||
|
FROM [Exchange]
|
||||||
|
AND
|
||||||
|
[Other Action Statements]
|
||||||
|
FOR EVERY
|
||||||
|
[Units] OF [Product] [SOLD]
|
||||||
|
FROM [Exchange]/ANYWHERE
|
||||||
|
AND/OR
|
||||||
|
[Units] OF [Product] [BOUGHT]
|
||||||
|
FROM [Exchange]/ANYWHERE
|
||||||
|
```
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
```
|
||||||
|
BUY 1 SHARES OF BTC_ETF
|
||||||
|
FROM "MyBrokerAccount"
|
||||||
|
FOR EVERY
|
||||||
|
1 BTC OF USD_BTC SOLD
|
||||||
|
FROM "CoinBase"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Other things
|
||||||
|
|
||||||
|
```
|
||||||
|
(set max position=$1000,
|
||||||
|
spread=$10, QQQ etf price(Qetf)=$100. ),
|
||||||
|
then the quote u give is:
|
||||||
|
Bid Ask
|
||||||
|
10shares@$95 10shares@$105
|
||||||
|
($1000 of Qetf). ($1000 of Qetf)
|
||||||
|
|
||||||
|
if a trader hit ur ASK by bidding 2 shares of QQQ token ,then the output quote:
|
||||||
|
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.
|
||||||
|
u dont need to handle his remaining 12 shares , its not ur responsibility, its his "broker/app/program" to deal with unfilled order.
|
||||||
|
so ur quote becomes
|
||||||
|
Bid. Ask
|
||||||
|
10shares@$95
|
||||||
|
($1000 of Qetf).
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
[In reply to Penguin]
|
||||||
|
#Code example:
|
||||||
|
"""
|
||||||
|
set the maximum amount($USD) of QQQ tokens i can sell to traders as [my max position]
|
||||||
|
"""
|
||||||
|
set [my max position$]=[$1000]
|
||||||
|
|
||||||
|
"""set the amount($USD) of sold QQQ token as $0 becoz i havent sold any QQQ tokens before i start my bot
|
||||||
|
"""
|
||||||
|
set [total$].[sold QQQ token] =0
|
||||||
|
|
||||||
|
"""
|
||||||
|
The quantity of the sell order quote i can send to the market is the remaining amount of [my max position], which is [max]-[total].[sold]
|
||||||
|
initially,
|
||||||
|
[my max position$]=$1000,
|
||||||
|
[total$].[sold QQQ token]=0,
|
||||||
|
remaining token=
|
||||||
|
[my max position$] - [total$].[sold QQQ token]=$1000-0=$1000
|
||||||
|
so,
|
||||||
|
[remain$]
|
||||||
|
=[my max position$] - [total$].[sold QQQ token]
|
||||||
|
"""
|
||||||
|
|
||||||
|
#get price quote from the nasdaq
|
||||||
|
[get][QQQ etf price$] from [ib]
|
||||||
|
|
||||||
|
while [total$].[sold QQQ token]
|
||||||
|
<[my max position$]
|
||||||
|
"""find my remaining amount($USD)
|
||||||
|
of qqq tokens i can sell
|
||||||
|
"""
|
||||||
|
[remain$]=
|
||||||
|
[my max position$] - [total$].[sold
|
||||||
|
QQQ token]
|
||||||
|
|
||||||
|
"""convert the remaining
|
||||||
|
amount($USD) to number of shares
|
||||||
|
of qqq tokens i can sell
|
||||||
|
"""
|
||||||
|
[share].[remain$]=
|
||||||
|
[remain$] / [QQQ etf $price]
|
||||||
|
|
||||||
|
#set my Bid Ask spread
|
||||||
|
[price].[Bid]=
|
||||||
|
[QQQ etf $price] - [spread]/2
|
||||||
|
[price].[Ask]=
|
||||||
|
[QQQ etf $price] + [spread]/2
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user