Any Screener (Multiple)

dg_factor Uppdaterad   
I suppose it's time to publish something relatively useful :). Here's the first try, Any Screener.

This script is an advanced version of the Alphatrend - Screener that I've coded as a humble "thank you" to Kıvanç Özbilgiç (KivancOzbilgic), who always inspired me.

I developed this version with a unique method because I couldn't find an example with the following features:
  • It presents the valid signal status of multiple indicators for 15 different symbols in the form of a report.
  • It indicates how many bars have passed after the signal has occurred.
  • It indicates the signal direction with dynamic colors and chars.
  • It can also be used for data (just indicator value) that is only intended to be displayed as text. (Default color is grey).
  • Long and short signals can optionally be ploted on the chart.
  • It includes advanced configuration settings.

The screener panel is simple to use. On the far left, assets are listed. The names of the indicators appear at the top. In the column with the name of each indicator, the signals of that indicator appear as green or red. The green ones represent the long signals (uptrend) and the red ones represent the short signals (down trend). The numbers in square brackets indicate how many bars have passed after the last signal has occurred. (For example: According to the indicator at the top, when the green bullish triangle and 21 appeared on allign of BTCUSDT, Bitcoin switched to buy signal 21 bars ago. A tip : If the signal distance is 0, the signal occurred at the current bar. It is recommended to wait for the bar to close before entering the trade). Signal distance is an essential output for both manual and algorithmic trading. Users often require mentioned data the most during real time trading.

There are two sections in the script; indicators and screener.

In the indicator section, you'll find efficient details about switch methods, normalization, avoid pyramyding (in momentum oscillators) etc. On the other hand, I intended to present a "how to example" of a multiple screener, so it has to include more than one indicator.

OTT : Optimized Trend Tracker is developed by dear Anıl Özekşi, known as the "Old Fisherman" :). In my opinion, it is a pretty cool trend-following indicator that offers a mathematical elegance. This indicator aim to detect the current market trend direction, the indicator detect an up-trending market when the support line is superior to the OTT, and a down trending market when the support line is inferior to the OTT. It has three parameters; moving average type, length and percentage. In this version when the percentage parameter is set to 0.0, OTT turns into the selected moving average. And the signals are generated by the crossing of the closing price. It means, this screener is able to compile and present status of moving averages as well. Also VAR (VIDYA) and EVWMA has been re-designed, both moving averages no longer start at zero at the beginning of the chart (That was a big problem for backtests).

PSAR : J. Welles Wilder's Parabolic Stop And Reversal is an important trend following indicator. PSAR detects an up-trending market when below the market price and a down-trend when above. It can work in harmony with OTT according to the parameter combinations.

OSCILLATORS : Also optional three momentum oscillators have been added. MFI (Money Flow Index), RSI (Relative Strength Index) and STOCH (Stochastic %k). All three oscillators are widely used in markets and quite successful in explaining price movements by using different sources. Oscillators generate long and short signals based on oversold and overbought parameters.

VOLATILITY & TREND : There are three optional indicators. ADX (Average Directional Index), BBW-N (Normalized Bollinger Bandwidth) and REG-N (Normalized value of standard error of linear regression). These three indicators don't generate any long or short signals. Instead, they are used to measure the strength of trends and volatility. Therefore, only the numerical results (0-100) are displayed in screener panel and it is grey. (Note : The second length parameter of ADX has the same value with the first one. Bollinger Bandwith's multiplier is 2.0. REG-N is a variable that developed by Paul Kirshenbaum for Kirshenbaum Bands.)

The second section processes the main idea. This Screener model is based on generating an integer direction variable from boolean signals. The direction value serves multiple purposes: calculating the distance of signal, determining the color based on the direction, and creating "clean" data for the security function. The final step is to present the obtained data as text to the user.

That's piece a cake, delete the Section 1 in the script :). If you change totally 11 variables according to your own strategy, you can create your new screener! The method is explained at lines 169-171.

To allanster for patiently answering my primitive questions,
And to KivancOzbilgic for mind blowing suggestions (especially while we're drinking Raki) :)...

This is just an indicator, nothing more. The script is for informational and educational purposes only. The use of the script does not constitute professional and/or financial advice. The responsibility for risks associated with the use of the script is solely owned by the user. Do not forget to manage your risk. And trade as safely as possible. Good luck!
The warning bugs caused by boolean variables have been fixed.
Tooltips have been updated.
Default OTT parameters have been revised (Length & Percent).
Default Oscillator type parameter has been revised.
Plot options have been added.
(Yes, you can rescale and display oscillators by simple three parameters)
This update does not change old calculations. It is intended to make the indicator more understandable for users.
✔ The tooltips are updated.
✔ Pyramiding option and the signals of Oscillator are revised.
✔ The f_data() function is revised.
✔ The Symbols are updated.

When 'Plot' or 'Show Signal' options are activated, the drawing wil be made for the symbol currently loaded on the chart. On the other hand, the data in the Screener Panel is calculated for the symbols defined within the indicator settings. If you observe differences between the values in the drawing and in the panel, please check which symbol is loaded on your chart.

'Plot' veya 'Show Signal' seçeneklerini aktive ettiğinizde yapılan çizim, grafiğinizde halihazırda açık olan sembol için geçerlidir. Tarayıcı panelinde gördüğünüz veriler ise indikatör ayarlarında tanımladığınız semboller için hesaplanır. Çizim ile paneldeki değerler arasında farklılık gözlemlerseniz, grafiğinizde hangi sembolün açık olduğunu kontrol ediniz. Lütfen sorularınızı bu kontrolü gerçekleştirdikten sonra sorunuz :)

Skript med en öppen källkod

I sann TradingView-anda har författaren publicerat detta skript med öppen källkod så att andra handlare kan förstå och verifiera det. Hatten av för författaren! Du kan använda det gratis men återanvändning av den här koden i en publikation regleras av våra ordningsregler. Du kan ange den som favorit för att använda den i ett diagram.

Frånsägelse av ansvar

Informationen och publikationerna är inte avsedda att vara, och utgör inte heller finansiella, investerings-, handels- eller andra typer av råd eller rekommendationer som tillhandahålls eller stöds av TradingView. Läs mer i Användarvillkoren.

Vill du använda det här skriptet i ett diagram?