█ OVERVIEW This script provides string manipulation functions to help Pine coders. █ FUNCTIONS PROVIDED f_strLeft(_str, _n) Function returning the leftmost `_n` characters in `_str`. f_strRight(_str, _n) Function returning the rightmost `_n` characters in `_str`. f_strMid(_str, _from,...
█ OVERVIEW Calculating time-based offsets is necessary when coders need to draw lines or labels into the future because using `xloc = xloc.bar_time` in `label.new()` or `line.new()` is then mandatory. This script provides a function to help with those calculations: f_timeFrom(_from, _qty, _units) The function calculates a negative (into the past) or...
This framework allows Pine coders to quickly build a complete multi-timeframe oscillator from any calculation producing values around a centerline, whether the values are bounded or not. Insert your calculation in the script and you have a ready-to-publish MTF Oscillator offering a plethora of presentation options and features. █ HOW TO USE THE FRAMEWORK 1 —...
Over the years, many FIR filters have been proposed by the Pine community, with the standard way of computing them being `for` loops. The arrival of arrays allows for a new, more efficient way to compute them. This script provides a template showing how you can compute FIR filters using Pine arrays. FIR Filters FIR stands for "Finite Impulse Response", and...
This is a developer friendly solution to the current PineScript limitation of not being able to easily configure presets for multiple timeframes. If you're developing multi-timeframe strategies then you've no doubt done battle with built-in `input` function which only allows for a single default value. You've probably come up with all kinds of fancy workarounds,...
Fresh off the press, we have a new breed of indicators: Bitcoin's Hash Rate & Price. As many of you have read, roughly 80% of BTC's price movements can be correlated to its changes in hash rate volume. I decided to make a stochastic indicator that utilizes this principle to track divergence of the price from the hash rate. Let's break this down... In red is the...
I found MichelT 's work thanks to LucF . One of its cool concepts that touched me was his error's function. Whenever something unexpected takes place, it returns an error's message right on the chart, one nobody can't say they can't see lol. I told him it would be cool if we could get specific messages related to specific cases, he said "there is a task for such...
This script provides a framework to add alerts to a script. It uses a method and provides code that: — Allows the indicator's users to select the plotting of markers representing the different conditions used to trigger alerts. — Allows filtering of the markers on direction: both, longs only, shorts only. — Uses a single alert for the indicator. It will trigger...
Our MTF Selection Framework allows Pine coders to add multi-timeframe capabilities to their script with the following features: ► Timeframe selection The higher timeframe can be selected using 3 different ways: • By steps (60 min., 1D, 3D, 1W, 1M, 1Y). • As a multiple of the current chart's resolution, which can be fractional, so 3.5 will work. • Fixed. ►...
█ WARNING The publication of our LibraryStopwatch has deprecated this publication. █ ORIGINAL DESCRIPTION This script calculates the run time of a Pine script. While its numbers are not very precise and it doesn’t work on all scripts, it will help developers calculate run times more precisely than by hand, and so provides Pine coders with an additional...
Much confusion exists in the TradingView community about backtesting on non-standard charts. This script tries to shed some light on the subject in the hope that traders make better use of those chart types. Non-standard charts are: Heikin Ashi (HA) Renko Kagi Point & Figure Range These chart types are called non-standard because they all transform market...
Visual RSI offers a different way of looking at RSI by providing a composite representation of 9 different RSI-generated components. Instead of focusing on one line only, this approach blends multiple sources to provide the viewer with a larger context RSI-based picture. For those who don’t want to read • Green in bullish (>50) zone is the most bullish. • Red...
Even when your code does not use security() calls, repainting dynamics still come into play in the realtime bar. Script coders and users must understand them and, if they choose to avoid repainting, need to know how to do so. This script demonstrates three methods to avoid repainting when NOT using the security() function. Note that repainting dynamics when ...
The PineCoders Backtesting and Trading Engine is a sophisticated framework with hybrid code that can run as a study to generate alerts for automated or discretionary trading while simultaneously providing backtest results. It can also easily be converted to a TradingView strategy in order to run TV backtesting. The Engine comes with many built-in strats for...
This is a companion script to the PineCoders Backtesting-Trading Engine. It illustrates how to build a signal plot in another script, which can in turn be fed in the Engine to provide entry, exit, filter and stop information. Connection to the Engine is done through its “External Indicator” input field at the very bottom of the Engine’s Settings/Inputs. The...
This script prints a trade number <1000 on the chart. It requires at least 3 bars between successive entries. Look first. Then leap.
█ WARNING The publication of our ConditionalAverages library has deprecated this publication. █ ORIGINAL DESCRIPTION The need to calculate averages (arithmetic mean) comes up here and there in scripts. When you want the average of a value only when a given condition has occurred, you will often not be able to use the standard sma function in Pine because...