### Entropy

Basics of Statistics - I
How to work with indicators
Indicator
Basics of Statistics - II
Entropy Basics
Entropy Core Strategies
Backtest Entropy Alpha Strategy with Futures Data Part I
Backtest Entropy Alpha Strategy with Futures Data Part II
Backtest Entropy Alpha Strategy with Equities Data
Entropy FAQs
Entropy Sessions

# Coding Triple Inside Bar Scanner Using Python and Zerodha

A Triple Inside Bar is a variation of the Inside Bar pattern where there are three consecutive inside bars. In other words, the high and low of each of the three candlesticks are entirely contained within the range of the previous candlestick. This pattern is even rarer and signifies an extended period of consolidation or indecision, often leading to a significant price breakout or trend reversal.

## Prerequisite

To go ahead with this tutorial, One must complete the pre-requsite tutorial which shows how to scan the stocks having Double Inside Bar Pattern.

### The Triple Inside Bar Scanner Using Zerodha KiteConnect API

To scan for a “Triple Inside Bar” pattern (where there are three consecutive inside bars), you can modify the code from the last chapter as follows:
```				```
for symbol in symbol_list:
# Fetch instrument data for the current stock symbol
instruments = kite.ltp([symbol])

# Check if the stock symbol is in the instruments dictionary
if symbol in instruments:
instrument_token = instruments[symbol]['instrument_token']

if instrument_token:
# Fetch historical data for the stock
historical_data = kite.historical_data(instrument_token, '2023-01-01', '2023-09-01', interval='day')

# Initialize variables to track inside bars
inside_bars = []
consecutive_inside_bars = 0  # Initialize a counter for consecutive inside bars

# Iterate through historical data to detect inside bars
for i in range(1, len(historical_data)):
current_candle = historical_data[i]
previous_candle = historical_data[i - 1]

if (current_candle['high'] < previous_candle['high']) and (current_candle['low'] > previous_candle['low']):
inside_bars.append(current_candle)
consecutive_inside_bars += 1
else:
consecutive_inside_bars = 0  # Reset the counter if no inside bar

# Check if there were three consecutive inside bars
if consecutive_inside_bars == 3:
print(f"Triple Inside Bar detected for {symbol} on {current_candle['date']}")
consecutive_inside_bars = 0  # Reset the counter after detection

else:
else:

```
```
The output will be –
```				```
Triple Inside Bar detected for NSE:LALPATHLAB on 2023-02-08 00:00:00+05:30
Triple Inside Bar detected for NSE:SUNPHARMA on 2023-08-10 00:00:00+05:30
Triple Inside Bar detected for NSE:TCS on 2023-03-03 00:00:00+05:30
Triple Inside Bar detected for NSE:NTPC on 2023-06-27 00:00:00+05:30
Triple Inside Bar detected for NSE:FEDERALBNK on 2023-06-20 00:00:00+05:30
```
```

Code Modifications:

1. Introduced a new variable, `consecutive_inside_bars`, to track consecutive Inside Bars.
2. Inside the loop that iterates through historical data, added logic to determine if the current candle and the previous candle form an Inside Bar. If they do, the `consecutive_inside_bars` counter is incremented, and the current candle is added to the `inside_bars` list.
3. If the current candles do not form an Inside Bar, the `consecutive_inside_bars` counter is reset to zero to ensure we’re only counting consecutive Inside Bars.
4. After detecting three consecutive Inside Bars (when `consecutive_inside_bars` reaches 3), a message is printed indicating that a ‘Triple Inside Bar’ pattern has been detected for the current stock on the date of the third Inside Bar candle. Subsequently, the `consecutive_inside_bars` counter is reset to zero for further pattern detection.

These code modifications enable the script to specifically search for the rare ‘Triple Inside Bar’ pattern, consisting of three consecutive Inside Bars, and report the date of occurrence for each stock in the `symbol_list`. This pattern is considered more important because of its rarity and potential significance in predicting price movements.

×Close