TradingView
kaigouthro
2023年5月4日下午12點53分

Cleaner Screeners Library 

Apple Inc.NASDAQ

描述

Library "cleanscreens"

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
import kaigouthro/cleanscreen/1 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:
cleanscreens.new(panel, 'Crpyto Screeners')


  Namespace types: panel
  Parameters:
    p (panel)
    _name (string)

method Indicator(s, _tf, name, val)
  # Indicator - Create a new Indicator
### Example:
cleanscreens.Inidcator('1h', 'RSI', ta.rsi(close, 14))


  Namespace types: screener
  Parameters:
    s (screener)
    _tf (string)
    name (string)
    val (float)

method display(p)
  # Display - Display the Panel
### Example:
cleanscreens.display(panel)


  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)

發布通知

v2

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

import kaigouthro/cleanscreen/2 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:
cleanscreen.Screeneer(panel, 'Crpyto Screeners')

  Namespace types: panel
  Parameters:
    p (panel)
    _name (string)

method Indicator(s, _tf, name, val)
  # Indicator - Create a new Indicator

Example:
cleanscreen.Inidcator('1h', 'RSI', ta.rsi(close, 14))

  Namespace types: screener
  Parameters:
    s (screener)
    _tf (string)
    name (string)
    val (float)

method display(p)
  # Display - Display the Panel

Example:
cleanscreen.display(panel)

  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
評論
djmad
Very great library, thanks
PineCoders
In the name of all TradingViewers, thank you for your valuable contribution to the community, and congrats!
KioseffTrading
Awesome kai!
kaigouthro
@KioseffTrading, Thank you. You set a high standard. =)
LucF
Outstanding work, as usual )
theheirophant
nice work mate!!
RicardoSantos
thank you, it looks like a interesting tool :)
mgbabu18
I wish to create a Custom Screener, can you please help me . Thank you
litesh
@kaigouthro ,
Thanks for sharing this library (Cleaner Screeners Library). This is a beast. can we add a time variable in the indicator function to track the bias timing for each security, I mean count the time since the buy or sell signal occurred for each security?
kaigouthro
@litesh, next version i'll include an optional feed for displaying custom information. =) thanks for the suggestion
更多