TradingView is a really great tool, but it still lacks a few important features. One of them is Custom Screener. I created a bunch of hacks in Pine Script that can screen up to 40 instruments, but it’s quite limited and in many cases it might not be enough. So I search for another better solution to run custom screeners. The best thing I found was the screener TradeStation. TradeStation is a broker, you just need to have a minimal possible account in TradeStation to use all its features for free. In this article I’m covering RadarScreen tool:
With RadarScreen you can screen up to 1000 instruments and use multiple custom indicators to use in your screener.
Here is how RadarScreen look by default:
To add new symbol double click empty cell under the symbol, this will open “Add Symbol” pop-up.
You can add up to 1000 symbols to your screener. To add another column click Study -> Add Study. This will open an “Add Study” Pop-up where you can add new columns from the existing supported indicators:
On every indicators you can click Edit EasyLanguage and create your own version of indicator. This way you can customize all indicators for your screener.
The code I used in my custom screener:
{ Search Tag: WA-Parabolic SAR }
{ plots Welles Wilder's parabolic indicator }
inputs:
double AfStep( 0.02 ) [
DisplayName = "AfStep",
ToolTip = "Acceleration Factor Step. Enter the step amount for the parabolic acceleration factor."],
double AfLimit( 0.2 ) [
DisplayName = "AfLimit",
ToolTip = "Acceleration Factor Limit. Enter the maximum acceleration factor for the parabolic calculation."];
variables:
intrabarpersist bool InAChart( false ),
int ReturnValue( 0 ),
double oParCl( 0 ),
double oParOp( 0 ),
double oPosition( 0 ),
double oTransition( 0 ),
int CrossBarsAgo( 0 ),
string trend("");
once
begin
InAChart = GetAppInfo( aiApplicationType ) = cChart;
end;
ReturnValue = ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition );
Plot1( oParCl, !( "ParCl" ) );
if oTransition <> 0 then
CrossBarsAgo = 0
else
CrossBarsAgo += 1;
if InAChart = false then
Plot2( CrossBarsAgo, !( "CrossBarsAgo" ) );
if close < oParCl then
trend = "bull"
else
trend = "bear";
Plot3(trend, !("Trend"));
if trend = "bull" then
SetPlotColor(3, Green)
else
SetPlotColor(3, Red);
Follow me on TradingView and YouTube.