Screener Panel.
- This indicator displays a panel with a list of symbols and their indications.
- It can be used as a screener for multiple timess and symbols
- in any timeframe and with any indication in any combination.
#### Features - Multiple timeframes
- Multiple symbols
- Multiple indications per group
- Vertical or horizontal layouts
- Acceepts External Inputs
- Customizable colors with 170 presets included (dark and light)
- Customizable icons
- Customizable text size and font
- Customizable cell size width and height
- Customizable frame width and border width
- Customizable position
- Customizable strong and weak values
- Accepts any indicator as input
- Only 4 functions to call, easy to use
#### Usage - Initialize the panel with _paneel = cleanscreens.init()
- Add groupd with _screener = cleanscreens.Screener(_paneel, "Group Name")
- Add indicators to screeener groups with cleanscreens.Indicator(_screener, "Indicator Name", _source)
- Update the panel with cleanscreens.display(_paneel)
Thanks @ PineCoders , and the Group members for setting the bar high.
# local setup for methods on our script
method Screener ( panel p, string _name) => cleanscreens.Screener ( p, _name)
method Indicator ( screener s , string _tf, string name, float val) => cleanscreens.Indicator ( s , _tf, name, val)
method display ( panel p ) => cleanscreens.display ( p )
init(_themein, loc)
# Panel init
> init a panel for all the screens
Parameters:
_themein (string): string: Theme Preset Name
loc (int): int :
1 = left top,
2 = middle top,
3 = right top,
4 = left middle,
5 = middle middle,
6 = right middle,
7 = left bottom,
8 = middle bottom,
9 = right bottom
Returns: panel
method Screener(p, _name)
# Screener - Create a new screener
### Example:
Namespace types: panel
Parameters:
p (panel)
_name (string)
method Indicator(s, _tf, name, val)
# Indicator - Create a new Indicator
### Example:
Namespace types: screener
Parameters:
s (screener)
_tf (string)
name (string)
val (float)
method display(p)
# Display - Display the Panel
### Example:
Namespace types: panel
Parameters:
p (panel)
indication
single indication for a symbol screener
Fields:
name (series string)
icon (series string)
rating (series string)
value (series float)
col (series color)
tf (series string)
tooltip (series string)
normalized (series float)
init (series bool)
screener
single symbol screener
Fields:
ticker (series string)
icon (series string)
rating (series string)
value (series float)
bg (series color)
fg (series color)
items (indication[])
init (series bool)
config
screener configuration
Fields:
strong (series float)
weak (series float)
theme (series string)
vert (series bool)
cellwidth (series float)
cellheight (series float)
textsize (series string)
font (series int)
framewidth (series int)
borders (series int)
position (series string)
icons
screener Icons
Fields:
buy (series string)
sell (series string)
strong (series string)
panel
screener panel object
Fields:
items (screener[])
table (series table)
config (config)
theme (theme type from kaigouthro/theme_engine/1)
icons (icons)
Quick fixed the markdown shortcuts or local use, and an error in screener descript
Added:
method decorate(p, t)
Namespace types: panel
Parameters:
p (panel)
t (varient type from kaigouthro/theme_engine/1)
Updated:
init(_themein, loc)
# Panel init
> init a panel for all the screens
method Screener ( cleanscreen.panel p , string _name ) => cleanscreens.Screener ( p, _name)
method Indicator ( cleanscreen.screener s , string _tf, string name, float val ) => cleanscreens.Indicator ( s , _tf, name, val)
method display ( cleanscreen.panel p ) => cleanscreens.display ( p )
// Theme names for the theme input a botom (place here)
string GRP1 = "Settings"
// init panel with theme and location
var loc = input.int(9, ' Table loc (1-9)', 1, 9)
var _panel = init(input.string(SILK, 'Theme Choice',
options = ["SEE ANNOTATION"]),
loc)
var tfInput = input.timeframe("", "Higher timeframe", group = GRP1)
if barstate.isfirst
panel.config.theme := input.string ( 'light' , "Theme Variewnt" , options=['light' , 'dark'] , inline='ic' , group='Icons' )
panel.config.cellwidth := input.float ( 7.5 , 'cellwidth' , step=0.5 , inline = "Cellsize" , group=GRP1 )
panel.config.cellheight := input.float ( 7.5 , 'cellheight' , step=0.5 , inline = "Cellsize" , group=GRP1 )
panel.config.textsize := input.string ( size.auto , 'Textsize' , options=[size.auto, size.small, size.normal, size.large, size.huge] , inline = "set" , group=GRP1 )
panel.config.font := input.int ( 15 , 'Font' , 1 , 17 , inline = "set" , group=GRP1 )
panel.config.framewidth := input.int ( 10 , 'Framewidth' , 0 , 20 , inline = "set" , group=GRP1 )
panel.config.borders := input.int ( 1 , 'Borders' , -1 , 10 , inline = "set" , group=GRP1 )
panel.config.vert := input.bool ( true , 'vert' ) //int ( 1 , 'Borders' , -1 , 10 )
// Icons
panel.icons.strong := input.string('💸', 'Strong ✼', inline='ic', group='Icons')
panel.icons.buy := input.string('💰', 'Buy ⇡', inline='ic', group='Icons')
panel.icons.sell := input.string('🔥', 'Sell ⇣', inline='ic', group='Icons')
// Add groupd with _screener = _paneel.Screener("Group Name")
// Add indicartors to screeener groups with _screener.Indication( "Indicator Name", _source)
// Update the panel with _paneel.display(_paneel)
Parameters:
_themein (string): string: Theme Preset Name
loc (int): int :
1 = left top,
2 = middle top,
3 = right top,
4 = left middle,
5 = middle middle,
6 = right middle,
7 = left bottom,
8 = middle bottom,
9 = right bottom
Returns: panel
method Screener(p, _name)
# Screener - Create a new screener
Example:
Namespace types: panel
Parameters:
p (panel)
_name (string)
method Indicator(s, _tf, name, val)
# Indicator - Create a new Indicator
Example:
Namespace types: screener
Parameters:
s (screener)
_tf (string)
name (string)
val (float)
method display(p)
# Display - Display the Panel
Example:
Namespace types: panel
Parameters:
p (panel)
indication
single indication for a symbol screener
Fields:
name (series string): name of the indication
icon (series string): icon name
rating (series string): rating
value (series float): value
col (series color): color of the indication
tf (series string): timeframe
tooltip (series string): tooltip text
normalized (series float): color value
init (series bool): init
screener
single symbol screener
Fields:
ticker (series string): ticker name
icon (series string): icon name
rating (series string): rating
value (series float): value
bg (series color): background color
fg (series color): foreground color
items (indication[]): list of indications
init (series bool): init
config
screener configuration
Fields:
strong (series float): strong value
weak (series float): weak value
theme (series string): theme name
vert (series bool): vertical layout
cellwidth (series float): cell width
cellheight (series float): cell height
textsize (series string): text size
font (series int): font index
framewidth (series int): frame width
borders (series int): border width
position (series string): position
icons
screener Icons
Fields:
buy (series string): buy icon
sell (series string): sell icon
strong (series string): strong icon
panel
screener panel object
Fields:
items (screener[]): list of symbols
table (series table): table object
config (config): config object
theme (theme type from kaigouthro/theme_engine/1)
icons (icons): icons object
Dramatic speed increase.
Pine Bibliothek
Ganz im Sinne von TradingView hat dieser Autor seinen/ihren Pine Code als Open-Source-Bibliothek veröffentlicht. Auf diese Weise können nun auch andere Pine-Programmierer aus unserer Community den Code verwenden. Vielen Dank an den Autor! Sie können diese Bibliothek privat oder in anderen Open-Source-Veröffentlichungen verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert.
Haftungsausschluss
Pine Bibliothek
Ganz im Sinne von TradingView hat dieser Autor seinen/ihren Pine Code als Open-Source-Bibliothek veröffentlicht. Auf diese Weise können nun auch andere Pine-Programmierer aus unserer Community den Code verwenden. Vielen Dank an den Autor! Sie können diese Bibliothek privat oder in anderen Open-Source-Veröffentlichungen verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert.