RSI Strategy with Manual TP and SL 19/03/2024This TradingView script implements a simple RSI (Relative Strength Index) strategy with manual take profit (TP) and stop-loss (SL) levels. Let's break down the script and analyze its components:
RSI Calculation: The script calculates the RSI using the specified length parameter. RSI is a momentum oscillator that measures the speed and change of price movements. It ranges from 0 to 100 and typically values above 70 indicate overbought conditions while values below 30 indicate oversold conditions.
Strategy Parameters:
length: Length of the RSI period.
overSold: Threshold for oversold condition.
overBought: Threshold for overbought condition.
trail_profit_pct: Percentage for trailing profit.
Entry Conditions:
For a long position: RSI crosses above 30 and the daily close is above 70% of the highest close in the last 50 bars.
For a short position: RSI crosses below 70 and the daily close is below 130% of the lowest close in the last 50 bars.
Entry Signals:
Long entry is signaled when both conditions for a long position are met.
Short entry is signaled when both conditions for a short position are met.
Manual TP and SL:
Take profit and stop-loss levels are calculated based on the entry price and the specified percentage.
For long positions, the take profit level is set above the entry price and the stop-loss level is set below the entry price.
For short positions, the take profit level is set below the entry price and the stop-loss level is set above the entry price.
Strategy Exits:
Exit conditions are defined for both long and short positions using the calculated take profit and stop-loss levels.
Chart Analysis:
This strategy aims to capitalize on short-term momentum shifts indicated by RSI crossings combined with daily price movements.
It utilizes manual TP and SL levels, providing traders with flexibility in managing their positions.
The strategy may perform well in ranging or oscillating markets where RSI signals are more reliable.
However, it may encounter challenges in trending markets where RSI can remain overbought or oversold for extended periods.
Traders should backtest this strategy thoroughly on historical data and consider optimizing parameters to suit different market conditions.
Risk management is crucial, so traders should carefully adjust TP and SL percentages based on their risk tolerance and market volatility.
Overall, this strategy provides a structured approach to trading based on RSI signals while allowing traders to customize their risk management. However, like any trading strategy, it should be used judiciously and in conjunction with other forms of analysis and risk management techniques.
Komut dosyalarını "2024年人民币兑美元汇率走势" için ara
Ichimoku OscillatorHello All,
This is Ichimoku Oscillator that creates different oscillator layers, calculates the trend and possible entry/exit levels by using Ichimoku Cloud features.
There are four layer:
First layer is the distance between closing price and cloud (min or max, depending on the main trend)
Second layer is the distance between Lagging and Cloud X bars ago (X: the displacement)
Third layer is the distance between Conversion and Base lines
Fourth layer is the distance between both Leadlines
If all layers are visible maning that positive according to the main trend, you can take long/short position and when main trend changed then you should close the position. so it doesn't mean you can take position when main trend changed, you need to wait for all other conditions met (all layers(
there is take profit partially option. if Conversion and base lines cross then you can take profit partially. Optionally you can take profit partially when EMA line crosses Fourth layer.
Optionally ATR (average true range) is used for Conversion and baseline for protection from whipsaws. you can use it to stay on the trend longer time.
I added options to enable/disable the alert and customize alert messages. You can change alert messages as you wish. if you use ' close ' in the alert message then you can get closing price in the alert message when the alert was triggered.
There is an option Bounce Off Support/Resistance , if there is trend and if the price bounce off Support/Resistance zone then a tiny triangle is shown.
There are many other options for coloring, alerts etc.
Some screenshots:
Main trend:
Taking/closing positions:
Example alert messages:
Bounce off:
Colors:
Colors:
Colors:
Non-colored background:
P.S. For a few months I haven't published any new script because of some health issues. hope to be healthy and create new scripts in 2024 :)
Enjoy!
Volume Heatmap 2024 | NXT2017 Christmas EditionHi big players around the world,
I wish you a merry christmas time.
Today I have a nice present for you: a new volume heatmap indicator for free using!
HISTORY
My first volume heatmap project got a lot of feedback and a big demand. You can find it here:
In this time pinescript version 4 was the newest one and I worked the first time with arrays.
Today we have pinescript version 5 and some new features. This is why I tried again with matrix function and the results are better than I expected.
HOW IT WORKS
The indicator calculates similar like the volume profile. It looks back and every volume where the close price is on the same row area, the volume will cumulated. How much rows the new chart view is showing, you can choose manually.
The mind behind this is to find high volume levels, where high volume catch the price in a range or get function as support/resistance line.
PICTURES
I hope it helps for your trading. You are welcome to give some comments.
Merry christmas and best regards
NXT2017
chrono_utilsLibrary "chrono_utils"
📝 Description
Collection of objects and common functions that are related to datetime windows session days and time ranges. The main purpose of this library is to handle time-related functionality and make it easy to reason about a future bar checking if it will be part of a predefined session and/or inside a datetime window. All existing session functionality I found in the documentation e.g. "not na(time(timeframe, session, timezone))" are not suitable for strategy scripts, since the execution of the orders is delayed by one bar, due to the script execution happening at the bar close. Moreover, a history operator with a negative value that looks forward is not allowed in any pinescript expression. So, a prediction for the next bar using the bars_back argument of "time()"" and "time_close()" was necessary. Thus, I created this library to overcome this small but very important limitation. In the meantime, I added useful functionality to handle session-based behavior. An interesting utility that emerged from this development is data anomaly detection where a comparison between the prediction and the actual value is happening. If those two values are different then a data inconsistency happens between the prediction bar and the actual bar (probably due to a holiday, half session day, a timezone change etc..)
🤔 How to Guide
To use the functionality this library provides in your script you have to import it first!
Copy the import statement of the latest release by pressing the copy button below and then paste it into your script. Give a short name to this library so you can refer to it later on. The import statement should look like this:
import jason5480/chrono_utils/2 as chr
To check if a future bar will be inside a window first of all you have to initialize a DateTimeWindow object.
A code example is the following:
var dateTimeWindow = chr.DateTimeWindow.new().init(fromDateTime = timestamp('01 Jan 2023 00:00'), toDateTime = timestamp('01 Jan 2024 00:00'))
Then you have to "ask" the dateTimeWindow if the future bar defined by an offset (default is 1 that corresponds th the next bar), will be inside that window:
// Filter bars outside of the datetime window
bool dateFilterApproval = dateTimeWindow.is_bar_included()
You can visualize the result by drawing the background of the bars that are outside the given window:
bgcolor(color = dateFilterApproval ? na : color.new(color.fuchsia, 90), offset = 1, title = 'Datetime Window Filter')
In the same way, you can "ask" the Session if the future bar defined by an offset it will be inside that session.
First of all, you should initialize a Session object.
A code example is the following:
var sess = chr.Session.new().from_sess_string(sess = '0800-1700:23456', refTimezone = 'UTC')
Then check if the given bar defined by the offset (default is 1 that corresponds th the next bar), will be inside the session like that:
// Filter bars outside the sessions
bool sessionFilterApproval = view.sess.is_bar_included()
You can visualize the result by drawing the background of the bars that are outside the given session:
bgcolor(color = sessionFilterApproval ? na : color.new(color.red, 90), offset = 1, title = 'Session Filter')
In case you want to visualize multiple session ranges you can create a SessionView object like that:
var view = SessionView.new().init(SessionDays.new().from_sess_string('2345'), array.from(SessionTimeRange.new().from_sess_string('0800-1600'), SessionTimeRange.new().from_sess_string('1300-2200')), array.from('London', 'New York'), array.from(color.blue, color.orange))
and then call the draw method of the SessionView object like that:
view.draw()
🏋️♂️ Please refer to the "EXAMPLE DATETIME WINDOW FILTER" and "EXAMPLE SESSION FILTER" regions of the script for more advanced code examples of how to utilize the full potential of this library, including user input settings and advanced visualization!
⚠️ Caveats
As I mentioned in the description there are some cases that the prediction of the next bar is not accurate. A wrong prediction will affect the outcome of the filtering. The main reasons this could happen are the following:
Public holidays when the market is closed
Half trading days usually before public holidays
Change in the daylight saving time (DST)
A data anomaly of the chart, where there are missing and/or inconsistent data.
A bug in this library (Please report by PM sending the symbol, timeframe, and settings)
Special thanks to @robbatt and @skinra for the constructive feedback 🏆. Without them, the exposed API of this library would be very lengthy and complicated to use. Thanks to them, now the user of this library will be able to get the most, with only a few lines of code!
Bitcoin Stock to FlowModeling Bitcoin's Value With Scarcity
The Stock to Flow model for Bitcoin suggests that Bitcoin price is driven by scarcity over time.
Bitcoin is the first scarce digital object the world has ever seen. It is scarce like silver & gold, and can be sent over the internet, radio, satellite etc. Bitcoin includes a mathematical mechanism to restrict its supply over time making it more rare as time goes on. Digital Scarcity.
In 2017 BTC exceeded the market capitalization of Silver. After the next halving in 2024, Bitcoin will become the hardest asset the world has ever seen, rarer than Gold.
There is only enough Bitcoin in the world for each person to own .0023 BTC. Because of this, Bitcoin's value should continue to rise over time.