Machine Learning: Multiple Logistic Regression
Multiple Logistic Regression Indicator
The Logistic Regression Indicator for TradingView is a versatile tool that employs multiple logistic regression based on various technical indicators to generate potential buy and sell signals. By utilizing key indicators such as RSI, CCI, DMI, Aroon, EMA, and SuperTrend, the indicator aims to provide a systematic approach to decision-making in financial markets.
How It Works:
Technical Indicators:
The script uses multiple technical indicators such as RSI, CCI, DMI, Aroon, EMA, and SuperTrend as input variables for the logistic regression model.
These indicators are normalized to create categorical variables, providing a consistent scale for the model.
Logistic Regression:
The logistic regression function is applied to the normalized input variables (x1 to x6) with user-defined coefficients (b0 to b6).
The logistic regression model predicts the probability of a binary outcome, with values closer to 1 indicating a bullish signal and values closer to 0 indicating a bearish signal.
Loss Function (Cross-Entropy Loss):
The cross-entropy loss function is calculated to quantify the difference between the predicted probability and the actual outcome.
The goal is to minimize this loss, which essentially measures the model's accuracy.
// Error Function (cross-entropy loss)
loss(y, p) =>
-y * math.log(p) - (1 - y) * math.log(1 - p)
// y - depended variable
// p - multiple logistic regression
Gradient Descent:
Gradient descent is an optimization algorithm used to minimize the loss function by adjusting the weights of the logistic regression model.
The script iteratively updates the weights (b1 to b6) based on the negative gradient of the loss function with respect to each weight.
// Adjusting model weights using gradient descent
b1 -= lr * (p + loss) * x1
b2 -= lr * (p + loss) * x2
b3 -= lr * (p + loss) * x3
b4 -= lr * (p + loss) * x4
b5 -= lr * (p + loss) * x5
b6 -= lr * (p + loss) * x6
// lr - learning rate or step of learning
// p - multiple logistic regression
// x_n - variables
Learning Rate:
The learning rate (lr) determines the step size in the weight adjustment process. It prevents the algorithm from overshooting the minimum of the loss function.
Users can set the learning rate to control the speed and stability of the optimization process.
Visualization:
The script visualizes the output of the logistic regression model by coloring the SMA.
Arrows are plotted at crossover and crossunder points, indicating potential buy and sell signals.
Lables are showing logistic regression values from 1 to 0 above and below bars
Table Display:
A table is displayed on the chart, providing real-time information about the input variables, their values, and the learned coefficients.
This allows traders to monitor the model's interpretation of the technical indicators and observe how the coefficients change over time.
How to Use:
Parameter Adjustment:
Users can adjust the length of technical indicators (rsi_length, cci_length, etc.) and the Z score length based on their preference and market characteristics.
Set the initial values for the regression coefficients (b0 to b6) and the learning rate (lr) according to your trading strategy.
Signal Interpretation:
Buy signals are indicated by an upward arrow (▲), and sell signals are indicated by a downward arrow (▼).
The color-coded SMA provides a visual representation of the logistic regression output by color.
Table Information:
Monitor the table for real-time information on the input variables, their values, and the learned coefficients.
Keep an eye on the learning rate to ensure a balance between model adjustment speed and stability.
Backtesting and Validation:
Before using the script in live trading, conduct thorough backtesting to evaluate its performance under different market conditions.
Validate the model against historical data to ensure its reliability.
Multipleindicators
Selective Moving Average: DemoThis indicator produces a conditional moving average based off of your chosen inputs. For example, you can create an EMA that only takes into account closing prices when the 14 period RSI is greater than 50, or a VWMA that tracks hl2 values when the hl2 value is within one standard deviation from the mean. The possibilities are highly configurable to your liking. Please comment below additional conditions you might like me to add to the moving average and I will try my best to get to your feedback.
The following parameters are configurable:
--> Source: This is the source of the moving average that you want to create. You can use external sources if you have another indicator on your chart.
--> Condition: This is the condition that you want to take into account when the moving average is calculating itself. For instance, I have the following conditions pre-built (more to come): Source within 1 standard deviation of the mean (of the source), Source within 2 standard deviations of the mean (of the source), Positive volume, Negative volume, RSI greater than 50, RSI less than 50, Candlestick length greater than body.
--> Length: The length of the selective moving average. For conditions that occur infrequently, a larger length may be necessary to improve accuracy.
--> Average type: The type of moving average (SMA, EMA, RMA, etc.) that you wish to create
--> Condition length: An optional parameter if you are using a condition that depends on a length itself, i.e. the RSI - here you can change the RSI length. The RSI source will be the moving average source, but future updates may separate the two.
Moving Average Multitool CrossoverAs per request, this is a moving average crossover version of my original moving average multitool script .
It allows you to easily access and switch between different types of moving averages, without having to continuously add and remove different moving averages from your chart. This should make backtesting moving average crossovers much, much more easier. It also has the option to show buy and sell signals for the crossovers of the chosen moving averages.
It contains the following moving averages:
Exponential Moving Average (EMA)
Simple Moving Average (SMA)
Weighted Moving Average (WMA)
Double Exponential Moving Average (DEMA)
Triple Exponential Moving Average (TEMA)
Triangular Moving Average (TMA)
Volume-Weighted Moving Average (VWMA)
Smoothed Moving Average (SMMA)
Hull Moving Average (HMA)
Least Squares Moving Average (LSMA)
Kijun-Sen line from the Ichimoku Kinko-Hyo system (Kijun)
McGinley Dynamic (MD)
Rolling Moving Average (RMA)
Jurik Moving Average (JMA)
Arnaud Legoux Moving Average (ALMA)
Vector Autoregression Moving Average (VAR)
Welles Wilder Moving Average (WWMA)
Sine Weighted Moving Average (SWMA)
Leo Moving Average (LMA)
Variable Index Dynamic Average (VIDYA)
Fractal Adaptive Moving Average (FRAMA)
Variable Moving Average (VAR)
Geometric Mean Moving Average (GMMA)
Corrective Moving Average (CMA)
Moving Median (MM)
Quick Moving Average (QMA)
Kaufman's Adaptive Moving Average (KAMA)
Volatility-Adjusted Moving Average (VAMA)
Modular Filter (MF)
Moving Average MultitoolI made this script as a personal tool while backtesting multiple moving averages. It allows you to easily access and switch between different types of moving averages, without having to continuously add and remove different moving averages from your chart.
It also has the option to show the a 14 period average distance between the closing price of an asset and the selected moving average, as a multiple of ATR. This number can be shown by enabling the "Show ATR Between MA and Close" setting. The intention of this value is to quantify and compare the speed of different moving averages across any instrument and any timeframe. The higher the value, the slower the moving average. The lower the value, the faster the moving average.
Baekdoo multi OverSold OverBuy colored CandleHi forks,
I'm trader Baekdoosan who trading Equity from South Korea. This Baekdoo multi OverSold OverBuy colored candle will give you the idea of
multiple indicators in one shot with colored candle. Those indicators tell us that oversold or overbuy statistically. For the color, you can freely change
based on your comfort. For me, in Korea white candle has red color and black candle has blue color. So somewhat confusing for you. Anyway you can
easily modify color in the script. Please refer this line.
barcolor(open<close and result_pos == 4 ? color.new(color.red, 0) : open<close and result_pos == 3 ? color.new(color.red, 25) : open<close and result_pos == 2 ? color.new(color.red, 50) : open<close and result_pos == 1? color.new(color.red, 75) : na)
you can see I put different transparency at color.new() function with color code. Let me divide and conquer to explain for up candle
white candle and black candle.
1. White candle
with 4 oversold signal case with white candle tells us it is almost reached real bottom and try to rebound. In this case, I put vivid color (no transparency) on the candle. And all 4 signal case, I put text on "OverSold". It will not happen frequently. Then 2 approaches can be made.
(a) short term approach
You can buy on this time. and you set stop loss with open price. This is mainly aimed for technical rebound.
(b) long term approach
You can accumulate based on your budget with 5 times dividing. At that day might not be the very bottom but those period will most probably real bottom. You can put more weight on latter buy. Let say, 1 : 1.25 : 1.5 : 1.75 : 2.5. So for example, if you have $8,000 to investigate then, buy $1,000 and then $1,250, $1,500, accordingly. If price rebound then don't adding weight on accumulation but with the first amount that you buy(i.e., $1,000 with above example). With this approach, you will not have much stress and you will get profit well. If this is grand bottom case, then you can HODL this long term. What you needs is stick to the plan. :)
with 3 signals the color is less vivid, 2 signals is much less vivid, accordingly.
2. Black candle
The approaches are opposite to above. The signal will tells us for 4 overBuy signals, then vivid blue candle will be shown. Our strategy is distribute to sell. Please do not sell in one shot. As Newton said, "I can calculate the motions of the heavenly bodies, but not the madness of the people". Strong buy phase, we don't know how far will it go. But indicators will tell us it is quite overSold situation. So what I can suggest you is sell it 10% to 20% on resistance price, and put 50% of lower than certain support price. Remember, accumulation and distribution will always better than one shot trading if you want to survive long time on this war field.
Hope this will help your trading on equity as well as crypto. I didn't try it on futures. Best of luck all of you. Gazua~!
[BTX] Triple TRIX + MAsThis indicator suggest a strategy, which is quite similar to multiple MA or multiple RSI strategies.
This indicator can be used for all timeframes, all markets.
This indicator can help detect the market trend and momentum.
Default values are TRIX - 6, 12, and 24 periods and MA(8) for each TRIX line. You can choose what type of MA to be used (EMA or SMA).
How to exploit this indicator?
- When all of the lower TRIXs are ABOVE the higher one: TRIX(6) is above TRIX(12), and TRIX(12) is above TRIX(24), there is a BULLISH market.
- When all of the lower TRIXs are BELOW the higher one: TRIX(6) is below TRIX(12), and TRIX(12) is below TRIX(24), there is a BEARISH market.
- A crossover of the lower TRIX to the higher one indicates a BUY signal.
- A crossunder of the lower TRIX to the higher one indicates a SELL signal.
- TRIX crossover the Zero line can be considered as a STRONG bullish signal.
- TRIX crossunder the Zero line can be considered as a STRONG bearish signal.
- The MA of TRIX acts as a confirmation, it can be used as SELL signals.
- High slopes of TRIX lines can point out the high momentum of the current trend.
- Divergence patterns can be used with this indicator.
- And many more tricks.
Philosof fib maI like Fibonacci and I think multiple MAs are best for identifying the trend. This one is based on someone else's script. I just need to share it with a friend =)