Creating an excellent custom screener in TradeStation in minutes

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.

This image has an empty alt attribute; its file name is wide.png

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.