Strategy BackTest Display Statistics - TraderHalaiThis script was born out of my quest to be able to display strategy back test statistics on charts to allow for easier backtesting on devices that do not natively support backtest engine (such as mobile phones, when I am backtesting from away from my computer). There are already a few good ones on TradingView, but most / many are too complicated for my needs.
Found an excellent display backtest engine by 'The Art of Trading'. This script is a snippet of his hard work, with some very minor tweaks and changes. Much respect to the original author.
Full credit to the original author of this script. It can be found here: www.tradingview.com
I decided to modify the script by simplifying it down and make it easier to integrate into existing strategies, using simple copy and paste, by relying on existing tradingview strategy backtester inputs. I have also added 3 additional performance metrics:
- Max Run Up
- Average Win per trade
- Average Loss per trade
As this is a work in progress, I will look to add in more performance metrics in future, as I further develop this script.
Feel free to use this display panel in your scripts and strategies.
Thanks and enjoy :)
Tiện ích Pine
Average Price LineThis was published in substitute of the original AVG price line that was already implemented into TradingVIew.
Get the average price in the desired range you want.
Ultra Magic 2.0 [Jay Jani]Have fun in one indicator. Many more to come.//////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
watermarkOverview
This indicator allows you generate a watermark in your charts for your live streams without using additional software.
Features
The main differences with respect to the available tools are:
_ This indicator converts a input text to ascii art in a easy way. That means you won't need to run externals scripts to generate the data required.
_ The watermark can be configured to repeat the message to cover the whole screen or only a specific part.
_ Programmers can use this code as a reference to include additional fonts using ascii art in their charts.
Settings
Below are the available inputs used to configure the watermark:
Text : it's the message shown.
Style : it selects the font style.
Color : the color used in the watermark.
Size : this is used to change the font size.
Position : where the watermark will be applied.
Repetition : number of rows and columns where the watermark is displayed.
Spacing : it defines the horizontal and vertical spacing between the watermarks.
Enable frame : it includes a frame in the watermark.
If you think this type of tools are useful, please consider leave a comment and contact me for additional features.
Ness92
Futures Exchange Sessions 3.0Description
The ultimate conclusion to the Futures Exchange Sessions 2.0 indicator. In version 3.0 the user gets full control of the start and end times of three separate dynamic boxes and one horizontal line. If the user wants to visually keep track of killzones, lunches, or any other time span in a trading day, version 3.0 will dynamically expand and keep track of price within the time specified by the user.
Inputs and Style
Everything about the three dynamic boxes and one horizontal line can but independently configured. Color, style, border, width can all be adjusted. In the Settings each box has a text box so the user can give each one a unique name.
Timezone
All of the start and end times are in EST. Additionally, each box and line need a dependent start of each day. This is controlled by a setting where the user can specify a timezone called Start Day Timezone which would be midnight of the respective timezone. In general if a box or line resides within a particular Session pick the corresponding timezone. If the users box/line fits in the Asian Session then choose Asia/Shanghai. If the box/line is within the London Session then choose Europe/London. And the same goes for the New York Session.
Special Notes
If start time is within one period of the Start Day Timezone in the Settings, then the line/box won't display
Boxes and time lines only display when timeframe is <= 30 minute
To turn off box text label set opacity to 0%
Light or Dark Mode Tutorial - Luminance DetectionAs a colorblind trader, I think accessibility is a big deal. This script auto detects the chart background color and optimizes text color based on luminance.
Luminance detection is based on pine script new chart.bg_color feature, allowing lines, tables, etc to be optimized. Thanks to TV team for releasing this in the latest update/blog post today! This makes it simple to optimize scripts based off the knowledge that max luminance = 765 (rgb 255 + 255 + 255), thus we know that lum <= 383 is "dark mode" and lum > 383 is "light mode".
Try changing the chart background color and see how this script changes the table printed on the chart. I hope more script authors will begin to utilize this concept and that even better contrast detection may be built future pine script iterations.
DeQuex AlgoHello everyone,
This indicator uses MACD and RSI, to show buy and sell signals.
Signal Features:
Buy Signal: Chart gives a buy signal when the MACD crosses above.
Sell Signal: Chart gives a sell signal when the MACD crosses down.
Strong Buy Signal: Chart gives a strong buy signal when the MACD and RSI cross above.
Storng Sell Signal: Chart gives a strong sell signal when the MACD and RSI cross down.
Highligh Price Bars: This option is enabled by default, it shows the trend colored for easy understanding of the trend. Green bars mean the trend is going up, Red bars means the trend is going down and, the last one is purple bars they are means that unknown trend so you can understand for example if the purple bar has happened on the green trend you can understand the trend power slowly decrease.
You can set up an alarm for each signal type.
Best regards,
BrandonJames1337
Listado CCL - price of the dollar in ArgentinaThis Script print different CCL values (Argentinian dolar).
Each value is based in a different Ticker and is calculated based in ADRs and local stocks using the corresponding formula.
The Script can be used regardless of the ticker used in the Design.
The values are calculated based on the close value of the last bar.
Was not taken into account the opperated volume, therefore it is important not to make investment decisions based on the information provided by this script.
Binance Futures Swap-Spot Basis LabelNote: This script will only work with Binance Futures Symbols
This script calculates the basis between the Binance Future and Binance Spot market for the coin you are currently viewing and paints a label on the chart which displays the percentage difference between future and spot. If the future is trading below the spot market the text will be red indicating backwardation and if the future is trading above spot, it will be green indicating contango. Please note this script will only work on Binance perps against Binance spot. The script will change based on what perp you are looking at, no inputs are required.
Future PreviewFuture Preview
Calculate real-time future order profit with open price, leverage and commission fee. Simple and straight forward. If you need any additional feature, please leave a comment below. I am glad to help.
Usage:
When adding Future Preview to chart, it will ask order open time and open price on the chart by clicking with left mouse on the desired value. These value can be changed lately, as well as the leverage and commission fee. Default leverage is 10 and default commission fee is 0.06% (taker).
There will be two horizontal lines. The solid longer line is the open price line, it shows the order open price. The shorter line moving with real-time price is the current price line, it shows the current price. There will be preview data shows on top or below the price line. Open price line is red for short order and green for long order. The current price line is red when the order is losing and it is green when it profiting. The back ground color follows the color of current price line. Background color transparency and gain/loss color can be changed in options.
There will be one horizontal line on the left if the option of showing open time is on (default is on). It shows the time stamp when current order opened.
After adding Future Preview to chart, there is option to add Taking Profit(TP) or Stop Loss(SL) to the chart.
Font size can be changed in option
MPF EMA Cross Strategy (8~13~21) by Market Pip FactoryThis script is for a complete strategy to win maximum profit on trades whilst keeping losses at a minimum, using sound risk management at no greater than 1.5%
The 3x EMA Strategy uses the following parameters for trade activation and closure.
1/ Daily Time Frame for trend confirmation
2/ 4 Hourly Time Frame for trend confirmation
3/ 1 Hourly Time Frame for trend confirmation AND trade execution
4/ 3x EMAs (Exponential Moving Averages)
* EMA#1 = 8 EMA (Red Color)
* EMA#2 = 13 EMA (Blue Color)
* EMA#3 = 21 EMA (Orange Color)
5/ Fanning of all 3x EMAs and CrossOver/CrossUnder for Trend Confirmation
6/ Price Action touching an 8 EMA for trade activation
7/ Price Action touching a 21 EMA for trade cancellation BEFORE activation
* For LONG trades: 8 EMA would be ABOVE 21 EMA
* For SHORT trades: 8 EMA would be BELOW 21 EMA
* For trade Cancellation, price action would touch the 21 EMA before trade is activated
* For trade Entry, price action would touch 8 EMA
Once trigger parameter is identified, entry is found by:
a) Price action touches 8 EMA (Candle must Close for confirmed Trade preparation)
b) Trade preparation can be cancelled before trade is activated if price action touches 21 EMA
c) Trailing Stop Loss can be used (optional) by counting back 5 candles from current candle
CLOSURE of a Trade is identified by:
e) 8 EMA crossing the 21 EMA, then close trade, no matter LONG or SHORT
f) Trail Stop Loss
IMPORTANT:
g) No more than ONE activated trade per EMA crossover
h) No more than ONE active trade per pair
NOTE: This strategy is to be used in conjunction with Cipher Twister (my other indicator) to reduce trades on
sideways price action and market trends for super high win ratio.
NOTE: Enabling of LONGs and SHORTs Via Cipher Twister is done by using the previous
green or red dot made. Additionally, when the trend changes, so do the dot's validity based
on being above or below the 0 centerline.
----------------------------
Strategy and Bot Logic
----------------------------
.....::: FOR SHORT TRADES ONLY :::.....
The Robot must use the following logic to enable and activate the SHORT trades:
Parameters:
$(crossunder)=8EMA,21EMA=Bearish $(crossover)=8EMA,21EMA=Bullish $entry=SELL STOP ORDER (Short)
$EMA#1 = 8 EMA (Red Color) $EMA#2 = 13 EMA (Blue Color) $EMA#3 = 21 EMA (Orange Color)
Strategy Logic:
1/ Check Daily Time Frame for trend confirmation if:
(look back up to 50 candles - find last cross of EMAs)
$(chart)=daily and trend=$(crossunder) then goto 2/ *Means: crossunder = ema21 > ema8
$(chart)=daily and trend=$(crossover) then stop (No trades) *Means: crossover = ema8 > ema21
NOTE: This function is switchable. 0=off and 1=on(active). Default = 1 (on)
2/ Check 4 Hourly Time Frame for trend confirmation if:
(look back up to 50 candles - find last cross of EMAs)
$(chart)=4H and trend=$(crossunder) then goto 3/ *Means: crossunder = ema21 > ema8
$(chart)=4H and trend=$(crossover) then stop (No trades) *Means: crossover = ema8 > ema21
NOTE: This function is switchable. 0=off and 1=on(active). Default = 1 (on)
3/ 1 Hourly Time Frame for trend confirmation AND trade execution if:
(look back up to 50 candles - find last cross of EMAs)
$(chart)=1H and trend=$(crossunder) then goto 4/ *Means: crossunder = ema21 > ema8
$(chart)=1H and trend=$(crossover) then stop (No trades) *Means: crossover = ema8 > ema21
4/ Trade preparation:
* if Next (subsequent) candle touches 8EMA, then set STOP LOSS and ENTRY
* $stoploss=3 pips ABOVE current candle HIGH
* $entry=3 pips BELOW current candle LOW
5/ Trade waiting (ONLY BEFORE entry is hit and trade activated):
* if price action touches 21 EMA then cancel trade and goto 1/
Note: Once trade is active this function does not apply !
6/ Trade Activation:
* if price activates/hits ENTRY price, then bot activates trade SHORTs market
7/ Optional Trailing stop:
* if active, then trailing stop 3 pips ABOVE previous HIGH of previous 5th candle
or * Move Stop Loss to Break Even after $X number of pips
NOTE: This means count back and apply accordingly to the 5th previous candle from current candle.
NOTE: This function is switchable. 0=off and 1=on(active). Default = 0 (off)
8/ Trade Close ~ Take Profit:
* Only TP when
$(chart)=1H and trend=$(crossover) then close trade ~ Or obviously if Stop Loss is hit if 7/ is activated.
----------END FOR SHORT TRADES LOGIC----------
.....::: FOR LONG TRADES ONLY :::.....
The Robot must use the following logic to enable and activate the LONG trades:
Parameters:
$(crossunder)=8EMA,21EMA=Bearish $(crossover)=8EMA,21EMA=Bullish $entry=BUY STOP ORDER (Long)
$EMA#1 = 8 EMA (Red Color) $EMA#2 = 13 EMA (Blue Color) $EMA#3 = 21 EMA (Orange Color)
Strategy Logic:
1/ Check Daily Time Frame for trend confirmation if:
(look back up to 50 candles - find last cross of EMAs)
$(chart)=daily and trend=$(crossover) then goto 2/ *Means: crossover = ema8 > ema21
$(chart)=daily and trend=$(crossunder) then stop (No trades) *Means: crossunder = ema21 > ema8
NOTE: This function is switchable. 0=off and 1=on(active). Default = 1 (on)
2/ Check 4 Hourly Time Frame for trend confirmation if:
(look back up to 50 candles - find last cross of EMAs)
$(chart)=4H and trend=$(crossover) then goto 3/ *Means: crossover = ema8 > ema21
$(chart)=4H and trend=$(crossunder) then stop (No trades) *Means: crossunder = ema21 > ema8
NOTE: This function is switchable. 0=off and 1=on(active). Default = 1 (on)
3/ 1 Hourly Time Frame for trend confirmation AND trade execution if:
(look back up to 50 candles - find last cross of EMAs)
$(chart)=1H and trend=$(crossover) then goto 4/ *Means: crossover = ema8 > ema21
$(chart)=1H and trend=$(crossunder) then stop (No trades) *Means: crossunder = ema21 > ema8
4/ Trade preparation:
* if Next (subsequent) candle touches 8EMA, then set STOP LOSS and ENTRY
* $stoploss=3 pips BELOW current candle LOW
* $entry=3 pips ABOVE current candle HIGH
5/ Trade waiting (ONLY BEFORE entry is hit and trade activated):
* if price action touches 21 EMA then cancel trade and goto 1/
Note: Once trade is active this function does not apply !
6/ Trade Activation:
* if price activates/hits ENTRY price, then bot activates trade LONGs market
7/ Optional Trailing stop:
* if active, then trailing stop 3 pips BELOW previous LOW of previous 5th candle
or * Move Stop Loss to Break Even after $X number of pips
NOTE: This means count back and apply accordingly to the 5th previous candle from current candle.
NOTE: This function is switchable. 0=off and 1=on(active). Default = 0 (off)
8/ Trade Close ~ Take Profit:
* Only TP when
$(chart)=1H and trend=$(crossunder) then close trade ~ Or obviously if Stop Loss is hit if 7/ is activated.
----------END FOR LONG TRADES LOGIC----------
IMPORTANT:
* If an existing trade is already open for that same pair, & price action touches 8EMA, do NOT open a new trade..
* bot must continuously check if a trade is currently open on the pair that triggers
* New trades are to be only opened if there is no active trade opened on current pair.
* Only 1 trade per pair rule !
* 5 simultaneous open trades (not same pairs) default = 5 but value can be changed accordingly.
* Maximum risk management must not exceed 1.5% on lot size
*** Some features are not yet available autoated, they will be added in due course in subsequent version updates ***
Strategy Multiple Orders + Statistics Template - EducationalHello traders
It's been a while
We're back in a bear market so I have a bit more time to publish new Pine scripts for the TradingView community
Special thanks to @fikira for his Multiple Orders script () and to @carnagecain for allowing me to publish this script we worked together on
I got widely inspired by @fikira's script for that one
This script is for educational purposes only - I wanted to show how we can add multiple TPs/SL + a table with custom statistics
In this Strategy template, users can define multiple take-profit and multiple stop-loss levels.
Basically, we have 4 trades per trend and each trade has its own SL/TP
Statistics
Stats are split per trade direction (Long, Short) and then consolidated
I put custom stats in that table such as:
- Probability of Win
- Probability of Loss
- Avg Profit/Loss per Trade
- APPT: (Probability of Win * Average Gross Profit) - (Probability of Loss * Average Loss)
- Number of times each TP/SL has been hit
I'm catching up with all recent pinescript features as we speak - more educational scripts template to come soon
Best Regards
Dave
Simple HashmapA very simple Hashmap in Pinescript version 4
It uses two arrays one to store indices and one to store values
currently this only supports keys of type int and values of type floats.
index array: (20, 30, 80, 90)
value array: (9.1,8.1,6.5,3.5)
You can access the value 9.1 by using the key 20.
No fancy hash functions were used just a very simple practical mechanism.
{QG}Spread CandelsticksThis indicator charts the spread between 2 instruments in a subwindow and it has a multiplier for calculating dollar value or volatility for those 2 instruments,
I have shown a sample spread between NQ and ES with multipliers representing the dollar value per point.
The indicator can then be applied to this spread candelsticks indicator.
Streamer WatermarkThis unique indicator doesn’t help you trade but it makes your charts look super clean and professional in images and live streams! This indicator works by displaying two tables. The first table has day of the week, date, and free form text. The second table has ticker symbol and timeframe of the current chart.
Everything about the tables and the cells is completely controllable by the user! Here is a breakdown of how customizable the user can make this indicator:
Table:
Toggle each table to be displayed on or off
Move each table into 9 different locations around the chart
Move each table separately
Table background color and transparency
Table border color and transparency
Table border width
Table frame width
Cells:
Each cell can be individually toggled on or off (the table will resize dynamically)
Cell text color and transparency
Text size with 6 different options
Date format with 12 different formats
Input Text:
Text
Emoji
Text & emojis
ASCII characters
Symbols
Anything that can by copied and pasted
Any combination of the above
Notes
Use text size “Auto” if viewing the same chart on desktop and on smart phone (Auto makes the text scale based upon screen size)
Gallery
Disclaimer
Please read the TradingView House Rules carefully before using this indicator to add text, symbols, characters, or anything else to your charts and posting on TradingView Ideas or Scripts. This indicator and the author are not responsible for users not reading, fully understanding, and abiding by TradingView’s House Rules. Please watermark responsibly.
All-Time-High Drops and Bounces ScreenerThis screener tracks the following for up to 40 assets:
All-Time-High
Days since ATH
Percentage drop from ATH
Bounce off the low after ATH
Thanks to @QuantNomad and @MUQWISHI for building the base for this screener. I only adjusted it to show different data.
pineCalc- Calculator for PineHello and welcome to v1.00 of pineCalc - the calculator for Pine
A sleek, quick, and discrete calculator in a window pane in your chart!
Right now it supports basic math operation and series of two numbers but will try to update it and don't hesitate to comment any ideas
SOME FEATURES:
- Supports decimal numbers.
- Switch statement with option to choose Addition, Subtraction, Multiplication , or Division
- Choose any two numbers to use math on
- Inputs, Math Type and Result Output
Simple Percentage Change IndicatorFeatures:
- Shows % change per Bar.
- Shows countdown per bar.
- Shows Day, Month, and Yearly % Change in Bottom Right Corner.
Highlight last bar, work on all timeframe, v4 & v5 @magnummHighlight last bar only. No refresh needed.
Works on all time frame and for version 4 & 5.
Can be added in your own scripts copy/pasting just one line.
//DON'T FORGET TO HYDRATE
RaenonX - NQ 7 InfluenceShows the top 7 NASDAQ 100 component stock (AAPL, MSFT, GOOG, AMZN, TSLA, NVDA, FB) influence as plot.
RaenonX - NQ 7 DashboardPlaces a table at the bottom right side showing the top 7 stocks (AAPL, MSFT, GOOG, AMZN, TSLA, NVDA, FB) current position for the given MA and daily position.
The 2nd row shows the current position related to the prior day open/high/low. There are 4 possible values:
H+ : Higher than the prior day high - indicates bullish in daily timeframe.
O+ : Higher than the prior day open - indicates pro-bullish consolidation in daily timeframe.
L+ : Higher than the prior day low - indicates pro-bearish consolidation in daily timeframe.
L- : Lower than the prior day high - indicates bearish in daily timeframe.
The 3rd row shows the current position related to the given SMA parameters. The default period is 22 using 5 minutes timeframe. There are 4 possible values:
B+ : Higher than the SMA upper band - indicates bullish movement.
+ : Higher than the SMA - indicates pro-bullish movement, possibly consolidating.
- : Lower than the SMA - indicates pro-bearish movement, possibly consolidating.
B- : Lower than the SMA lower band - indicates bearish movement.
Template Signal IndicatorThis script is an example on how to create a custom indicator that produce start/end long/short deal signals based on configurable conditions from internal and external indicators.
This indicator can be used as an external indicator to other strategies like "Template Trailing Strategy" that will execute the deals and enter the desired positions based on the signals produced by this script.
Combining this script with the aforementioned strategy (or any other compatible) has the advantage that you can backrest the results of your custom deal conditions. Also additional functionality that is provided by the strategy can be utilized (e.g. Take Profit Targets, Trailing Stop Loss etc.).
In this particular example I combined the RSI and Stoch RSI indicators (internal) with the "Trend Explorer" indicator (external) so it produces buy and sell signals based on the logic I defined in the input tab of this indicator. To combine "indicators on indicators" you need Pro+ TV subscription.
The convention I use to communicate the signals is the following (2 -> enter long, 1 -> exit long, -2 -> enter short, -1 ->exit short). However, this convention is also configurable in the consumer/strategy script "Template Trailing Strategy" so make sure that both script "speak the same language" before procced.
No Active BarThis is probably the only script on TradingView that's clinically proven to lower your blood pressure!***
This script in conjunction with some chart settings changes can completely hide the active candle, only showing historic candles, thus, reducing risk of cardiac arrest and or panic attack.
What to do:
0. Make sure you are using a candlestick chart or this script won't work properly
1. Right click the chart and select "Settings..."
2. Select "Symbol" under the "Chart Settings" menu
3. Disable every item EXCEPT for the "Body"
4. Click on the boxes next to "Body" to access the color picker then change both box's transparency settings down to 0
(the script only colors closed bars, so the active bar will be present just transparent)
5. Right click on the price scale on the far left or far right side of the screen and hover the mouse over "Labels". If any selections have a check mark next to them click them to disable them (especially the "Ask & Bid" price setting since it tracks current price)
That's it! Instead of wicks the High & Low prices are plotted above and below the candles using a step line. It looks a bit strange at first but you'll get used to it. Check out the indicator settings to change the color and style of the High & Low lines.
***The statement could prove true for some but is mostly complete bullshit