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