Skip to content

Commit

Permalink
#v7.2.8
Browse files Browse the repository at this point in the history
Added additional parameters in .ini file to support limit price range check
  • Loading branch information
RajeshSivadasan authored Oct 22, 2021
1 parent 14cafc6 commit 8ad5e65
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 31 deletions.
59 changes: 32 additions & 27 deletions ab_options.ini
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
[tokens]
uid = <uid>
pwd = <pwd>
api_secret = <api_secret>
tokenurltime = 202109240914
access_token = 2glIs_8BcoC9UXnw78dETq55CPno569-VRYcUttR7ik.sBc9XZcCN88cqiCHLCMkNH8wXHiC9wdlFoAxm2hZ0Rk
twofa = 1986
bot_token = <bot_token>
options_bot_token = <bot_token>
chat_id = <telegram_chat_id>
uid = <AliceBlue ID>
pwd = <AliceBlue Password>
api_secret = <AliceBlue api_secret>
tokenurltime = 202110220914
access_token = GE87wKqRmFrrqlenPR2zpTzwhG9cDh8A2HvL3QiTUPo.Ht54KAgz6f72zHKLB94vhVF6UIiNNN8l9HsPAyz-Ypg
twofa = <Your 2FA(Year of Birth)>
bot_token = <Not used in Options>
options_bot_token = <Your Telegram Bot Token>
chat_id = <Your Telegram Chat ID>
enable_bg_process = 1

[realtime]
trade_nfo = 0
trade_bank = 1
enablebo2_nifty = 1
enablebo3_nifty = 1
enablebo2_nifty = 0
enablebo3_nifty = 0
enablebo2_bank = 1
enablebo3_bank = 1
enablebo3_bank = 0
enablebo3 = 0
nifty_sl = 30.0
bank_sl = 30.0
Expand All @@ -39,10 +39,10 @@ nifty_ord_exec_level3 = 0
bank_ord_exec_level1 = 0
bank_ord_exec_level2 = 0
bank_ord_exec_level3 = 0
nifty_strike_ce_offset = 100
nifty_strike_pe_offset = 100
bank_strike_ce_offset = 100
bank_strike_pe_offset = 100
nifty_strike_ce_offset = 200
nifty_strike_pe_offset = 200
bank_strike_ce_offset = 200
bank_strike_pe_offset = 200

[info]
olhc_duration = 3
Expand All @@ -51,14 +51,14 @@ crude_symbol = CRUDEOIL MAY FUT
currency_symbol = USDINR MAY FUT
nifty_lot_size = 50
bank_lot_size = 25
nifty_tgt1 = 30.0
nifty_tgt2 = 60.0
nifty_tgt3 = 150.0
nifty_tgt1 = 20.0
nifty_tgt2 = 100.0
nifty_tgt3 = 300.0
bank_tgt1 = 20.0
bank_tgt2 = 90.0
bank_tgt3 = 200.0
nifty_tsl = 30
bank_tsl = 50
bank_tgt2 = 100.0
bank_tgt3 = 400.0
nifty_tsl = 40
bank_tsl = 40
nifty_sqoff_time = 1515
crude_sqoff_time = 2315
currency_sqoff_time = 1645
Expand All @@ -77,8 +77,8 @@ premarket_decline = 33
enable_nfo = 0
enable_bank = 0
premarket_flag = 0
file_nifty = ./data/NIFTY_OPT_20210924_153106.csv
file_nifty_med = ./data/NIFTY_OPT_MED_20210924_153106.csv
file_nifty = ./data/NIFTY_OPT_20211022_153103.csv
file_nifty_med = ./data/NIFTY_OPT_MED_20211022_153103.csv
file_bank =
file_bank_med =
no_of_trades_limit = 4
Expand All @@ -92,5 +92,10 @@ crude_trade_end_time = 2300
nifty_trade_start_time = 920
nifty_trade_end_time = 1440
nifty_no_trade_zones = [(900,925),(1100,1330)]
file_bn = ./data/BN_20210924_153106.csv
file_bn_med = ./data/BN_MED_20210924_153106.csv
file_bn = ./data/BN_20211022_153103.csv
file_bn_med = ./data/BN_MED_20211022_153103.csv
sl_wait_time = 60
nifty_limit_price_low = 50
nifty_limit_price_high = 350
bank_limit_price_low = 50
bank_limit_price_high = 400
20 changes: 16 additions & 4 deletions ab_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#v7.2.5 TSL logic updated in check_orders() and minor changes in place_sl_order()
#v7.2.6 fixed UnboundLocalError: local variable 'bank_bo1_qty' referenced before assignment
#v7.2.7 check_orders(). Passed trigger price in the modify_order as it was getting triggered immediately
#v7.2.8 Limit price constraint parameterised, updated nifty_buy_opitons. Now nifty options with BO can be enabled


###### STRATEGY / TRADE PLAN #####
Expand Down Expand Up @@ -220,6 +221,11 @@
nifty_trade_start_time = int(cfg.get("info", "nifty_trade_start_time"))
nifty_trade_end_time = int(cfg.get("info", "nifty_trade_end_time"))
sl_wait_time = int(cfg.get("info", "sl_wait_time"))
nifty_limit_price_low = int(cfg.get("info", "nifty_limit_price_low"))
nifty_limit_price_high = int(cfg.get("info", "nifty_limit_price_high"))
bank_limit_price_low = int(cfg.get("info", "bank_limit_price_low"))
bank_limit_price_high = int(cfg.get("info", "bank_limit_price_high"))


lst_nifty_ltp = []
lst_bank_ltp = []
Expand Down Expand Up @@ -543,8 +549,8 @@ def buy_nifty_options(strMsg):

strMsg = strMsg + " Limit Price=" + str(lt_price) + " SL=" + str(nifty_sl)

# Can be parameterised
if lt_price<30 or lt_price>350 :

if lt_price<nifty_limit_price_low or lt_price>nifty_limit_price_high :
strMsg = strMsg + " buy_nifty(): Limit Price not in buying range."
iLog(strMsg,2,sendTeleMsg=True)
return
Expand Down Expand Up @@ -578,7 +584,13 @@ def buy_nifty_options(strMsg):
#---- Intraday order (MIS) , Market Order
# order = squareOff_MIS(TransactionType.Buy, ins_nifty_opt,nifty_bo1_qty)
# order_tag = datetime.datetime.now().strftime("NF_%H%M%S")
order = squareOff_MIS(TransactionType.Buy, ins_nifty_opt,nifty_bo1_qty, OrderType.Limit, lt_price)

bo1_qty = nifty_bo1_qty
if enableBO2_nifty:
bo1_qty = nifty_bo1_qty*2


order = squareOff_MIS(TransactionType.Buy, ins_nifty_opt, bo1_qty, OrderType.Limit, lt_price)
if order['status'] == 'success':
strMsg = strMsg + " buy_nifty(): Initiating place_sl_order(). main_order_id==" + str(order['data']['oms_order_id'])
iLog(strMsg,sendTeleMsg=True) # Can be commented later
Expand Down Expand Up @@ -646,7 +658,7 @@ def buy_bank_options(strMsg):
strMsg = strMsg + " Limit Price=" + str(lt_price) + " SL=" + str(bank_sl)


if lt_price<50 or lt_price>400 :
if lt_price<bank_limit_price_low or lt_price>bank_limit_price_high :
strMsg = strMsg + " buy_bank(): Limit Price not in buying range."
iLog(strMsg,2,sendTeleMsg=True)
return
Expand Down

0 comments on commit 8ad5e65

Please sign in to comment.