MACD + RSI + ADX Strategy (ChatGPT-powered) by TradeSmartThis is a trading strategy made by TradeSmart, using the recommendations given by ChatGPT . As an experiment, we asked ChatGPT on which indicators are the most popular for trading. We used all of the recommendations given, and added more. We ended up with a strategy that performs surprisingly well on many crypto and forex assets. See below for exact details on what logic was implemented and how you can change the parameters of the strategy.
The strategy is a Christmas special , this is how we would like to thank the support of our followers.
The strategy has performed well on Forex, tested on 43 1-hour pairs and turned a profit in 21 cases. Also it has been tested on 51 crypto pairs using the 1-hour timeframe, and turned a profit in 45 cases with a Profit Factor over 1.4 in the top-5 cases. Tests were conducted without commission or slippage, unlike the presented result which uses 0.01% commission and 5 tick slippage.
Some of the top performers were:
SNXUSDT
SOLUSDT
CAKEUSDT
LINKUSDT
EGLDUSDT
GBPJPY
TRYJPY
USDJPY
The strategy was implemented using the following logic:
Entry strategy:
Long entry:
Price should be above the Simple Moving Average (SMA)
There should be a cross up on the MACD (indicated by the color switch on the histogram, red to green)
RSI should be above the 50 level
Volume is above the selected volume-based Exponential Moving Average (EMA)
ADX should also agree to this position: below 50 and over 20, and above the Regularized Moving Average (REMA)
Short entry:
Price should be under the Simple Moving Average (SMA)
There should be a cross down on the MACD (indicated by the color switch on the histogram, red to green)
RSI should be below the 50 level
Volume is above the selected volume-based Exponential Moving Average (EMA)
ADX should also agree to this position: below 50 and over 20, and above the Regularized Moving Average (REMA)
Exit strategy:
Stop Loss will be placed based on ATR value (with 1.5 Risk)
Take profit level will be placed with a 2.5 Risk/Reward Ratio
Open positions will be closed early based on the Squeeze Momentum (Long: change to red, Short: change to green)
NOTE! : The position sizes used in the example is with 'Risk Percentage (current)', according which the position size will be determined such
that the potential loss is equal to % of the current available capital. This means that in most of the cases, the positions are calculated using leverage.
Parameters of every indicator used in the strategy can be tuned in the strategy settings as follows:
Plot settings:
Plot Signals: true by default, Show all Long and Short signals on the signal candle
Allow early TP/SL plots: false by default, Checking this option will result in the TP and SL lines to be plotted also on the signal candle rather than just the entry candle. Consider this only when manual trading, since backtest entries does not happen on the signal candle.
Entry Signal:
Fast Length: 12 by default
Slow Length: 26 by default
Source: hlcc4 by default
Signal Smoothing: 9 by default
Oscillator MA Type: EMA by default
Signal Line MA Type: EMA by default
Exit Strategy:
ATR Based Stop Loss: true by default
ATR Length (of the SL): 14 by default
ATR Smoothing (of the SL): EMA by default
Candle Low/High Based Stop Loss: false by default, recent lowest or highest point (depending on long/short position) will be used to calculate stop loss value. Set 'Base Risk Multiplier' to 1 if you would like to use the calculated value as is. Setting it to a different value will count as an additional multiplier. Please select only one active stop loss. Default value (if nothing or multiple stop losses are selected) is the 'ATR Based Stop Loss'.
Candle Lookback (of the SL): 10 by default
Base Risk Multiplier: 1.5 by default, the stop loss will be placed at this risk level (meaning in case of ATR SL that the ATR value will be multiplied by this factor and the SL will be placed that value away from the entry level)
Risk to Reward Ratio: 2.5 by default, the take profit level will be placed such as this Risk/Reward ratio is met
Force Exit based on Squeeze Momentum: true by default, a Long position will be closed when Squeeze Momentum turns red inside an open position and a Short position will be closed when Squeeze Momentum turns green inside an open position
BB Length: 20 by default
BB Mult Factor: 1.0 by default
KC Length: 20 by default
KC Mult Factor: 1.5 by default
Use True Range (KC): Yes by default
Base Setups:
Allow Long Entries: true by default
Allow Short Entries: true by default
Order Size: 1.5 by default
Order Type: Risk Percentage (current) by default, allows adjustment on how the position size is calculated: Cash: only the set cash ammount will be used for each trade Contract(s): the adjusted number of contracts will be used for each trade Capital Percentage: a % of the current available capital will be used for each trade Risk Percentage (current): position size will be determined such that the potential loss is equal to % of the current available capital Risk Percentage (initial): position size will be determined such that the potential loss is equal to % of the initial capital
Trend Filter:
Use long trend filter: true by default, only enter long if price is above Long MA
Show long trend filter: true by default, plot the selected MA on the chart
MA Type (Long): SMA by default
MA Length (Long): 100 by default
MA Source (Long): close by default
Use short trend filter: true by default, only enter long if price is under Short MA
Show short trend filter: false by default, plot the selected MA on the chart
MA Type (Short): SMA by default
MA Length (Short): 100 by default
MA Source (Short): close by default
Simple RSI Limiter:
Limit using Simple RSI: true by default, if set to 'Normal', only enter long when Simple RSI is lower then Long Boundary, and only enter short when Simple RSI is higher then Short Boundary. If set to 'Reverse', only enter long when Simple RSI is higher then Long Boundary, and only enter short when Simple RSI is lower then Short Boundary.
Simple RSI Limiter Type:
RSI Length: 14 by default
RSI Source: hl2 by default
Simple RSI Long Boundary: 50 by default
Simple RSI Short Boundary: 50 by default
ADX Limiter:
Use ADX Limiter: true by default, only enter into any position (long/short) if ADX value is higher than the Low Boundary and lower than the High Boundary.
ADX Length: 5 by default
DI Length: 5 by default
High Boundary: 50 by default
Low Boundary: 20 by default
Use MA based calculation: Yes by default, if 'Yes', only enter into position (long/short) if ADX value is higher than MA (ADX as source).
MA Type: REMA by default
MA Length: 5 by default
Volume Filter:
Only enter trades where volume is higher then the volume-based MA: true by default, a set type of MA will be calculated with the volume as source, and set length
MA Type: EMA by default
MA Length: 10 by default
Session Limiter:
Show session plots: false by default, show crypto market sessions on chart: Sidney (red), Tokyo (orange), London (yellow), New York (green)
Use session limiter: false by default, if enabled, trades will only happen in the ticked sessions below.
Sidney session: false by default, session between: 15:00 - 00:00 (EST)
Tokyo session: false by default, session between: 19:00 - 04:00 (EST)
London session: false by default, session between: 03:00 - 11:00 (EST)
New York session: false by default, session between: 08:00 - 17:00 (EST)
Date Range:
Limit Between Dates: false by default
Start Date: Jul 01 2021 00:00:00 by default
End Date: Dec 31 2022 00:00:00 by default
Trading Time:
Limit Trading Time: false by default, tick this together with the options below to enable limiting based on day and time
Valid Trading Days Global: 1234567 by default, if the Limit Trading Time is on, trades will only happen on days that are present in this field. If any of the not global Valid Trading Days is used, this field will be neglected. Values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) To trade on all days use: 123457
(1) Valid Trading Days: false, 1234567 by default, values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) The script will trade on days that are present in this field. Please make sure that this field and also (1) Valid Trading Hours Between is checked
(1) Valid Trading Hours Between: false, 0930-1600 by default, hours between which the trades can happen. The time is always in the exchange's timezone
Fine-tuning is highly recommended when using other asset/timeframe combinations.
AI
Kioseff Trading - AI-Optimized RSIAI-Optimized RSI
Introducing AI-Optimized RSI: a streamlined solution for traders of any skill level seeking to rapidly test and optimize RSI. Capable of analyzing thousands of strategies, this tool cuts through the complexity to identify the most profitable, reliable, or efficient approaches.
Paired with TradingView's native backtesting capabilities, the AI-Optimized RSI learns from historical performance data. Set up is easy for all skill levels, and it makes fine-tuning trading alerts and RSI straightforward.
Features
Purpose : Uncover optimal RSI settings and entry levels with precision. Say goodbye to random guesses and arbitrary indicator use—this tool provides clear direction based on data.
Target Performance : You set the goal, and AI-RSI seeks it out, whether it's maximizing profits, efficient trading, or achieving the highest win rate.
AI-Powered : With intelligent AI recommendations, the tool dynamically fine-tunes your RSI approach, steering you towards ideal strategy performance.
Rapid Testing : Evaluate thousands of RSI strategies.
Dual Direction : Perfect both long and short RSI strategies with equal finesse.
Deep Insights : Access detailed metrics including profit factor, PnL, win rate, trade counts, and more, all within a comprehensive strategy script.
Instant Alerts : Set alerts and trade.
Full Customization : Test and optimize all RSI settings, including cross levels, profit targets and stop losses.
Simulated Execution : Explore the impact of limit orders and other trade types through simulation.
Integrative Capability : Combine your own custom indicators or others from the TradingView community for a personalized optimization experience.
Flexible Timeframes : Set your optimization and backtesting to any date range.
Key Settings
The image above shows explanations for a list of key settings for the optimizer.
Direction : This setting controls trade direction: Long or Short.
Entry Condition : Define RSI entry: Select whether to trigger trades on RSI crossunders or crossovers.
RSI Lengths Range : Choose the range of RSI periods to test and find the best one.The AI will find the best RSI period for you.
RSI Cross Range : Set the range for RSI levels where crosses trigger trade signals. The AI will find the best level for you.
Combinations : Select how many RSI strategies to compare.
Optimization Type : Choose the goal for optimization and the AI: profit, win rate, or efficiency.
Profit Target : Set your profit target with this setting.
Stop Loss : Decide your maximum allowable loss (stop loss) per trade.
Limit Order : Specify whether to include limit orders in the strategy.
Stop Type : Choose your stop strategy: a fixed stop loss or a trailing stop.
How to: Find the best RSI for trading
It's important to remember that merely having the AI-Optimized RSI on your chart doesn't automatically provide you with the best strategy. You need to follow the AI's guidance through an iterative process to discover the optimal RSI settings and strategy.
1.Starting Your Strategy Setup
Begin by deciding your goals for each trade: your profit target and stop loss. You'll also choose how to manage your stops – whether they stay put (fixed) or move with the price (trailing), and whether you want to exit trades at a specific price (limit orders). Keep the initial settings for RSI lengths and cross ranges at their default to give the tool a broad testing field. The AI's guidance will refine these settings to pinpoint the most effective ones through a process of comprehensive testing.
The image above shows our chart prior to any optimization efforts.
Note: the settings shown above in the key settings section will be used to start our demonstration.
2. Follow AI’s suggestions
Optimization Prompt: After loading your strategy, the indicator will prompt you to change the RSI length range and RSI level range to a better performing range.
Continue changing the RSI length range and RSI level range to match the indicator's suggestions until "Best Found" is displayed!
The image above shows results after we applied the tool’s suggestions. New suggestions have appeared, and we will continue to apply them.
Continue to adjust settings as recommended by the optimizer. If no better options are found, the optimizer will suggest increasing the number of combinations. Repeat this process until the optimizer indicates that the optimal setting has been identified.
Success! With the "Best Found" notification, an optimized RSI is now active. The AI will keep refining the strategy based on ongoing performance, ensuring continuous optimization.
AI Mode
AI Mode incorporates Heuristic-Based Adaptive Learning to fine-tune trading strategies in a continuous manner. This feature consists of two main components:
Heuristic-Based Decision Making: The algorithm evaluates multiple RSI-based trading strategies using specific metrics such as Profit and Loss (PNL), Win Rate, and Most Efficient Profit. These metrics act as heuristics to assist the algorithm in identifying suitable strategies for trade execution.
Online Learning: The algorithm updates the performance evaluations of each strategy based on incoming market data. This enables the system to adapt to current market conditions.
Incorporating both heuristic-based decision-making and online learning, this feature aims to provide a framework for trading strategy optimization.
Settings
AI Mode Aggressiveness:
Description: The "AI Mode Aggressiveness" setting allows you to fine-tune the AI's trading behavior. This setting ranges from “Low” to “High”, with “High” indicating a more assertive trading approach.
Functionality: This feature filters trading strategies based on a proprietary evaluation method. A higher setting narrows down the strategies that the AI will consider, leaning towards more aggressive trading. Conversely, a lower setting allows for a more conservative approach by broadening the pool of potential strategies.
Adaptive Learning Aggressiveness:
Description: When Adaptive Learning is enabled, the "Adaptive Learning Aggressiveness" setting controls how dynamically the AI adapts to market conditions using selected performance metrics.
Functionality: This setting impacts the AI's responsiveness to shifts in strategy performance. By adjusting this setting, you can control how quickly the AI moves away from strategies that may have been historically successful but are currently underperforming, towards strategies that are showing current promise.
Optimization
Trading system optimization is immensely advantageous when executed with prudence.
Technical-oriented, mechanical trading systems work when a valid correlation is methodical to the extent that an objective, precisely-defined ruleset can consistently exploit it. If no such correlation exists, or a technical-oriented system is erroneously designed to exploit an illusory correlation (absent predictive utility), the trading system will fail.
Evaluate results practically and test parameters rigorously after discovery. Simply mining the best-performing parameters and immediately trading them is unlikely a winning strategy. Put as much effort into testing strong-performing parameters and building an accompanying system as you would any other trading strategy. Automated optimization involves curve fitting - it's the responsibility of the trader to validate a replicable sequence or correlation and the trading system that exploits it.
Kioseff Trading - AI-Optimized Supertrend
AI-Optimized Supertrend
Introducing AI-Optimized Supertrend: a streamlined solution for traders of any skill level seeking to rapidly test and optimize Supertrend. Capable of analyzing thousands of strategies, this tool cuts through the complexity to identify the most profitable, reliable, or efficient approaches.
Paired with TradingView's native backtesting capabilities, the AI-Optimized Supertrend learns from historical performance data. Set up is easy for all skill levels, and it makes fine-tuning trading alerts and Supertrend straightforward.
Features
Rapid Supertrend Strategy Testing : Quickly evaluate thousands of Supertrend strategies to find the most effective ones.
AI-Assisted Optimization : Leverage AI recommendations to fine-tune strategies for superior results.
Multi-Objective Optimization : Prioritize Supertrend based on your preference for the highest win rate, maximum profit, or efficiency.
Comprehensive Analytics : The strategy script provides an array of statistics such as profit factor, PnL, win rate, trade counts, max drawdown, and an equity curve to gauge performance accurately.
Alerts Setup : Conveniently set up alerts to be notified about critical trade signals or changes in performance metrics.
Versatile Stop Strategies : Experiment with profit targets, trailing stops, and fixed stop losses.
Binary Supertrend Exploration : Test binary Supertrend strategies.
Limit Orders : Analyze the impact of limit orders on your trading strategy.
Integration with External Indicators : Enhance strategy refinement by incorporating custom or publicly available indicators from TradingView into the optimization process.
Key Settings
The image above shows explanations for a list of key settings for the optimizer.
Set the Factor Range Limits : The AI suggests optimal upper and lower limits for the Factor range, defining the sensitivity of the Supertrend to price fluctuations. A wider range tests a greater variety, while a narrower range focuses on fine-tuning.
Adjust the ATR Range : Use the AI's recommendations to establish the upper and lower bounds for the Average True Range (ATR), which influences the Supertrend's volatility threshold.
ATR Flip : This option lets you interchange the order of ATR and Factor values to quicky test different sequences, giving you the flexibility to explore various combinations and their impact on the Supertrend indicator's performance.
Strategies Evaluated : Adjust this setting to determine how many Supertrend strategies you want to assess and compare.
Enable AI Mode : Turn this feature on to allow the AI to determine and employ the optimal Supertrend strategy with the desired performance metric, such as the highest win rate or maximum profitability.
Target Metric : Adjust this to direct the AI towards optimizing for maximum profit, top win rates, or the most efficient profits.
AI Mode Aggressiveness : Set how assertively the AI pursues the chosen performance goal, such as highest profit or win rate.
Strategy Direction : Choose to focus the AI's testing and optimization on either long or short Supertrend strategies.
Stop Loss Type : Specify the stop loss approach for optimization—fixed value, a trailing stop, or Supertrend direction changes.
Limit Order : Decide if you want to execute trades using limit orders for setting your profit targets, stop losses, or apply them to both.
Profit Target : Define your desired profit level when using either a fixed stop loss or a trailing stop.
Stop Loss : Define your desired stop loss when using either a fixed stop loss or a trailing stop.
How to: Find the best Supertrend for trading
It's important to remember that merely having the AI-Optimized Supertrend on your chart doesn't automatically provide you with the best strategy. You need to follow the AI's guidance through an iterative process to discover the optimal Supertrend settings and strategy.
Optimizing Supertrend involves adjusting two key parameters: the Factor and the Average True Range (ATR). These parameters significantly influence the Supertrend indicator's sensitivity and responsiveness to price movements.
Factor : This parameter multiplies the ATR to determine the distance of the Supertrend line from the price. Higher values will create a wider band, potentially leading to fewer trade signals, while lower values create a narrower band, which may result in more signals but also more noise.
ATR (Average True Range) : ATR measures market volatility. By using the ATR, the Supertrend adapts to changing market volatility; a higher ATR value means a more volatile market, so the Supertrend adjusts accordingly.
During the optimization process, these parameters are systematically varied to determine the combination that yields the best performance based on predefined criteria such as profitability, win rate, or risk management efficiency. The optimization aims to find the optimal Factor and ATR settings.
1.Starting Your Strategy Setup
Begin by deciding your goals for each trade: your profit target and stop loss, or if all trades exit when Supertrend changes direction. You'll also choose how to manage your stops – whether they stay put (fixed) or move with the price (trailing), and whether you want to exit trades at a specific price (limit orders). Keep the initial settings for Supertrend Factor Range and Supertrend ATR Range at their default to give the tool a broad testing field. The AI's guidance will refine these settings to pinpoint the most effective ones through a process of comprehensive testing.
Demonstration Start: We'll begin with the settings outlined in the key settings section, using Supertrend's direction change to the downside as our exit signal for all trades.
2. Continue applying the AI’s suggestions
Keep updating your optimization settings based on the AI's recommendations. Proceed with this iterative optimization until the "Best Found" message is displayed, signaling that the most effective strategy has been identified.
While following the AI's suggestions, we've been prompted with a new suggestion: increase the
number of strategies evaluated. Keep following the AI's new suggestions to evaluate more strategies. Do this until the "Best Found" message shows up.
Success! We continued to follow the AI’s suggestions until “Best Found” was indicated!
AI Mode
AI Mode incorporates Heuristic-Based Adaptive Learning to fine-tune trading strategies in a continuous manner. This feature consists of two main components:
Heuristic-Based Decision Making: The algorithm evaluates multiple Supertrend-based trading strategies using metrics such as Profit and Loss (PNL), Win Rate, and Most Efficient Profit. These metrics act as heuristics to assist the algorithm in identifying suitable strategies for trade execution.
Online Learning: The algorithm updates the performance evaluations of each strategy based on incoming market data. This enables the system to adapt to current market conditions.
Incorporating both heuristic-based decision-making and online learning, this feature aims to provide a framework for trading strategy optimization.
AI Mode Settings
AI Mode Aggressiveness:
Description: The "AI Mode Aggressiveness" setting allows you to fine-tune the AI's trading behavior. This setting ranges from “Low” to “High”, with “High” indicating a more assertive trading approach.
Functionality: This feature filters trading strategies based on a proprietary evaluation method. A higher setting narrows down the strategies that the AI will consider, leaning towards more aggressive trading. Conversely, a lower setting allows for a more conservative approach by broadening the pool of potential strategies.
Optimization
Trading system optimization is immensely advantageous when executed with prudence.
Technical-oriented, mechanical trading systems work when a valid correlation is methodical to the extent that an objective, precisely-defined ruleset can consistently exploit it. If no such correlation exists, or a technical-oriented system is erroneously designed to exploit an illusory correlation (absent predictive utility), the trading system will fail.
Evaluate results practically and test parameters rigorously after discovery. Simply mining the best-performing parameters and immediately trading them is unlikely a winning strategy. Put as much effort into testing strong-performing parameters and building an accompanying system as you would any other trading strategy. Automated optimization involves curve fitting - it's the responsibility of the trader to validate a replicable sequence or correlation and the trading system that exploits it.
Tesla Coil MLThis is a re-implementation of @veryfid's wonderful Tesla Coil indicator to leverage basic Machine Learning Algorithms to help classify coil crossovers. The original Tesla Coil indicator requires extensive training and practice for the user to develop adequate intuition to interpret coil crossovers. The goal for this version is to help the user understand the underlying logic of the Tesla Coil indicator and provide a more intuitive way to interpret the indicator. The signals should be interpreted as suggestions rather than as a hard-coded set of rules.
NOTE: Please do NOT trade off the signals blindly. Always try to use your own intuition for understanding the coils and check for confluence with other indicators before initiating a trade.
MoonFlag DailyThis is a useful indicator as it shows potential long and short regions by coloring the AI wavecloud green or red.
There is an option to show a faint white background in regions where the green/red cloud parts are failing as a trade from the start position of each region.
Its a combination of 3 algos I developed, and there is an option to switch to see these individually, although this has lots of info and is a bit confusing.
It does have alerts and there are text boxes in the indicator settings where a comment can be input - this is useful for webhooks bots auto trading.
Most useful in this indicator is that at the end of each green/long or red/short region there is a label that shows the % gain or loss for a trade.
The label at the end of the chart shows the % of winning longs/shorts and the average % gain or loss for all the longs/shorts within the set test period (set in settings)
So, I generally set the chart initially on a 15min timeframe with the indicator timeframe (in settings) set to run on say 30min or 1hour. I then select a long test period (several plus months) and then optimize the wavelcloud length (in settings) to give the best %profit per trade. (Longs always seem to give better results than shorts)
I then, change the chart timeframe to much faster, say 1min or 5min, but leave the indicator timeframe at 1 hour. In this manner - the label only shows a few trades however, the algo is run at every bar close and when this is set to 1min, this means that losses will be minimised at the bot exits quickly. In comparison - if the chart is on a 15min timeframe - it can take this amount before the bot will exit a trade and by then there could be catastrophic losses.
It is quite hard to get a positive result - although with a bit of playing around - just as a background indicator - I find this useful. I generally set-up on say 4charts all with different timeframes and then look for consistency between the long/short signal positions. (Although when I run as a bot I use a fast timeframe)
Please do leave some comments and get in touch.
MoonFlag (Josef Tainsh PhD)
Unreal Algo [UPRIGHT] (cc)Hello Traders,
It's finally that time, I'm releasing my baby out into the world.
Unreal Algo is the answer to the question you didn't know you were asking.
It's for beginners and advanced traders alike. I've made the settings very customizable, but also easy to just jump right in.
How it works:
It uses tons of calculations, confirmations, and filters to bring you the most accurate predictive algorithm possible. The algo will automatically adjust to different volatility in the market to still provide accurate signals and confirmation. It will automatically show support and resistance in real-time. A Moving Average cloud with speeds varying from extra fast to slow; they will help traders confirm whether they should stay in the trade. Also, I added 2 stoplosses, because the importance of risk management should always be emphasized even with strong accuracy.
Features:
---The Most Accurate Signals on the planet.
--------Buy/Sell, Up/Down direction change, and Red/Green arrows.
--- MA cloud with beautiful color blend that can act as a confirmation of direction.
-------- 17 different types/versions of moving Averages to choose from.
--------Easy line transparency and toggle adjustments.
--------Easy cloud transparency adjustments.
--- Support and Resistance .
--- Advanced PSAR that will show red when bearish while in a bullish trend, and visa-versa.
---Potential Orderblocks that can be extended to show a grid (adding additional support/resistance information).
--- Fibonacci Lines.
--- Pivot bar that changes colors based on pivot direction.
---Resistance Breakout and Support Breakdown Signals .
--- Relative volume & momentum bar coloring.
---Two Separate Stoplosses .
--------Circles change color and flip to top and red for Short, bottom and green for long.
--------Horizontal stoploss that tracks the price and flags to take profit. White for Long and Yellow for short.
---As always... Fully customizable .
Different customization options:
Without stoplosses and Support/Resistance.
Without Support/Resistance, arrows and psar removed.
Added back Support/Resistance, lightened MA cloud
Fully loaded (minus trailing stoploss)
FunctionNNLayerLibrary "FunctionNNLayer"
Generalized Neural Network Layer method.
function(inputs, weights, n_nodes, activation_function, bias, alpha, scale) Generalized Layer.
Parameters:
inputs : float array, input values.
weights : float array, weight values.
n_nodes : int, number of nodes in layer.
activation_function : string, default='sigmoid', name of the activation function used.
bias : float, default=1.0, bias to pass into activation function.
alpha : float, default=na, if required to pass into activation function.
scale : float, default=na, if required to pass into activation function.
Returns: float
FunctionNNPerceptronLibrary "FunctionNNPerceptron"
Perceptron Function for Neural networks.
function(inputs, weights, bias, activation_function, alpha, scale) generalized perceptron node for Neural Networks.
Parameters:
inputs : float array, the inputs of the perceptron.
weights : float array, the weights for inputs.
bias : float, default=1.0, the default bias of the perceptron.
activation_function : string, default='sigmoid', activation function applied to the output.
alpha : float, default=na, if required for activation.
scale : float, default=na, if required for activation.
@outputs float
MLActivationFunctionsLibrary "MLActivationFunctions"
Activation functions for Neural networks.
binary_step(value) Basic threshold output classifier to activate/deactivate neuron.
Parameters:
value : float, value to process.
Returns: float
linear(value) Input is the same as output.
Parameters:
value : float, value to process.
Returns: float
sigmoid(value) Sigmoid or logistic function.
Parameters:
value : float, value to process.
Returns: float
sigmoid_derivative(value) Derivative of sigmoid function.
Parameters:
value : float, value to process.
Returns: float
tanh(value) Hyperbolic tangent function.
Parameters:
value : float, value to process.
Returns: float
tanh_derivative(value) Hyperbolic tangent function derivative.
Parameters:
value : float, value to process.
Returns: float
relu(value) Rectified linear unit (RELU) function.
Parameters:
value : float, value to process.
Returns: float
relu_derivative(value) RELU function derivative.
Parameters:
value : float, value to process.
Returns: float
leaky_relu(value) Leaky RELU function.
Parameters:
value : float, value to process.
Returns: float
leaky_relu_derivative(value) Leaky RELU function derivative.
Parameters:
value : float, value to process.
Returns: float
relu6(value) RELU-6 function.
Parameters:
value : float, value to process.
Returns: float
softmax(value) Softmax function.
Parameters:
value : float array, values to process.
Returns: float
softplus(value) Softplus function.
Parameters:
value : float, value to process.
Returns: float
softsign(value) Softsign function.
Parameters:
value : float, value to process.
Returns: float
elu(value, alpha) Exponential Linear Unit (ELU) function.
Parameters:
value : float, value to process.
alpha : float, default=1.0, predefined constant, controls the value to which an ELU saturates for negative net inputs. .
Returns: float
selu(value, alpha, scale) Scaled Exponential Linear Unit (SELU) function.
Parameters:
value : float, value to process.
alpha : float, default=1.67326324, predefined constant, controls the value to which an SELU saturates for negative net inputs. .
scale : float, default=1.05070098, predefined constant.
Returns: float
exponential(value) Pointer to math.exp() function.
Parameters:
value : float, value to process.
Returns: float
function(name, value, alpha, scale) Activation function.
Parameters:
name : string, name of activation function.
value : float, value to process.
alpha : float, default=na, if required.
scale : float, default=na, if required.
Returns: float
derivative(name, value, alpha, scale) Derivative Activation function.
Parameters:
name : string, name of activation function.
value : float, value to process.
alpha : float, default=na, if required.
scale : float, default=na, if required.
Returns: float
MLLossFunctionsLibrary "MLLossFunctions"
Methods for Loss functions.
mse(expects, predicts) Mean Squared Error (MSE) " MSE = 1/N * sum ((y - y')^2) ".
Parameters:
expects : float array, expected values.
predicts : float array, prediction values.
Returns: float
binary_cross_entropy(expects, predicts) Binary Cross-Entropy Loss (log).
Parameters:
expects : float array, expected values.
predicts : float array, prediction values.
Returns: float
neutronix community bot ML + Alerts 4h-daily (mod. capissimo)Gm traders,
i have been a python programmer for some years studying artificial intelligence for general purpose; after some time i finally decided to have a look at some finance related stuff and scripts.
Moved by curiosity i've decided to make some but decisive modifications to a script i tried to use initially but without success: the LVQ machine learning strategy.
So after studying the charts and indicators, i have rewritten this script made by Capissimo and added heavy filtering thanks to vwap and vwma, then fixed repaint and other issues.
I hope you enjoy it and that it could increase your possibilities of success in trading.
HOW TO USE THE SCRIPT
Add the script to 3h+ charts like for example BTC 4h, 6h, 8h, 12h, daily. (In order for it to work on shorter timeframes charts you can try to change to lookback window but i dont advise it).
Change only rsi and volfilter(volume filtering) settings to try to find the best winrate. Leave dataset to open. Fyi the winrate isn't 100% accurate but can give you a raw vision of final results.
Use alerts included for trading and and in options click on 'Once per bar'. If you have checked 'Reverse Signals' in the control panel you have got more 'risky' signals so be advised if trading futures and stocks.
Exit trade signals not provided, so it is recommended the use of take profits and stop loss (1.5:1 ratio)
As always, the script is for study purposes. Do not risk more than you can spend!
Original LVQ-based strategy made by capissimo
Modified by gravisxv 13/10/2021
Machine Learning: LVQ-based StrategyLVQ-based Strategy (FX and Crypto)
Description:
Learning Vector Quantization (LVQ) can be understood as a special case of an artificial neural network, more precisely, it applies a winner-take-all learning-based approach. It is based on prototype supervised learning classification task and trains its weights through a competitive learning algorithm.
Algorithm:
Initialize weights
Train for 1 to N number of epochs
- Select a training example
- Compute the winning vector
- Update the winning vector
Classify test sample
The LVQ algorithm offers a framework to test various indicators easily to see if they have got any *predictive value*. One can easily add cog, wpr and others.
Note: TradingViews's playback feature helps to see this strategy in action. The algo is tested with BTCUSD/1Hour.
Warning: This is a preliminary version! Signals ARE repainting.
***Warning***: Signals LARGELY depend on hyperparams (lrate and epochs).
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+++/Days
Machine Learning: Logistic RegressionMulti-timeframe Strategy based on Logistic Regression algorithm
Description:
This strategy uses a classic machine learning algorithm that came from statistics - Logistic Regression (LR).
The first and most important thing about logistic regression is that it is not a 'Regression' but a 'Classification' algorithm. The name itself is somewhat misleading. Regression gives a continuous numeric output but most of the time we need the output in classes (i.e. categorical, discrete). For example, we want to classify emails into “spam” or 'not spam', classify treatment into “success” or 'failure', classify statement into “right” or 'wrong', classify election data into 'fraudulent vote' or 'non-fraudulent vote', classify market move into 'long' or 'short' and so on. These are the examples of logistic regression having a binary output (also called dichotomous).
You can also think of logistic regression as a special case of linear regression when the outcome variable is categorical, where we are using log of odds as dependent variable. In simple words, it predicts the probability of occurrence of an event by fitting data to a logit function.
Basically, the theory behind Logistic Regression is very similar to the one from Linear Regression, where we seek to draw a best-fitting line over data points, but in Logistic Regression, we don’t directly fit a straight line to our data like in linear regression. Instead, we fit a S shaped curve, called Sigmoid, to our observations, that best SEPARATES data points. Technically speaking, the main goal of building the model is to find the parameters (weights) using gradient descent.
In this script the LR algorithm is retrained on each new bar trying to classify it into one of the two categories. This is done via the logistic_regression function by updating the weights w in the loop that continues for iterations number of times. In the end the weights are passed through the sigmoid function, yielding a prediction.
Mind that some assets require to modify the script's input parameters. For instance, when used with BTCUSD and USDJPY, the 'Normalization Lookback' parameter should be set down to 4 (2,...,5..), and optionally the 'Use Price Data for Signal Generation?' parameter should be checked. The defaults were tested with EURUSD.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours/Days
Machine Learning: Perceptron-based strategyPerceptron-based strategy
Description:
The Learning Perceptron is the simplest possible artificial neural network (ANN), consisting of just a single neuron and capable of learning a certain class of binary classification problems. The idea behind ANNs is that by selecting good values for the weight parameters (and the bias), the ANN can model the relationships between the inputs and some target.
Generally, ANN neurons receive a number of inputs, weight each of those inputs, sum the weights, and then transform that sum using a special function called an activation function. The output of that activation function is then either used as the prediction (in a single neuron model) or is combined with the outputs of other neurons for further use in more complex models.
The purpose of the activation function is to take the input signal (that’s the weighted sum of the inputs and the bias) and turn it into an output signal. Think of this activation function as firing (activating) the neuron when it returns 1, and doing nothing when it returns 0. This sort of computation is accomplished with a function called step function: f(z) = {1 if z > 0 else 0}. This function then transforms any weighted sum of the inputs and converts it into a binary output (either 1 or 0). The trick to making this useful is finding (learning) a set of weights that lead to good predictions using this activation function.
Training our perceptron is simply a matter of initializing the weights to zero (or random value) and then implementing the perceptron learning rule, which just updates the weights based on the error of each observation with the current weights. This has the effect of moving the classifier’s decision boundary in the direction that would have helped it classify the last observation correctly. This is achieved via a for loop which iterates over each observation, making a prediction of each observation, calculating the error of that prediction and then updating the weights accordingly. In this way, weights are gradually updated until they converge. Each sweep through the training data is called an epoch.
In this script the perceptron is retrained on each new bar trying to classify this bar by drawing the moving average curve above or below the bar.
This script was tested with BTCUSD, USDJPY, and EURUSD.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+/Days
Machine Learning: kNN-based Strategy (mtf)This is a multi-timeframe version of the kNN-based strategy.
GreenCrypto Swing Trade Indicator - GC02Overview: This is a swing trading Indictor works using support & resistance and market trend, it is designed for all type of markets (crypto, forex, stock etc.) and works on all commonly used timeframes (preferably on 1H, 4H Candles).
How it works:
Core logic behind this indicator is to finding the Support and Resistance, we find the Lower High (LH) and Higher Low (HL) to find the from where the price reversed(bounced back) and also we use a custom logic for figuring out the peak price in the last few candles (based on the input "Strength" ). Based on the multiple previous Support and Resistance (HH, HL, LL LH) we calculate a price level, this price level is used a major a factor for entering the trade. Once we have the price level we check if the current price crosses that price level, if it crossed then we consider that as a long/short entry (based on whether it crosses resistance or support line that we calculated). Once we have pre long/short signals we further filter it based on the market trend to prevent too early/late signals, this trend is calculated based on the value from the input field "Factor". Along with this if we don't see a clear trend we do the filtering by checking how many support or resistance level the price has bounced off.
Stop Loss and Take Profit : We have also added printing SL and TP levels on the chart to make the it easier for everyone to find the SL/TP values. Script calculates the SL value by checking the previous support level for LONG trade and previous resistance level for SHORT trades. Take profit are calculated in 1:1 ratio as of now.
Available Inputs:
Strength : Define the strength of the support resistance that we calculate. The lower value means less number of candles used for calculating the support & resistance and vice versa
Factor : Specify what level of trend to use. Using higher value will result script looking using the larger trend (zoomed out trend) and using lesser value will result in using the short trends
Note: For most of the charts you don’t need to change the default values. However, feel free to try it out.
How to use:
Add the script to the chart and once the indicator is load it will display the "long" and "short" entry points along with the stopLoss and takeProfit points.
How to get access:
Send a DM to us for getting access to the script.
Machine Learning: kNN-based StrategykNN-based Strategy (FX and Crypto)
Description:
This strategy uses a classic machine learning algorithm - k Nearest Neighbours (kNN) - to let you find a prediction for the next (tomorrow's, next month's, etc.) market move. Being an unsupervised machine learning algorithm, kNN is one of the most simple learning algorithms.
To do a prediction of the next market move, the kNN algorithm uses the historic data, collected in 3 arrays - feature1, feature2 and directions, - and finds the k-nearest
neighbours of the current indicator(s) values.
The two dimensional kNN algorithm just has a look on what has happened in the past when the two indicators had a similar level. It then looks at the k nearest neighbours,
sees their state and thus classifies the current point.
The kNN algorithm offers a framework to test all kinds of indicators easily to see if they have got any *predictive value*. One can easily add cog, wpr and others.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+++/Days
Relativity BULLS FOREX 50X 4H Algorithm
Hello, this script is the correction of my bull script related to Forex. (Bull market)
Old script :
4H was chosen as the time frame.
Thus, larger pips are at our disposal and we benefit more from the hedge effect of the leverage.
Commissions per trade have been removed to get more realistic commissions.
Because every wrong trade deletes all the 1% position size.
(with leverage effect)
Use the link below to obtain access to this indicator :
KBL PLAY-ZONE PLOTTER - MCX CRUDE OIL
► How To Use This Indicator ?
• New Intraday Trading Levels Will Be Generated At 09:30 AM (UTC +05:30)
• Buy If 5 Minutes Candle Close Above '' BreakOut Buy Here '' Level.
• Sell If 5 Minutes Candle Close Below '' BreakOut Sell Here '' Level.
• Book Profits At Breakout Buy or BreakOut Sell Targets.
• If 1st Call Target Hit , Then Do Not Trade More On That Day.
• If 1st Call StopLoss Hit , Then Only Trade On 2nd Call.
PM us to obtain access.
Candlesticks ANN for Stock Markets TF : 1WHello, this script consists of training candlesticks with Artificial Neural Networks (ANN).
In addition to the first series, candlesticks' bodies and wicks were also introduced as training inputs.
The inputs are individually trained to find the relationship between the subsequent historical value of all candlestick values 1.(High,Low,Close,Open)
The outputs are adapted to the current values with a simple forecast code.
Once the OHLC value is found, the exponential moving averages of 5 and 20 periods are used.
Reminder : OHLC = (Open + High + Close + Low ) / 4
First version :
Script is designed for S&P 500 Indices,Funds,ETFs, especially S&P 500 Stocks,and for all liquid Stocks all around the World.
NOTE: This script is only suitable for 1W time-frame for Stocks.
The average training error rates are less than 5 per thousand for each candlestick variable. (Average Error < 0.005 )
I've just finished it and haven't tested it in detail.
So let's use it carefully as a supporter.
Best regards !
ANN Next Coming Candlestick Forecast SPX 1D v1.0WARNING:
Experimental and incomplete.
Script is open to development and will be developed.
This is just version 1.0
STRUCTURE
This script is trained according to the open, close, high and low values of the bars.
It is tried to predict the future values of opening, closing, high and low values.
A few simple codes were used to correlate expectation with current values. (You can see between line 129 - 159 )
Therefore, they are all individually trained.
You can see in functions.
The average training error of each variable is less than 0.011.
NOTE :
This script is designed for experimental use on S & P 500 and connected instruments only on 1-day bars.
The Plotcandle function is inspired by the following script of alexgrover :
Since we estimate the next values, our error rates should be much lower for all candlestick values. This is just first version to show logic.
I will continue to look for other variables to reach average error = 0.001 - 0.005 for each candlestick status.
Feel free to use and improve , this is open-source.
Best regards.
ANN BTC MTF Golden Cross Period MACDHi, this is the MACD version of the ANN BTC Multi Timeframe Script.
The MACD Periods were approximated to the Golden Cross values.
MACD Lengths :
Signal Length = 25
Fast Length = 50
Slow Length = 200
Regards.
ANN BTC MTF CM Sling Shot SystemHi all, this script was created as a result of ANN training in all time frames of bitcoin data.
Trained data is built on Chris Moody's Sling Shot system.
CM Sling Shot System :
This system automatically generates the ANN output for all time periods.
Therefore, it has multi-time-frame feature.
Artificial Neural Networks training details:
Average Errors
1 minute = 0.005570
3 minutes = 0.006674
5 minutes = 0.007067
15 minutes = 0.010000
30 minutes = 0.009398
45 minutes = 0.010000
1 Hour = 0.006848
2 Hours = 0.006901
3 Hours = 0.009608
4 Hours = 0.009774
1 Day = 0.010000
1 Week = 0.010000
The results look good (All Average Error <= 0.01 ), the Sling Shot Method is also good, but you can also refer to historically slower period averages to filter these arrows a bit more. I leave the decision to you.
Best regards.