Risk ManagementLibrary "RiskManagement"
This library keeps your money in check, and is used for testing and later on webhook-applications too. It has four volatility functions and two of them can be used to calculate a Stop-Loss, like Average True Range. It also can calculate Position Size, and the Risk Reward Ratio. But those calculations don't take leverage into account.
position_size(portfolio, risk, entry, stop_loss, use_leverage, qty_as_integer)
This function calculates the definite amount of contracts/shares/units you should use to buy or sell. This value can used by `strategy.entry(qty)` for example.
Parameters:
portfolio (float) : This is the total amount of the currency you own, and is also used by strategy.initial_capital, for example. The amount is needed to calculate the maximum risk you are willing to take per trade.
risk (float) : This is the percentage of your Portfolio you willing to loose on a single trade. Possible values are between 0.1 and 100%. Same usecase with strategy(default_qty_type=strategy.percent_of_equity,default_qty_value=100), except its calculation the risk only.
entry (float) : This is the limit-/market-price for the investment. In other words: The price per contract/share/unit you willing to buy or sell.
stop_loss (float) : This is the limit-/market-price when to exit the trade, to minimize your losses.
use_leverage (bool) : This value is optional. When not used or when set to false then this function will let you invest your portfolio at max.
qty_as_integer (bool) : This value is optional. When set to true this function will return a value used with integers. The largest integer less than or equal to the given number. Because some Broker/Exchanges let you trade hole contracts/shares/units only.
Returns: float
position_size_currency(portfolio, risk, entry, stop_loss)
This function calculates the definite amount of currency you should use when going long or short.
Parameters:
portfolio (float) : This is the total amount of the currency you own, and is also used by strategy.initial_capital, for example. The amount is needed to calculate the maximum risk you are willing to take per trade.
risk (float) : This is the percentage of your Portfolio you willing to loose on a single trade. For example: 1 is 100% and 0,01 is 1%. Default amount is 0.02 (2%).
entry (float) : This is the limit-/market-price for the current investment. In other words: The price per contract/share/units you willing to buy or sell.
stop_loss (float) : This is the limit-/market-price when to exit the trade, to minimize your losses.
Returns: float
rrr(entry, stop_loss, take_profit)
This function calculates the Risk Reward Ratio. Common values are between 1.5 and 2.0 and you should not go lower except for very few special cases.
Parameters:
entry (float) : This is the limit-/market-price for the investment. In other words: The price per contract/share/unit you willing to buy or sell.
stop_loss (float) : This is the limit-/market-price when to exit the trade, to minimize your losses.
take_profit (float) : This is the limit-/market-price when to take profits.
Returns: float
change_in_price(length)
This function calculates the difference between price now and close price of the candle 'n' bars before that. If prices are very volatile but closed where they began, then this method would show zero volatility. Over many calculations, this method returns a reasonable measure of volatility, but will always be lower than those using the highs and lows.
Parameters:
length (int) : The length is needed to determine how many candles/bars back should take into account.
Returns: float
maximum_price_fluctuation(length)
This function measures volatility over most recent candles, which could be used as an estimate of risk. It may also be effective as the basis for a stop-loss or take-profit, like the ATR but it ignores the frequency of directional changes within the time interval. In other words: The difference between the highest high and lowest low over 'n' bars.
Parameters:
length (int) : The length is needed to determine how many candles/bars back should take into account.
Returns: float
absolute_price_changes(length)
This function measures volatility over most recent close prices. This is excellent for comparing volatility. It includes both frequency and magnitude. In other words: Sum of differences between second to last close price and last close price as absolute value for 'n' bars.
Parameters:
length (int) : The length is needed to determine how many candles/bars back should take into account.
Returns: float
annualized_volatility(length)
This function measures volatility over most recent close prices. Its the standard deviation of close over the past 'n' periods, times the square root of the number of periods in a year.
Parameters:
length (int) : The length is needed to determine how many candles/bars back should take into account.
Returns: float
RRR
Pinescript Risk Reward boxes + Custom 'Time Elapsed' MarkersUsing Pinescript to create custom Risk Reward Ratio (RRR) boxes with custom vertical time markers to help traders stay mindful of how long they've been in a trade.
//Usage:
-Add indicator to chart and you'll be prompted to click three times:
-- 1: Choose time (clicking last bar will mark entry as current candle's open).
-- 2: Click BOX TOP of RRR box on chart (long or short is toggled later).
-- 3: Click BOX BOTTOM of RRR box on chart (long or short is toggled later).
- then toggle Long or short in the dialog box.
-toggle on/off vertical time line markers (as reminder of how long you've been sat in your trade).
-User input choice of time line marker spacings (in minutes).
//Notes:
-Percentage reward and percentage risk are displayed in each of the risk reward boxes. Risk-Reward ratio is also displayed in the upper box.
-Bars to extend the RRR box to the right is also a custom user input.
-Note the 'entry' of the trade will always be the open of the candle you click on (the first click on loading the indicator).
-You can drag the vertical entry time and the horizontal box-top and box-bottom times dynamically, as you like, as trade progresses.
//Use-Case:
-I wanted a RRR box which gave me custom vertical time markers to keep me mindful of overstaying my welcome in a trade that likely was running out of steam and wasn't likely to go my way. Forcing me to stay nimble. I have found in daytrading that if a trade doesn't go your way promptly, it's often not a good one to hold.
The Namib FlowThis is an alert/notification system consisting of the building on the following existing indicators:
Hull Suite by InSilico
Follow Line Indicator by Dreadblitz
QQE MOD by Mihkel00
It is not my strategy - it is based on a video I watched.
It will give and alert/notification once the following conditions are aligned:
Bullish Alert
Hull Suite Line Fully Green
Follow Line Indicator Blue
QQE MOD Green
First Bullish Candle after the three indicators hit the conditions as described above.
Bearish Alert
Hull Suite Line Fully Red
Follow Line Indicator Red
QQE MOD Red
First Bearish Candle after the three indicators hit the conditions as described above.
Notes:
This alert system only works on the first three candles (bullish or bearish after the Hull Suite band color change) otherwise there would be too many candles.
The buy is at the close of the candle.
The SL is at the follow line indicator.
The TP is at a RRR of 1:2.
Comments appreciated.
ATR based Stop and Take-Profit levels in realtime Little tool to quickly identify stops and take-profit levels based on Average True Range. User can change ATR multipiers, as well as the ATR length used. Green and red lines show these levels; plot is visible over last 8 bars only to reduce clutter. Label showing the current ATR, up above the last bar