Unlocking the Power of Basic Indicator Trading Strategies
Written on
Chapter 1: Introduction to Basic Indicator Strategies
In the world of trading, straightforward technical indicators can often yield significant insights. This article delves into the basic indicator—a simple calculation that positions the market relative to a chosen lookback period.
Having recently published a new book following the success of "Trend Following Strategies in Python," I focus on advanced contrarian indicators and strategies. For those interested, you can find a sample on Amazon or purchase the PDF version linked at the article's conclusion.
Creating the Basic Indicator
The basic indicator counts bullish and bearish candles over a lookback period of five. While it may seem overly simplistic to label it as a technical indicator, its application certainly qualifies it as one.
To compute the basic indicator, follow these two steps:
- Establish the condition where a value of 1 is recorded if the current closing price exceeds the previous closing price, and a value of -1 if it falls below.
- Sum the results from the first step over a lookback period of five.
The following figure illustrates the EURUSD plotted with the basic indicator.
For those using a NumPy array containing OHLC data, here’s a sample code to calculate the indicator:
def add_column(data, times):
for i in range(1, times + 1):
new = np.zeros((len(data), 1), dtype=float)
data = np.append(data, new, axis=1)
return data
def delete_column(data, index, times):
for i in range(1, times + 1):
data = np.delete(data, index, axis=1)return data
def delete_row(data, number):
data = data[number:, ]
return data
def basic_indicator(data, lookback, close, position):
data = add_column(data, 2)
for i in range(len(data)):
if data[i, close] > data[i - 1, close]:
data[i, position] = 1elif data[i, close] < data[i - 1, close]:
data[i, position] = -1for i in range(len(data)):
data[i, position + 1] = np.sum(data[i - lookback + 1:i + 1, position])data = delete_column(data, position, 1)
return data
The following figure presents another example of the basic indicator, illustrating its simplicity. Often, uncomplicated measures can be incredibly valuable, proving that sophisticated calculations are not always necessary for effective signal detection.
It is crucial to focus on the underlying concepts rather than the code itself. Most of my strategies can be found in my books, but understanding the techniques and strategies is paramount.
Strategy Overview
The strategy we will implement using the basic indicator is straightforward and revolves around the concept of a U-turn. A U formation occurs when the indicator drops below a specific threshold, stabilizes, and then rises, resembling the letter "U." Conversely, an inverted U formation occurs when the indicator rises above a threshold, stabilizes, and then falls, resembling an upside-down "U."
The trading conditions are as follows:
- A long (buy) signal is generated when the basic indicator forms a U formation.
- A short (sell) signal is generated when the basic indicator forms an inverted U formation.
The following figure shows the signal chart generated based on these conditions.
The signal function can be defined as follows:
def signal(data, basic_column, buy_column, sell_column):
data = add_column(data, 5)
for i in range(len(data)):
try:
# Bullish signal
if data[i, basic_column] > data[i - 1, basic_column] and data[i - 1, basic_column] == data[i - 2, basic_column] and data[i - 2, basic_column] < data[i - 3, basic_column] and data[i, basic_column] < 0:
data[i + 1, buy_column] = 1
# Bearish signal
elif data[i, basic_column] < data[i - 1, basic_column] and data[i - 1, basic_column] == data[i - 2, basic_column] and data[i - 2, basic_column] > data[i - 3, basic_column] and data[i, basic_column] > 0:
data[i + 1, sell_column] = -1except IndexError:
passreturn data
The next figure displays the signal chart created based on these conditions.
Summary
In conclusion, my aim is to contribute to the realm of objective technical analysis by advocating for transparent techniques and strategies that undergo back-testing before implementation. This approach can help technical analysis shed its reputation for being subjective and lacking scientific grounding.
Consider these steps whenever you encounter a trading technique or strategy:
- Maintain a critical mindset and detach from emotions.
- Back-test using realistic simulation and conditions.
- If potential is identified, optimize and run a forward test.
- Always account for transaction costs and slippage in your evaluations.
- Incorporate risk management and position sizing into your tests.
Finally, even after these precautions, remain vigilant and monitor your strategy, as market dynamics may shift and render the strategy unprofitable.
For those interested in the PDF version of my book, it is priced at 9.99 EUR. Please provide your email in the note before payment to ensure it reaches you correctly. Once received, remember to download it through Google Drive.
Chapter 2: Video Insights on Trading Indicators
In this video, titled "This Is My #1 Indicator For Trading (Full Training)," you will learn about the primary indicator used in trading and its effective application in your strategies.
The second video, "5 BEST Day Trading Indicators for Beginners," provides valuable insights for those just starting in day trading, outlining essential indicators and their uses.