So, you have created your strategy on Tradetron. Assuming you know the performance of your strategy, you will also need to tell the system, when and how to execute it. This is where the 'Advanced Settings' section helps you.
Advanced settings have many parameters which you need to set for proper execution. Let us go through them one by one.
Price Execution 1:
This parameter has three inputs. ‘Initiation Price’, ‘Revision attempts’ & ‘Increased by’.
Initiation price: This block is triggered only when you haven't explicitly mentioned what price your trade gets triggered (Buy/Sell) in your position builder.
Note: This does not override your price, set inside the position builder.
-
Market Price: The system will trigger a Market order when your condition is satisfied in the condition builder.
-
Avg of Bid/Ask: The system will first trigger an order which is priced equal to the average of best the Bid and Ask. If the Order is not fulfilled, then the system will revise your price as per the tick size mentioned by you in the ‘Increase by’ section. If it is further not met then the system will continue to revise the price as many times you have mentioned in ‘Revision attempts’ before it moves to 'Price Execution 2' block.
-
Best Price: The system will first trigger an order which is priced equal to best Bid if Buying or best Ask if you are selling. If the Order is not fulfilled, then the system will revise your price as per the tick size mentioned by you in ‘Increase by’ section. If it is further not met then the system will continue to revise the price as many times you have mentioned in ‘Revision attempts’ before it moves to 'Price Execution 2'.
-
LTP: As the name suggests, the system will first trigger an order which is priced equal to last traded price of the instrument. If the Order is not fulfilled, then the system will revise your price as per the tick size mentioned by you in Increase by’ section. If it is further not met then the system will continue to revise the price as many times you have mentioned in ‘Revision attempts’ before it moves to 'Price Execution 2'.
Price Execution 2:
This block is where the system will move if the order is not fulfilled in ‘Price Execution 1’. This block has two parameters, ‘Timeout’ and ‘Final Action’.
-
Timeout: This parameter checks, exactly, after how much time 'Price Execution 2' is triggered after 'Price Execution 1' fails to fulfill your order. This Parameter is also the interval between each revision.
-
Final Action: This parameter has three options, 'Cancel', 'Execute at Market Price' and 'Ignore'. The action you choose, will be taken by the system when 'Price Execution 1' fails to fulfill your order.
-
Cancel: If you have selected 'Cancel' and 'Price Execution 1' fails to fulfill the order, ‘Price Execution 2’ will Cancel your order.
-
Execute at Market Price: If you have selected Execute at ‘Market price’, and 'Price Execution 1' fails to fulfill the order, ‘Price Execution 2’ modifies the existing unfilled limit order placed in 'Price Execution 1' and increases the price by 5% for a buy trade and decreases the price by 5% for a sell trade. If this limit order is still not executed after a price increase/decrease then after a few seconds strategy will cancel the order and set the status to error execution. Note: No new Market order is placed, existing Limit order is modified.
-
Ignore: If you have selected ‘Ignore’ and Price Execution 1' fails to fulfill the order, the open orders will NOT be cancelled and strategy will continue to check the conditions. If open orders are filled later, the quantity won't be updated in positions.
-
Note: Ignore option may leave pending orders open if orders are not filled with Price Execution 1. There can be repeated orders placed incase of strategies with list if orders are not filled with Price Execution 1
Tranching:
This block as two parameters, 'Tranch size' and 'One tranch every'.
As the word itself suggests, this is set for tranching your order size. Let us understand this with an example.
Assume that your strategy wants to buy 100 stocks of ‘SBIN’ when the entry condition is satisfied. And you have set the 'Tranching Size' at 50% with 'One tranch every' at 10 seconds. When the entry condition is satisfied, the system will place a Buy order of 50 stocks(50% of the original order). If this order is fulfilled, the order for remaining 50 is placed after 10 seconds.
Note: If the first tranch is not filled, the second tranch is not executed.
Trailing Stop Loss:
This block has three parameters, 'Activate at', 'When profit Increased by' and 'Increase TSL by'
This parameter takes all absolute and real numbers. Let us understand this by two simple Scenarios.
-
Scenario 1: Let us assume, you are long, 1 SBIN stock at 100 RS.
-
-
Activate at: 3
-
When profit Increased by: 6
-
Increase TSL by: 5
-
-
Activate at | 3 | ||
When profit increased by | 6 | ||
Increase TSL by | 5 | ||
Instru | Buy | LTP | SL Points |
SBIN | 100 | 98 | - |
SBIN | 100 | 99 | - |
SBIN | 100 | 100 | - |
SBIN | 100 | 101 | - |
SBIN | 100 | 102 | - |
SBIN | 100 | 103 | 0 |
SBIN | 100 | 104 | 0 |
SBIN | 100 | 105 | 0 |
SBIN | 100 | 106 | 0 |
SBIN | 100 | 107 | 0 |
SBIN | 100 | 108 | 0 |
SBIN | 100 | 109 | 5 |
SBIN | 100 | 110 | 5 |
SBIN | 100 | 111 | 5 |
SBIN | 100 | 112 | 5 |
SBIN | 100 | 113 | 5 |
SBIN | 100 | 114 | 5 |
SBIN | 100 | 115 | 10 |
SBIN | 100 | 116 | 10 |
SBIN | 100 | 117 | 10 |
SBIN | 100 | 118 | 10 |
-
Scenario 2: Let us assume, you are short, 1 SBIN stock at 100 RS
-
-
Activate at: 3
-
When profit Increased by: 6
-
Increase TSL by: 5
-
-
Activate at | 3 | ||
When profit increased by | 6 | ||
Increase TSL by | 5 | ||
Instru | Buy | LTP | SL Points |
SBIN | 100 | 102 | - |
SBIN | 100 | 101 | - |
SBIN | 100 | 100 | - |
SBIN | 100 | 99 | - |
SBIN | 100 | 98 | - |
SBIN | 100 | 97 | 0 |
SBIN | 100 | 96 | 0 |
SBIN | 100 | 95 | 0 |
SBIN | 100 | 94 | 0 |
SBIN | 100 | 93 | 0 |
SBIN | 100 | 92 | 0 |
SBIN | 100 | 91 | 5 |
SBIN | 100 | 90 | 5 |
SBIN | 100 | 89 | 5 |
SBIN | 100 | 88 | 5 |
SBIN | 100 | 87 | 5 |
SBIN | 100 | 86 | 5 |
SBIN | 100 | 85 | 10 |
SBIN | 100 | 84 | 10 |
SBIN | 100 | 83 | 10 |
SBIN | 100 | 82 | 10 |
Reactivate on exit after:
This is a time parameter.
If your strategy has exited when the 'Universal Exit' block was triggered, it will not loop back to the start. However, if you set this parameter to a time value, then the system will force itself to go back to the start even after the 'Universal Exit' has been triggered.
Check conditions every:
This is a time parameter.
The frequency of looping the Entry/Exit conditions in the condition builder is decided by this parameter.
For example, If you set this to 5 minutes, your conditions will be checked every 5 minutes.
Capital Required:
This is a presumed amount.
Note: The value in this parameter does not affect the execution of the strategy in any way. It is set by the strategy developer purely based on his assumption of capital required.
Take trades:
This parameter has two inputs. ‘First trade after exchange open’ and ‘Last trade before exchange close’.
This parameter checks when is the first time and last time the Entry/Exit conditions are checked.
For example: If your strategy has set the 'Universal Exit' to trigger at 15:25 and 'Last trade before exchange close' is set to 10 minutes (15:20) your strategy will not make an exit as the system will stop checking the conditions after 15:20 as set by this parameter.
Rollover on expiry:
This Parameter takes three inputs. ‘Choose expiry’, ‘Hour’ and ‘Minutes’.
As intuitive the name is, this parameter rolls over your derivative instruments on the day of expiry at the Hour and Minute specified by you.
Note: If you have multiple derivative positions and you want to roll over only one type and square off the other. You will have to handle the square off in your condition builder.
Python code:
This is the parameter where you python created by Tradetron Quant team is added