In den Scripts nach "市值60亿的股票" suchen
EMA (10,20,60) + Bollinger BandsCombination of bollinger bands and exponential moving averages (10, 20, 60)
The coloring is optimized for dark background, and it is editable
This indicator combined 3 exponential moving average lines and bollinger bands . The EMA lines can be add or deleted in pine editor, and its parameters can be changed too. Same to the bollinger bands . Defaulted value for BB is 20SMA with 2 standard deviations.
Useful as a supplmentary indicators
EMA30,60,100 EMA 30 (orange),60(red),100(green)
Bullish: green below the other two
Bearish: green above other two
when lines cross, no clear trend.
When Price touches the orange = entry point
Thanks to CFXtrader for the basic script
[STRATEGY]EMA 30/60 Cross Strategystrategy based on EMA 30/60 cross
works best on 4hr timeframes & high-midcaps
120/60 Trend ModelCombination of 120 & 60 EMAs used to determine entries as well as the over all trend.
Guppy MMA 3, 5, 8, 10, 12, 15 and 30, 35, 40, 45, 50, 60Guppy Multiple Moving Average
Short Term EMA 3, 5, 8, 10, 12, 15
Long Term EMA 30, 35, 40, 45, 50, 60
Use for SFTS Class
PineConnectorLibrary "PineConnector"
This library is a comprehensive alert webhook text generator for PineConnector. It contains every possible alert syntax variation from the documentation, along with some debugging functions.
To use it, just import the library (eg. "import ZenAndTheArtOfTrading/PineConnector/1 as pc") and use pc.buy(licenseID) to send an alert off to PineConnector - assuming all your webhooks etc are set up correctly.
View the PineConnector documentation for more information on how to send the commands you're looking to send (all of this library's function names match the documentation).
all()
Usage: pc.buy(pc_id, freq=pc.all())
Returns: "all"
once_per_bar()
Usage: pc.buy(pc_id, freq=pc.once_per_bar())
Returns: "once_per_bar"
once_per_bar_close()
Usage: pc.buy(pc_id, freq=pc.once_per_bar_close())
Returns: "once_per_bar_close"
na0(value)
Checks if given value is either 'na' or 0. Useful for streamlining scripts with float user setting inputs which default values to 0 since na is unavailable as a user input default.
Parameters:
value (float) : The value to check
Returns: True if the given value is 0 or na
getDecimals()
Calculates how many decimals are on the quote price of the current market.
Returns: The current decimal places on the market quote price
truncate(number, decimals)
Truncates the given number. Required params: mumber.
Parameters:
number (float) : Number to truncate
decimals (int) : Decimal places to cut down to
Returns: The input number, but as a string truncated to X decimals
getPipSize(multiplier)
Calculates the pip size of the current market.
Parameters:
multiplier (int) : The mintick point multiplier (1 by default, 10 for FX/Crypto/CFD but can be used to override when certain markets require)
Returns: The pip size for the current market
toWhole(number)
Converts pips into whole numbers. Required params: number.
Parameters:
number (float) : The pip number to convert into a whole number
Returns: The converted number
toPips(number)
Converts whole numbers back into pips. Required params: number.
Parameters:
number (float) : The whole number to convert into pips
Returns: The converted number
debug(txt, tooltip, displayLabel)
Prints to console and generates a debug label with the given text. Required params: txt.
Parameters:
txt (string) : Text to display
tooltip (string) : Tooltip to display (optional)
displayLabel (bool) : Turns on/off chart label (default: off)
Returns: Nothing
order(licenseID, command, symbol, parameters, accfilter, comment, secret, freq, debug)
Generates an alert string. Required params: licenseID, command.
Parameters:
licenseID (string) : Your PC license ID
command (string) : Command to send
symbol (string) : The symbol to trigger this order on
parameters (string) : Other optional parameters to include
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: An alert string with valid PC syntax based on supplied parameters
market_order(licenseID, buy, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a market entry alert with relevant syntax commands. Required params: licenseID, buy, risk.
Parameters:
licenseID (string) : Your PC license ID
buy (bool) : true=buy/long, false=sell/short
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A market order alert string with valid PC syntax based on supplied parameters
buy(licenseID, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a market buy alert with relevant syntax commands. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A market order alert string with valid PC syntax based on supplied parameters
sell(licenseID, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a market sell alert with relevant syntax commands. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A market order alert string with valid PC syntax based on supplied parameters
closeall(licenseID, comment, secret, freq, debug)
Closes all open trades at market regardless of symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closealleaoff(licenseID, comment, secret, freq, debug)
Closes all open trades at market regardless of symbol, and turns the EA off. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelong(licenseID, symbol, comment, secret, freq, debug)
Closes all long trades at market for the given symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshort(licenseID, symbol, comment, secret, freq, debug)
Closes all open short trades at market for the given symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongshort(licenseID, symbol, comment, secret, freq, debug)
Closes all open trades at market for the given symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongbuy(licenseID, risk, symbol, comment, secret, freq, debug)
Close all long positions and open a new long at market for the given symbol with given risk/contracts. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk or contracts (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshortsell(licenseID, risk, symbol, comment, secret, freq, debug)
Close all short positions and open a new short at market for the given symbol with given risk/contracts. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk or contracts (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltplong(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any open long trades on the given symbol with the given values. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpshort(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any open short trades on the given symbol with the given values. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongpct(licenseID, symbol, comment, secret, freq, debug)
Close a percentage of open long positions (according to EA settings). Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshortpct(licenseID, symbol, comment, secret, freq, debug)
Close a percentage of open short positions (according to EA settings). Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongvol(licenseID, risk, symbol, comment, secret, freq, debug)
Close all open long contracts on the current symbol until the given risk value is remaining. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : The quantity to leave remaining
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshortvol(licenseID, risk, symbol, comment, secret, freq, debug)
Close all open short contracts on the current symbol until the given risk value is remaining. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : The quantity to leave remaining
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
limit_order(licenseID, buy, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a limit order alert with relevant syntax commands. Required params: licenseID, buy, price, risk.
Parameters:
licenseID (string) : Your PC license ID
buy (bool) : true=buy/long, false=sell/short
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A limit order alert string with valid PC syntax based on supplied parameters
buylimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a buylimit order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A limit order alert string with valid PC syntax based on supplied parameters
selllimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a selllimit order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A limit order alert string with valid PC syntax based on supplied parameters
stop_order(licenseID, buy, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a stop order alert with relevant syntax commands. Required params: licenseID, buy, price, risk.
Parameters:
licenseID (string) : Your PC license ID
buy (bool) : true=buy/long, false=sell/short
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
buystop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a buystop order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
sellstop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a sellstop order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancel_neworder(licenseID, order, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancel + place new order template function.
Parameters:
licenseID (string) : Your PC license ID
order (string) : Cancel order type
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancellongbuystop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all long orders with the specified symbol and places a new buystop order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancellongbuylimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all long orders with the specified symbol and places a new buylimit order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancelshortsellstop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all short orders with the specified symbol and places a sellstop order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancelshortselllimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all short orders with the specified symbol and places a selllimit order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancellong(licenseID, symbol, accfilter, comment, secret, freq, debug)
Cancels all pending long orders with the specified symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A cancel long alert command
cancelshort(licenseID, symbol, accfilter, comment, secret, freq, debug)
Cancels all pending short orders with the specified symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A cancel short alert command
newsltpbuystop(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending buy stop orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpbuylimit(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending buy limit orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpsellstop(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending sell stop orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpselllimit(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending sell limit orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
eaoff(licenseID, secret, freq, debug)
Turns the EA off. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
eaon(licenseID, secret, freq, debug)
Turns the EA on. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
VN30 Effort-vs-Result Multi-Scanner — LinhVN30 Effort-vs-Result Multi-Scanner (Pine v5)
Cross-section scanner for Vietnam’s VN30 stocks that surfaces Effort vs Result footprints and related accumulation/distribution and volatility tells. It renders a ranked table (Top-N) with per-ticker signals and key metrics.
What it does
Scans up to 30 tickers (editable input.symbol slots) using one security() call per symbol → stays under Pine’s 40-call limit and runs reliably on any chart.
Scores each ticker by counting active signals, then ranks and lists the top names.
Optional metrics columns: zVol(60), zTR(60), ATR(20), HL/ATR(20).
Signals (toggleable)
Price/Volume – Effort vs Result
EVR Squeeze (stealth): z(Vol,60) > 4 & z(TR,60) < −0.5
5σ Vol, ≤1σ Ret: z(Vol,60) > 5 & |z(Return,60)| < 1
Wide Effort, Opposite Result: z(Vol,60) > 3 & close < open & z(CLV×Vol,60) > 1
Spread Compression, Heavy Tape: (H−L)/ATR(20) < 0.6 & z(Vol,60) > 3
No-Supply / No-Demand: close < close & range < 0.6×ATR(20) & vol < 0.5×SMA(20)
Momentum & Volatility
Vol-of-Vol Kink: z(ATR20,200) rising & z(ATR5,60) falling
BB Squeeze → Expansion: BBWidth(20) in low regime (z<−1.3) then close > upper band & z(Vol,60) > 2
RSI Non-Confirmation: Price LL/HH with RSI HL/LH & z(Vol,60) > 1
Accumulation/Distribution
OBV Divergence w/ Flat Price: OBV slope > 0 & |z(ret20,260)| < 0.3
Accumulation Days Cluster: ≥3/5 bars: up close, higher vol, close near high
Effort-Result Inversion (Down): big vol on down day then next day close > prior high
How to use
Set the timeframe (works best on 1D for EOD scans).
Edit the 30 symbol slots to your VN30 constituents.
Choose Top N, toggle Show metrics/Only matches and enable/disable scenarios.
Read the table: Rank, Ticker, (metrics), Score, and comma-separated Signals fired.
Method notes
Z-scores use a population-std estimate; CLV×Vol is used for effort/location.
Rolling counts avoid ta.sum; OBV is computed manually; all logic is Pine v5-safe.
Intraday-only ideas (true VWAP magnets, auction volume, flows, futures/options) are not included—Pine can’t cross-scan those datasets.
Disclaimer: Educational tool, not financial advice. Always confirm signals on the chart and with your process.
RSI mura visionOverview
The Enhanced RSI with Custom 40/60 Zones is a Pine Script™ v6 open-source indicator that builds on the classic Relative Strength Index by adding two additional horizontal levels at 40 and 60, alongside the standard 30/70. These extra zones help you identify early momentum shifts and distinguish trending markets from ranging ones with greater precision.
Key Features & Originality
* Custom Mid-Zones (40/60): Standard RSI signals can be noisy around the 50 midpoint. By marking 40 as a “weak momentum” threshold and 60 as a “strong momentum” confirmation, you get clearer entry and exit cues.
* Color-Coded Zones: The RSI line changes color when crossing 40, 50, 60, 70, and 30, letting you visually spot momentum acceleration or deceleration.
* Configurable Alerts: Built-in alert conditions fire when RSI crosses 40 or 60 in either direction, so you never miss a potential trend onset or exhaustion.
* Lightweight & Clean: No external dependencies, no look-ahead bias, and minimal repainting—ideal for both novice and professional traders.
How It Works
1. Momentum Decomposition: The standard 14-period RSI measures overbought/oversold extremes. Adding 40/60 lets you see when momentum shifts from neutral to bullish (crossing above 60) or bearish (dropping below 40) earlier than the classic 70/30 thresholds.
2. Trend Confirmation vs. Pullbacks: Readings between 40–60 often correspond to healthy pullbacks within a trend. A bounce off 40 suggests continuation; a rejection at 60 warns of a deeper pullback or reversal.
Usage & Inputs
* RSI Length (default 14): Period for calculating RSI.
* Level Inputs: Customize levels for overbought (70), support (60), neutral (50), weak (40), and oversold (30).
* Alert Toggles: Enable/disable alerts on each cross.
Why This Adds Value
* Early Signals: Capture trend beginnings before the market reaches extreme overbought/oversold levels.
* Noise Reduction: Filter sideways chop by watching the 40–60 corridor.
* Flexibility: Works on any timeframe or ticker.
Pine Script™ Version: v6
Open-Source License: MPL-2.0
Feel free to fork, modify, and share.
多周期趋势动量面板加强版(Multi-Timeframe Trend Momentum Panel - User Guide)多周期趋势动量面板(Multi-Timeframe Trend Momentum Panel - User Guide)(english explanation follows.)
📖 指标功能详解 (精简版):
🎯 核心功能:
1. 多周期趋势分析 同时监控8个时间周期(1m/5m/15m/1H/4H/D/W/M)
2. 4维度投票系统 MA趋势+RSI动量+MACD+布林带综合判断
3. 全球交易时段 可视化亚洲/伦敦/纽约交易时间
4. 趋势强度评分 0100%量化市场力量
5. 智能警报 强势多空信号自动推送
________________________________________
📚 重要名词解释:
🔵 趋势状态 (MA均线分析):
名词 含义 信号强度
强势多头 快MA远高于慢MA(差值≥0.35%) ⭐⭐⭐⭐⭐ 做多
多头倾向 快MA略高于慢MA(差值<0.35%) ⭐⭐⭐ 谨慎做多
震荡 快慢MA缠绕,无明确方向 ⚠️ 观望
空头倾向 快MA略低于慢MA ⭐⭐⭐ 谨慎做空
强势空头 快MA远低于慢MA ⭐⭐⭐⭐⭐ 做空
简单理解: 快MA就像短跑运动员(反应快),慢MA是长跑运动员(稳定)。短跑远超长跑=强势多头,反之=强势空头。
________________________________________
🟠 动量状态 (RSI力度分析):
名词 含义 操作建议
动量上攻↗ RSI>60且快速上升 强烈买入信号
动量高位 RSI>60但上升变慢 警惕回调,可减仓
动量中性 RSI在4060之间,平稳 等待方向明确
动量低位 RSI<40但下跌变慢 警惕反弹,可止盈
动量下压↘ RSI<40且快速下降 强烈卖出信号
简单理解: RSI就像汽车速度表。"动量上攻"=油门踩到底加速,"动量高位"=已经很快但不再加速了。
________________________________________
🟣 辅助信号:
MACD:
• MACD多头 = 柱状图>0 = 买方力量强
• MACD空头 = 柱状图<0 = 卖方力量强
布林带(BB):
• BB超买 = 价格在布林带上轨附近 = 可能回调
• BB超卖 = 价格在布林带下轨附近 = 可能反弹
• BB中轨 = 价格在中间位置 = 平衡状态
________________________________________
💡 快速上手 3步看懂面板:
第1步: 看"综合结论标签" (K线上方)
• 绿色"多头占优" → 可以做多
• 红色"空头占优" → 可以做空
• 橙色"震荡/均衡" → 观望
第2步: 看"票数 多/空" (面板最下方)
• 多头票数远大于空头 (差距>2) → 趋势强
• 票数接近 (差距<1) → 震荡市
第3步: 看"趋势强度" (综合标签中)
• 强度>70% → 强势趋势,可重仓
• 强度5070% → 中等趋势,正常仓位
• 强度<50% → 弱势,轻仓或观望
________________________________________
🎨 时段背景色含义:
• 紫色背景 = 亚洲时段 (东京交易时间) 波动较小
• 橙色背景 = 伦敦时段 (欧洲交易时间) 波动增大
• 蓝色背景 = 纽约凌晨 美盘准备阶段
• 红色背景 = 纽约关键5分钟 (09:3009:35) ⚠️ 最重要! 市场最活跃,趋势易形成
• 绿色背景 = 纽约上午后段 延续早盘趋势
交易建议: 重点关注红色关键时段,这5分钟往往决定全天方向!
________________________________________
⚙️ 三大市场推荐设置
🥇 黄金: Hull MA 12/EMA 34, 阈值0.250.35%
₿ 比特币: EMA 21/EMA 55, 阈值0.801.20%
💎 以太坊: TEMA 21/EMA 55, 阈值0.600.80%
参数优化建议
黄金 (XAUUSD)
快速MA: Hull MA 12 (超灵敏捕捉黄金快速波动)
慢速MA: EMA 34 (斐波那契数列)
RSI周期: 9 (加快反应)
强趋势阈值: 0.25%
周期: 5, 15, 60, 240, 1440
比特币 (BTCUSD)
快速MA: EMA 21
慢速MA: EMA 55
RSI周期: 14
强趋势阈值: 0.8% (波动大,阈值需提高)
周期: 15, 60, 240, D, W
外汇 EUR/USD
快速MA: TEMA 10 (快速响应)
慢速MA: T3 30, 因子0.7 (平滑噪音)
RSI周期: 14
强趋势阈值: 0.08% (外汇波动小)
周期: 5, 15, 60, 240, 1440
📖 Indicator Function Details (Concise Version):
🎯 Core Functions:
1. MultiTimeframe Trend Analysis Monitors 8 timeframes simultaneously (1m/5m/15m/1H/4H/D/W/M)
2. 4Dimensional Voting System Comprehensive judgment based on MA trend + RSI momentum + MACD + Bollinger Bands
3. Global Trading Sessions Visualizes Asia/London/New York trading hours
4. Trend Strength Score Quantifies market strength from 0100%
5. Smart Alerts Automatically pushes strong bullish/bearish signals
📚 Key Term Explanations:
🔵 Trend Status (MA Analysis):
| Term | Meaning | Signal Strength |
| | | |
| Strong Bull | Fast MA significantly > Slow MA (Diff ≥0.35%) | ⭐⭐⭐⭐⭐ Long |
| Bullish Bias | Fast MA slightly > Slow MA (Diff <0.35%) | ⭐⭐⭐ Caution Long |
| Ranging | MAs intertwined, no clear direction | ⚠️ Wait & See |
| Bearish Bias | Fast MA slightly < Slow MA | ⭐⭐⭐ Caution Short |
| Strong Bear | Fast MA significantly < Slow MA | ⭐⭐⭐⭐⭐ Short |
Simple Understanding: Fast MA = sprinter (fast reaction), Slow MA = longdistance runner (stable). Sprinter far ahead = Strong Bull, opposite = Strong Bear.
🟠 Momentum Status (RSI Analysis):
| Term | Meaning | Trading Suggestion |
| | | |
| Momentum Up ↗ | RSI >60 & rising rapidly | Strong Buy Signal |
| Momentum High | RSI >60 but rising slower | Watch for pullback, consider reducing position |
| Momentum Neutral | RSI between 4060, stable | Wait for clearer direction |
| Momentum Low | RSI <40 but falling slower | Watch for rebound, consider taking profit |
| Momentum Down ↘ | RSI <40 & falling rapidly | Strong Sell Signal |
Simple Understanding: RSI = car speedometer. "Momentum Up" = full throttle acceleration, "Momentum High" = already fast but not accelerating further.
🟣 Auxiliary Signals:
MACD:
MACD Bullish = Histogram >0 = Strong buyer power
MACD Bearish = Histogram <0 = Strong seller power
Bollinger Bands (BB):
BB Overbought = Price near upper band = Possible pullback
BB Oversold = Price near lower band = Possible rebound
BB Middle = Price near middle band = Balanced state
💡 Quick Start 3 Steps to Understand the Panel:
Step 1: Check "Composite Conclusion Label" (Above the chart)
Green "Bulls Favored" → Consider Long
Red "Bears Favored" → Consider Short
Orange "Ranging/Balanced" → Wait & See
Step 2: Check "Votes Bull/Bear" (Bottom of the panel)
Bull votes significantly > Bear votes (Difference >2) → Strong Trend
Votes close (Difference <1) → Ranging Market
Step 3: Check "Trend Strength" (In the composite label)
Strength >70% → Strong Trend, consider heavier position
Strength 5070% → Moderate Trend, normal position size
Strength <50% → Weak Trend, light position or wait & see
🎨 Trading Session Background Color Meanings:
Purple = Asian Session (Tokyo hours) Lower volatility
Orange = London Session (European hours) Increased volatility
Blue = NY Early Morning US session preparation phase
Red = NY Critical 5 Minutes (09:3009:35) ⚠️ Most Important! Market most active, trends easily form
Green = NY Late Morning Continuation of early session trend
Trading Tip: Focus on the red critical period; these 5 minutes often determine the day's direction!
⚙️ Recommended Settings for Three Major Markets
🥇 Gold (XAUUSD):
Fast MA: Hull MA 12 (Highly sensitive for gold's fast moves)
Slow MA: EMA 34 (Fibonacci number)
RSI Period: 9 (Faster reaction)
Strong Trend Threshold: 0.25%
Timeframes: 5, 15, 60, 240, 1440
₿ Bitcoin (BTCUSD):
Fast MA: EMA 21
Slow MA: EMA 55
RSI Period: 14
Strong Trend Threshold: 0.8% (High volatility, requires higher threshold)
Timeframes: 15, 60, 240, D, W
💎 Ethereum (ETHUSD):
Fast MA: TEMA 21
Slow MA: EMA 55
RSI Period: 14
Strong Trend Threshold: 0.600.80%
Timeframes: 15, 60, 240, D, W
💱 Forex EUR/USD:
Fast MA: TEMA 10 (Fast response)
Slow MA: T3 30, Factor 0.7 (Smooths noise)
RSI Period: 14
Strong Trend Threshold: 0.08% (Forex has low volatility)
Timeframes: 5, 15, 60, 240, 1440
多周期趋势动量面板(Multi-Timeframe Trend Momentum Panel - User Guide)多周期趋势动量面板(Multi-Timeframe Trend Momentum Panel - User Guide)(english explanation follows.)
📖 指标功能详解 (精简版):
🎯 核心功能:
1. 多周期趋势分析 同时监控8个时间周期(1m/5m/15m/1H/4H/D/W/M)
2. 4维度投票系统 MA趋势+RSI动量+MACD+布林带综合判断
3. 全球交易时段 可视化亚洲/伦敦/纽约交易时间
4. 趋势强度评分 0100%量化市场力量
5. 智能警报 强势多空信号自动推送
________________________________________
📚 重要名词解释:
🔵 趋势状态 (MA均线分析):
名词 含义 信号强度
强势多头 快MA远高于慢MA(差值≥0.35%) ⭐⭐⭐⭐⭐ 做多
多头倾向 快MA略高于慢MA(差值<0.35%) ⭐⭐⭐ 谨慎做多
震荡 快慢MA缠绕,无明确方向 ⚠️ 观望
空头倾向 快MA略低于慢MA ⭐⭐⭐ 谨慎做空
强势空头 快MA远低于慢MA ⭐⭐⭐⭐⭐ 做空
简单理解: 快MA就像短跑运动员(反应快),慢MA是长跑运动员(稳定)。短跑远超长跑=强势多头,反之=强势空头。
________________________________________
🟠 动量状态 (RSI力度分析):
名词 含义 操作建议
动量上攻↗ RSI>60且快速上升 强烈买入信号
动量高位 RSI>60但上升变慢 警惕回调,可减仓
动量中性 RSI在4060之间,平稳 等待方向明确
动量低位 RSI<40但下跌变慢 警惕反弹,可止盈
动量下压↘ RSI<40且快速下降 强烈卖出信号
简单理解: RSI就像汽车速度表。"动量上攻"=油门踩到底加速,"动量高位"=已经很快但不再加速了。
________________________________________
🟣 辅助信号:
MACD:
• MACD多头 = 柱状图>0 = 买方力量强
• MACD空头 = 柱状图<0 = 卖方力量强
布林带(BB):
• BB超买 = 价格在布林带上轨附近 = 可能回调
• BB超卖 = 价格在布林带下轨附近 = 可能反弹
• BB中轨 = 价格在中间位置 = 平衡状态
________________________________________
💡 快速上手 3步看懂面板:
第1步: 看"综合结论标签" (K线上方)
• 绿色"多头占优" → 可以做多
• 红色"空头占优" → 可以做空
• 橙色"震荡/均衡" → 观望
第2步: 看"票数 多/空" (面板最下方)
• 多头票数远大于空头 (差距>2) → 趋势强
• 票数接近 (差距<1) → 震荡市
第3步: 看"趋势强度" (综合标签中)
• 强度>70% → 强势趋势,可重仓
• 强度5070% → 中等趋势,正常仓位
• 强度<50% → 弱势,轻仓或观望
________________________________________
🎨 时段背景色含义:
• 紫色背景 = 亚洲时段 (东京交易时间) 波动较小
• 橙色背景 = 伦敦时段 (欧洲交易时间) 波动增大
• 蓝色背景 = 纽约凌晨 美盘准备阶段
• 红色背景 = 纽约关键5分钟 (09:3009:35) ⚠️ 最重要! 市场最活跃,趋势易形成
• 绿色背景 = 纽约上午后段 延续早盘趋势
交易建议: 重点关注红色关键时段,这5分钟往往决定全天方向!
________________________________________
⚙️ 三大市场推荐设置
🥇 黄金: Hull MA 12/EMA 34, 阈值0.250.35%
₿ 比特币: EMA 21/EMA 55, 阈值0.801.20%
💎 以太坊: TEMA 21/EMA 55, 阈值0.600.80%
参数优化建议
黄金 (XAUUSD)
快速MA: Hull MA 12 (超灵敏捕捉黄金快速波动)
慢速MA: EMA 34 (斐波那契数列)
RSI周期: 9 (加快反应)
强趋势阈值: 0.25%
周期: 5, 15, 60, 240, 1440
比特币 (BTCUSD)
快速MA: EMA 21
慢速MA: EMA 55
RSI周期: 14
强趋势阈值: 0.8% (波动大,阈值需提高)
周期: 15, 60, 240, D, W
外汇 EUR/USD
快速MA: TEMA 10 (快速响应)
慢速MA: T3 30, 因子0.7 (平滑噪音)
RSI周期: 14
强趋势阈值: 0.08% (外汇波动小)
周期: 5, 15, 60, 240, 1440
📖 Indicator Function Details (Concise Version):
🎯 Core Functions:
1. MultiTimeframe Trend Analysis Monitors 8 timeframes simultaneously (1m/5m/15m/1H/4H/D/W/M)
2. 4Dimensional Voting System Comprehensive judgment based on MA trend + RSI momentum + MACD + Bollinger Bands
3. Global Trading Sessions Visualizes Asia/London/New York trading hours
4. Trend Strength Score Quantifies market strength from 0100%
5. Smart Alerts Automatically pushes strong bullish/bearish signals
📚 Key Term Explanations:
🔵 Trend Status (MA Analysis):
| Term | Meaning | Signal Strength |
| | | |
| Strong Bull | Fast MA significantly > Slow MA (Diff ≥0.35%) | ⭐⭐⭐⭐⭐ Long |
| Bullish Bias | Fast MA slightly > Slow MA (Diff <0.35%) | ⭐⭐⭐ Caution Long |
| Ranging | MAs intertwined, no clear direction | ⚠️ Wait & See |
| Bearish Bias | Fast MA slightly < Slow MA | ⭐⭐⭐ Caution Short |
| Strong Bear | Fast MA significantly < Slow MA | ⭐⭐⭐⭐⭐ Short |
Simple Understanding: Fast MA = sprinter (fast reaction), Slow MA = longdistance runner (stable). Sprinter far ahead = Strong Bull, opposite = Strong Bear.
🟠 Momentum Status (RSI Analysis):
| Term | Meaning | Trading Suggestion |
| | | |
| Momentum Up ↗ | RSI >60 & rising rapidly | Strong Buy Signal |
| Momentum High | RSI >60 but rising slower | Watch for pullback, consider reducing position |
| Momentum Neutral | RSI between 4060, stable | Wait for clearer direction |
| Momentum Low | RSI <40 but falling slower | Watch for rebound, consider taking profit |
| Momentum Down ↘ | RSI <40 & falling rapidly | Strong Sell Signal |
Simple Understanding: RSI = car speedometer. "Momentum Up" = full throttle acceleration, "Momentum High" = already fast but not accelerating further.
🟣 Auxiliary Signals:
MACD:
MACD Bullish = Histogram >0 = Strong buyer power
MACD Bearish = Histogram <0 = Strong seller power
Bollinger Bands (BB):
BB Overbought = Price near upper band = Possible pullback
BB Oversold = Price near lower band = Possible rebound
BB Middle = Price near middle band = Balanced state
💡 Quick Start 3 Steps to Understand the Panel:
Step 1: Check "Composite Conclusion Label" (Above the chart)
Green "Bulls Favored" → Consider Long
Red "Bears Favored" → Consider Short
Orange "Ranging/Balanced" → Wait & See
Step 2: Check "Votes Bull/Bear" (Bottom of the panel)
Bull votes significantly > Bear votes (Difference >2) → Strong Trend
Votes close (Difference <1) → Ranging Market
Step 3: Check "Trend Strength" (In the composite label)
Strength >70% → Strong Trend, consider heavier position
Strength 5070% → Moderate Trend, normal position size
Strength <50% → Weak Trend, light position or wait & see
🎨 Trading Session Background Color Meanings:
Purple = Asian Session (Tokyo hours) Lower volatility
Orange = London Session (European hours) Increased volatility
Blue = NY Early Morning US session preparation phase
Red = NY Critical 5 Minutes (09:3009:35) ⚠️ Most Important! Market most active, trends easily form
Green = NY Late Morning Continuation of early session trend
Trading Tip: Focus on the red critical period; these 5 minutes often determine the day's direction!
⚙️ Recommended Settings for Three Major Markets
🥇 Gold (XAUUSD):
Fast MA: Hull MA 12 (Highly sensitive for gold's fast moves)
Slow MA: EMA 34 (Fibonacci number)
RSI Period: 9 (Faster reaction)
Strong Trend Threshold: 0.25%
Timeframes: 5, 15, 60, 240, 1440
₿ Bitcoin (BTCUSD):
Fast MA: EMA 21
Slow MA: EMA 55
RSI Period: 14
Strong Trend Threshold: 0.8% (High volatility, requires higher threshold)
Timeframes: 15, 60, 240, D, W
💎 Ethereum (ETHUSD):
Fast MA: TEMA 21
Slow MA: EMA 55
RSI Period: 14
Strong Trend Threshold: 0.600.80%
Timeframes: 15, 60, 240, D, W
💱 Forex EUR/USD:
Fast MA: TEMA 10 (Fast response)
Slow MA: T3 30, Factor 0.7 (Smooths noise)
RSI Period: 14
Strong Trend Threshold: 0.08% (Forex has low volatility)
Timeframes: 5, 15, 60, 240, 1440
Chuck Dukas Market Phases of Trends (based on 2 Moving Averages)This script is based on the article “Defining The Bull And The Bear” by Chuck Duckas, published in Stocks & Commodities V. 25:13 (14-22); (S&C Bonus Issue, 2007).
The article “Defining The Bull And The Bear” discusses the concepts of “bullish” and “bearish” in relation to the price behavior of financial instruments. Chuck Dukas explains the importance of analyzing price trends and provides a framework for categorizing price activity into six phases. These phases, including recovery, accumulation, bullish, warning, distribution, and bearish, help to assess the quality of the price structure and guide decision-making in trading. Moving averages are used as tools for determining the context preceding the current price action, and the slope of a moving average is seen as an indicator of trend and price phase analysis.
The six phases of trends
// Definitions of Market Phases
recovery_phase = src > ma050 and src < ma200 and ma050 < ma200 // color: blue
accumulation_phase = src > ma050 and src > ma200 and ma050 < ma200 // color: purple
bullish_phase = src > ma050 and src > ma200 and ma050 > ma200 // color: green
warning_phase = src < ma050 and src > ma200 and ma050 > ma200 // color: yellow
distribution_phase = src < ma050 and src < ma200 and ma050 > ma200 // color: orange
bearish_phase = src < ma050 and src < ma200 and ma050 < ma200 // color red
Recovery Phase : This phase marks the beginning of a new trend after a period of consolidation or downtrend. It is characterized by the gradual increase in prices as the market starts to recover from previous losses.
Accumulation Phase : In this phase, the market continues to build a base as prices stabilize before making a significant move. It is a period of consolidation where buying and selling are balanced.
Bullish Phase : The bullish phase indicates a strong upward trend in prices with higher highs and higher lows. It is a period of optimism and positive sentiment in the market.
Warning Phase : This phase occurs when the bullish trend starts to show signs of weakness or exhaustion. It serves as a cautionary signal to traders and investors that a potential reversal or correction may be imminent.
Distribution Phase : The distribution phase is characterized by the market topping out as selling pressure increases. It is a period where supply exceeds demand, leading to a potential shift in trend direction.
Bearish Phase : The bearish phase signifies a strong downward trend in prices with lower lows and lower highs. It is a period of pessimism and negative sentiment in the market.
These rules of the six phases outline the cyclical nature of market trends and provide traders with a framework for understanding and analyzing price behavior to make informed trading decisions based on the current market phase.
60-period channel
The 60-period channel should be applied differently in each phase of the market cycle.
Recovery Phase : In this phase, the 60-period channel can help identify the beginning of a potential uptrend as price stabilizes or improves. Traders can look for new highs frequently in the 60-period channel to confirm the trend initiation or continuation.
Accumulation Phase : During the accumulation phase, the 60-period channel can highlight that the current price is sufficiently strong to be above recent price and longer-term price. Traders may observe new highs frequently in the 60-period channel as the slope of the 50-period moving average (SMA) trends upwards while the 200-period moving average (SMA) slope is losing its downward slope.
Bullish Phase : In the bullish phase, the 60-period channel showing a series of higher highs is crucial for confirming the uptrend. Additionally, traders should observe an upward-sloping 50-period SMA above an upward-sloping 200-period SMA for further validation of the bullish phase.
Warning Phase : When in the warning phase, the 60-period channel can provide insights into whether the current price is weaker than recent prices. Traders should pay attention to the relationship between the price close, the 50-period SMA, and the 200-period SMA to gauge the strength of the phase.
Distribution Phase : In the distribution phase, traders should look for new lows frequently in the 60-period channel, hinting at a weakening trend. It is crucial to observe that the 50-period SMA is still above the 200-period SMA in this phase.
Bearish Phase : Lastly, in the bearish phase, the 60-period channel reflecting a series of lower lows confirms the downtrend. Traders should also note that the price close is below both the 50-period SMA and the 200-period SMA, with the relationship of the 50-period SMA being less than the 200-period SMA.
By carefully analyzing the 60-period channel in each phase, traders can better understand market trends and make informed decisions regarding their investments.
DNSE VN301!, SMA & EMA Cross StrategyDiscover the tailored Pinescript to trade VN30F1M Future Contracts intraday, the strategy focuses on SMA & EMA crosses to identify potential entry/exit points. The script closes all positions by 14:25 to avoid holding any contracts overnight.
HNX:VN301!
www.tradingview.com
Setting & Backtest result:
1-minute chart, initial capital of VND 100 million, entering 4 contracts per time, backtest result from Jan-2024 to Nov-2024 yielded a return over 40%, executed over 1,000 trades (average of 4 trades/day), winning trades rate ~ 30% with a profit factor of 1.10.
The default setting of the script:
A decent optimization is reached when SMA and EMA periods are set to 60 and 15 respectively while the Long/Short stop-loss level is set to 20 ticks (2 points) from the entry price.
Entry & Exit conditions:
Long signals are generated when ema(15) crosses over sma(60) while Short signals happen when ema(15) crosses under sma(60). Long orders are closed when ema(15) crosses under sma(60) while Short orders are closed when ema(15) crosses over sma(60).
Exit conditions happen when (whichever came first):
Another Long/Short signal is generated
The Stop-loss level is reached
The Cut-off time is reached (14:25 every day)
*Disclaimers:
Futures Contracts Trading are subjected to a high degree of risk and price movements can fluctuate significantly. This script functions as a reference source and should be used after users have clearly understood how futures trading works, accessed their risk tolerance level, and are knowledgeable of the functioning logic behind the script.
Users are solely responsible for their investment decisions, and DNSE is not responsible for any potential losses from applying such a strategy to real-life trading activities. Past performance is not indicative/guarantee of future results, kindly reach out to us should you have specific questions about this script.
---------------------------------------------------------------------------------------
Khám phá Pinescript được thiết kế riêng để giao dịch Hợp đồng tương lai VN30F1M trong ngày, chiến lược tập trung vào các đường SMA & EMA cắt nhau để xác định các điểm vào/ra tiềm năng. Chiến lược sẽ đóng tất cả các vị thế trước 14:25 để tránh giữ bất kỳ hợp đồng nào qua đêm.
Thiết lập & Kết quả backtest:
Chart 1 phút, vốn ban đầu là 100 triệu đồng, vào 4 hợp đồng mỗi lần, kết quả backtest từ tháng 1/2024 tới tháng 11/2024 mang lại lợi nhuận trên 40%, thực hiện hơn 1.000 giao dịch (trung bình 4 giao dịch/ngày), tỷ lệ giao dịch thắng ~ 30% với hệ số lợi nhuận là 1,10.
Thiết lập mặc định của chiến lược:
Đạt được một mức tối ưu ổn khi SMA và EMA periods được đặt lần lượt là 60 và 15 trong khi mức cắt lỗ được đặt thành 20 tick (2 điểm) từ giá vào.
Điều kiện Mở và Đóng vị thế:
Tín hiệu Long được tạo ra khi ema(15) cắt trên sma(60) trong khi tín hiệu Short xảy ra khi ema(15) cắt dưới sma(60). Lệnh Long được đóng khi ema(15) cắt dưới sma(60) trong khi lệnh Short được đóng khi ema(15) cắt lên sma(60).
Điều kiện đóng vị thể xảy ra khi (tùy điều kiện nào đến trước):
Một tín hiệu Long/Short khác được tạo ra
Giá chạm mức cắt lỗ
Lệnh chưa đóng nhưng tới giờ cut-off (14:25 hàng ngày)
*Tuyên bố miễn trừ trách nhiệm:
Giao dịch hợp đồng tương lai có mức rủi ro cao và giá có thể dao động đáng kể. Chiến lược này hoạt động như một nguồn tham khảo và nên được sử dụng sau khi người dùng đã hiểu rõ cách thức giao dịch hợp đồng tương lai, đã đánh giá mức độ chấp nhận rủi ro của bản thân và hiểu rõ về logic vận hành của chiến lược này.
Người dùng hoàn toàn chịu trách nhiệm về các quyết định đầu tư của mình và DNSE không chịu trách nhiệm về bất kỳ khoản lỗ tiềm ẩn nào khi áp dụng chiến lược này vào các hoạt động giao dịch thực tế. Hiệu suất trong quá khứ không chỉ ra/cam kết kết quả trong tương lai, vui lòng liên hệ với chúng tôi nếu bạn có thắc mắc cụ thể về chiến lược giao dịch này.
ADX mura visionOverview
The Enhanced ADX with Custom 40/60 Levels is a Pine Script™ v6 open-source indicator that builds on the classic Average Directional Index by adding two critical thresholds at 40 and 60. These extra levels give you early warning of trend exhaustion and precise exit signals when paired with the mura indicator.
Key Features & Originality
Custom Thresholds (40/60): Beyond the standard ADX levels (25/50), levels at 40 and 60 mark advanced trend strength phases and highlight when momentum is beginning to fade.
Trend Weakness Alerts: Configurable alerts trigger when ADX dips below 60 or 40, signaling ideal exit opportunities before a full reversal.
Color-Coded ADX Line: The ADX line dynamically changes color upon crossing 40 and 60, making trend strength transitions instantly visible.
mura Indicator Synergy: Specially designed to complement the mura indicator—when mura signals an exit and ADX falls below your chosen threshold, you get a high-confidence cue to close your position.
How It Works
Advanced Trend Phases: ADX above 25 confirms a trend, above 40 indicates strong momentum, and above 60 signals extreme strength. A drop below 60 or 40 warns of weakening momentum.
Exit Confirmation: Combine a mura exit signal (e.g., dot flip or reversal) with an ADX cross below 40/60 to capture optimal exit points.
Usage & Inputs
ADX Length (default 14): Period for ADX calculation.
Level Inputs: Customize your threshold levels (default: 25, 40, 50, 60).
Alert Toggles: Enable alerts on crosses above or below each level.
Style Settings: Adjust line colors and widths for ADX and threshold lines.
Why This Adds Value
Early Exit Signals: Identify momentum loss before major reversals, protecting profits.
Cleaner Trade Management: Visual cues reduce guesswork when exiting trades.
Modular Design: Use standalone or integrate with mura for robust entry/exit workflows.
Pine Script™ Version: v6
Open-Source License: MPL-2.0
RSI and Bollinger Bands Screener [deepakks444]Indicator Overview
The indicator is designed to help traders identify potential long signals by combining the Relative Strength Index (RSI) and Bollinger Bands across multiple timeframes. This combination allows traders to leverage the strengths of both indicators to make more informed trading decisions.
Understanding RSI
What is RSI?
The Relative Strength Index (RSI) is a momentum oscillator that measures the speed and change of price movements. Developed by J. Welles Wilder Jr. for stocks and forex trading, the RSI is primarily used to identify overbought or oversold conditions in an asset.
How RSI Works:
Calculation: The RSI is calculated using the average gains and losses over a specified period, typically 14 periods.
Range: The RSI oscillates between 0 and 100.
Interpretation:
Key Features of RSI:
Momentum Indicator: RSI helps identify the momentum of price movements.
Divergences: RSI can show divergences, where the price makes a higher high, but the RSI makes a lower high, indicating potential reversals.
Trend Identification: RSI can also help identify trends. In an uptrend, the RSI tends to stay above 50, and in a downtrend, it tends to stay below 50.
Understanding Bollinger Bands
What is Bollinger Bands?
Bollinger Bands are a type of trading band or envelope plotted two standard deviations (positively and negatively) away from a simple moving average (SMA) of a price. Developed by financial analyst John Bollinger, Bollinger Bands consist of three lines:
Upper Band: SMA + (Standard Deviation × Multiplier)
Middle Band (Basis): SMA
Lower Band: SMA - (Standard Deviation × Multiplier)
How Bollinger Bands Work:
Volatility Measure: Bollinger Bands measure the volatility of the market. When the bands are wide, it indicates high volatility, and when the bands are narrow, it indicates low volatility.
Price Movement: The price tends to revert to the mean (middle band) after touching the upper or lower bands.
Support and Resistance: The upper and lower bands can act as dynamic support and resistance levels.
Key Features of Bollinger Bands:
Volatility Indicator: Bollinger Bands help traders understand the volatility of the market.
Mean Reversion: Prices tend to revert to the mean (middle band) after touching the bands.
Squeeze: A Bollinger Band Squeeze occurs when the bands narrow significantly, indicating low volatility and a potential breakout.
Combining RSI and Bollinger Bands
Strategy Overview:
The strategy aims to identify potential long signals by combining RSI and Bollinger Bands across multiple timeframes. The key conditions are:
RSI Crossing Above 60: The RSI should cross above 60 on the 15-minute timeframe.
RSI Above 60 on Higher Timeframes: The RSI should already be above 60 on the hourly and daily timeframes.
Price Above 20MA or Walking on Upper Bollinger Band: The price should be above the 20-period moving average of the Bollinger Bands or walking on the upper Bollinger Band.
Strategy Details:
RSI Calculation:
Calculate the RSI for the 15-minute, 1-hour, and 1-day timeframes.
Check if the RSI crosses above 60 on the 15-minute timeframe.
Ensure the RSI is above 60 on the 1-hour and 1-day timeframes.
Bollinger Bands Calculation:
Calculate the Bollinger Bands using a 20-period moving average and 2 standard deviations.
Check if the price is above the 20-period moving average or walking on the upper Bollinger Band.
Entry and Exit Signals:
Long Signal: When all the above conditions are met, consider a long entry.
Exit: Exit the trade when the price crosses below the 20-period moving average or the stop-loss is hit.
Example Usage
Setup:
Add the indicator to your TradingView chart.
Configure the inputs as per your requirements.
Monitoring:
Look for the long signal on the chart.
Ensure that the RSI is above 60 on the 15-minute, 1-hour, and 1-day timeframes.
Check that the price is above the 20-period moving average or walking on the upper Bollinger Band.
Trading:
Enter a long position when the criteria are met.
Set a stop-loss below the low of the recent 15-minute candle or based on your risk management rules.
Monitor the trade and exit when the RSI returns below 60 on any of the timeframes or when the price crosses below the 20-period moving average.
House Rules Compliance
No Financial Advice: This strategy is for educational purposes only and should not be construed as financial advice.
Risk Management: Always use proper risk management techniques, including stop-loss orders and position sizing.
Past Performance: Past performance is not indicative of future results. Always conduct your own research and analysis.
TradingView Guidelines: Ensure that any shared scripts or strategies comply with TradingView's terms of service and community guidelines.
Conclusion
This strategy combines RSI and Bollinger Bands across multiple timeframes to identify potential long signals. By ensuring that the RSI is above 60 on higher timeframes and that the price is above the 20-period moving average or walking on the upper Bollinger Band, traders can make more informed decisions. Always remember to conduct thorough research and use proper risk management techniques.
ABS Companion Oscillator — Trend / Exhaustion / New Trend (v1.1)
# ABS Companion Oscillator — Trend / Exhaustion / New Trend (v1.1)
## What it is (quick take)
**ABS CO** is a unified **–100…+100 trend oscillator** that fuses:
* **Regime**: EMA stack (fast/slow/long) + **HTF slope** (e.g., 60-minute)
* **Momentum**: **TSI** vs its signal
* **Stretch**: session-anchored **VWAP Z-score** for exhaustion and “fresh-trend” sanity checks
It paints the oscillator with **lime** in upstate, **red** in downstate, **gray** in neutral, and tags:
* **NEW↑ / NEW↓** when a **new trend** likely starts (zero-line cross with acceptable stretch)
* **EXH↑ / EXH↓** when an **existing trend looks exhausted** (large |Z| + momentum rollback)
> Use it as a **direction filter and context layer**. Works great in front of an entry engine and behind an exit tool.
---
## How to use it (operational workflow)
1. **Read the state**
* **Uptrend** when the oscillator is **≥ upThresh** (default +55) → prefer **long-side** plays.
* **Downtrend** when the oscillator is **≤ dnThresh** (default −55) → prefer **short-side** plays.
* **Neutral** between thresholds → be selective or flat; expect chop.
2. **Act on events**
* **NEW↑ / NEW↓**: zero-line cross with acceptable |Z| (not already overstretched). Treat as **trend start** cues.
* **EXH↑ / EXH↓**: trend state with **high |Z|** and TSI rollback versus its signal. Treat as **trend fatigue**; avoid fresh go-with entries and tighten risk.
3. **Practical pairing**
* Use **up/down state** (or above/below **neutralBand**) as your go/no-go filter for entries.
* Prioritize entries **with** NEW↑/NEW↓ and **without** nearby EXH tags.
* Keep holding while the oscillator stays in state and no EXH appears; consider scaling out on EXH or on your exit tool.
---
## Visual semantics & alerts
* **ABS CO line** (–100…+100): lime in upstate, red in downstate, gray in neutral.
* **Horizontal guides**: `Up` threshold, `Down` threshold, `Zero`, and optional **neutral band** lines.
* **Background heat** (optional): shaded when EXH conditions trigger (lime/red tint with intensity scaled by |Z|).
* **Tags**: `NEW↑`, `NEW↓`, `EXH↑`, `EXH↓`.
**Alerts (stable):**
* **ABS CO — New Uptrend** (NEW↑)
* **ABS CO — New Downtrend** (NEW↓)
* **ABS CO — Exhausted Up** (EXH↑)
* **ABS CO — Exhausted Down** (EXH↓)
Set alerts to **“Once per bar close”** for clean signals.
---
## Non-repainting behavior
* HTF queries use **lookahead\_off**.
* With **Strict NR = true**, the HTF slope is taken from the **prior completed** HTF bar; events evaluate on confirmed bars → **safer, fewer, cleaner**.
* NEW/EXH tags finalize at bar close. Disabling strictness yields earlier but noisier responses.
---
## Every input explained (and how it changes behavior)
### A) Trend & HTF structure
* **EMA Fast / Slow / Long (`emaFastLen`, `emaSlowLen`, `emaLongLen`)**
Control the baseline regime. Larger = smoother, fewer flips; smaller = snappier, more flips.
* **HTF EMA Len (`htfLen`)** & **HTF timeframe (`htfTF`)**
HTF slope filter. Longer len or higher TF = steadier bias (fewer state changes); shorter/ lower = more sensitive.
* **Strict NR (`strictNR`)**
`true` uses the **previous** HTF bar for slope and evaluates on confirmed bars → cleaner, slower.
### B) Momentum (TSI)
* **TSI Long / Short / Signal (`tsiLong`, `tsiShort`, `tsiSig`)**
Standard TSI. Larger values = smoother momentum, fewer EXH triggers; smaller = snappier, more EXH sensitivity.
### C) Stretch (VWAP Z-score)
* **VWAP Z-score length (`zLen`)**
Window for Z over session-anchored VWAP distance. Larger = smoother |Z|; smaller = more reactive stretch detection.
* **Exhaustion |Z| (`zHot`)**
Minimum |Z| to flag **EXH**. Raise to demand **bigger** stretch (fewer EXH); lower to catch milder excess.
* **Max |Z| for NEW (`zNewMax`)**
NEW requires |Z| **≤ zNewMax** (avoid “new trend” when already stretched). Lower = stricter; higher = more NEW tags.
### D) States & thresholds
* **Uptrend threshold (`upThresh`)** / **Downtrend threshold (`dnThresh`)**
Where the oscillator flips into trend states. Widen (e.g., +60/−60) to reduce false states; narrow to get earlier signals.
* **Neutral band (`neutralBand`)**
Visual buffer around zero for “meh” momentum. Larger band = fewer go/no-go flips near zero.
### E) Visuals & tags
* **Show New / Show Exhausted (`showNew`, `showExh`)**
Toggle the tag labels.
* **Shade exhaustion heat (`plotHeat`)**
On = color background when EXH fires. Helpful for scanning.
### F) Smoothing
* **Osc smoothing (`smoothLen`)**
EMA over the raw composite. Higher = steadier line (fewer whip flips); lower = faster turns.
---
## Tuning recipes
* **Trend-day bias (follow moves longer)**
* Raise **`upThresh`** to \~60 and **`dnThresh`** to \~−60
* Keep **`zNewMax`** low (1.0–1.2) to avoid “fresh trend” when stretched
* **`smoothLen`** 3–5 to reduce noise
* **Range-day bias (fade edges)**
* Keep thresholds closer (e.g., +50/−50) for quicker state changes
* Lower **`zHot`** slightly (1.6–1.7) to catch earlier exhaustion
* Consider slightly shorter TSI (e.g., 21/9/5) for faster EXH response
* **Scalping LTF (1–3m)**
* TSI 21/9/5, **`smoothLen`** 1–2
* Thresholds +/-50; **`zNewMax`** 1.0–1.2; **`zHot`** 1.6–1.8
* StrictNR **off** if you want earlier calls (accept more noise)
* **Swing / HTF (1h–D)**
* TSI 35/21/9, **`smoothLen`** 4–7
* Thresholds +/-60\~65; **`zNewMax`** 1.2; **`zHot`** 1.8–2.0
* StrictNR **on** for cleaner bias
---
## Playbooks (how to actually trade it)
* **Go/No-Go Filter**
* Only take **long entries** when the oscillator is **above the neutral band** (preferably ≥ `upThresh`).
* Only take **short entries** when **below** the neutral band (preferably ≤ `dnThresh`).
* Avoid fresh go-with entries if an **EXH** tag appears; let the next setup re-arm.
* **Trend Genesis**
* Treat **NEW↑ / NEW↓** as “green light” for **first pullback** entries in the new direction (ideally within acceptable |Z|).
* **Trend Maturity**
* When in a position and **EXH** prints **against** you, tighten stops, take partials, or lean on your exit tool to protect gains.
---
## Suggested starting points
* **Day trading (5–15m):**
* TSI 25/13/7, `smoothLen=3`, thresholds **+55 / −55**, `zNewMax = 1.2`, `zHot = 1.8`, **StrictNR = true**
* **Scalping (1–3m):**
* TSI 21/9/5, `smoothLen=1–2`, thresholds **+50 / −50**, `zNewMax = 1.1–1.2`, `zHot = 1.6–1.8`, **StrictNR = false** (optional)
* **Swing (1h–D):**
* TSI 35/21/9, `smoothLen=4–6`, thresholds **+60 / −60**, `zNewMax = 1.2`, `zHot = 1.9–2.0`, **StrictNR = true**
---
## Notes & best practices
* **Session anchoring**: Z-score is session-anchored (resets by trading date). If you trade outside standard sessions, verify your data session.
* **Instrument specificity**: Tune **`zHot`**, **`zNewMax`**, and thresholds per symbol and timeframe.
* **Bar-close discipline**: Evaluate tags at **bar close** to avoid intrabar flip-flop.
* This is a **context/confirmation tool**, not a broker or strategy. Combine with your entry/exit rules and position sizing.
---
**Tip:** Start with the suggested day-trading profile. Use this oscillator as your **gate** (only trade with it), let your entry engine time executions, and rely on your exit tool for standardized profit-taking.
CSVParser█ OVERVIEW
The library contains functions for parsing and importing complex CSV configurations (with a special simple syntax) into a special hierarchical object (of type objProps ) as follows:
Functions:
parseConfig() - reads CSV text into an objProps object.
toT() - displays the contents of an objProps object in a table form, which allows to check the CSV text for syntax errors.
getPropAr() - returns objProps.arS array for child object with `prop` key in mpObj map (or na if not found)
This library is handy in allowing users to store presets for the scripts and switch between them (see, e.g., my HTF moving averages script where users can switch between several preset configuations of 24 MA's across 5 timeframes).
█ HOW THE SCRIPT WORKS.
The script works as follows:
all values read from config text are stored as strings
Nested brackets in config text create a named nested objects of objProps0, ... , objProps9 types.
objProps objects of each level have the following fields:
- array arS for storing values without names (e.g. "12, 23" will be imported into a string array arS as )
- map mpS for storing items with names (e.g. "tf = 60, length = 21" will be imported as <"tf", "60"> and <"length", "21"> pairs into mpS )
- map mpObj for storing nested objects (e.g. "TF1(tf=60, length(21,50,100))" creates a <"TF1, objProps0 object> pair in mpObj map property of the top level object (objProps) , "tf=60" is stored as <"tf", "60"> key-value pair in mpS map property of a next level object (objProps0) and "length (...)" creates a <"length", objProps1> pair in objProps0.mpObj map while length values are stored in objProps1.arS array as strings. Every opening bracket creates a next level objProps object.
If objects or properties with duplicate names are encountered only the latest is imported
(e.g. for "TF1(length(12,22)), TF1(tf=240)" only "TF1(tf=240)" will be imported
Line breaks are not regarded as part of syntax (i.e. values are imported with line breaks, you can supply
symbols "(" , ")" , "," and "=" are special characters and cannot be used within property values (with the exception of a quoted text as a value of a property as explained below)
named properties can have quoted text as their value. In that case special characters within quotation marks are regarded as normal characters. Text between "=" and opening quotation mark as well as text following the closing quotation mark and until next property value is ignored. E.g. "quote = ignored "The quote" also ignored" will be imported as <"quote", "The quote">. Quotation marks within quotes must be excaped with "\" .
if a key names happens to be a multi-line then only first line containing non-space characters (trimmed from spaces) is taken as a key.
")," or ") ," and similar do not create an empty ("") array item while ",," does. (",)" creates an "" array item)
█ CSV CONFIGURATION SYNTAX
Unnamed values: just list them comma separated and they will be imported into arS of the object of the current level.
Named values: use "=" sign as follows: "property1=value1, property2 = value2"
Value of several objects: Use brackets after the name of the object ant list all object properties within the brackets (including its child objects if necessary). E.g. "TF1(tf =60, length(21,200), TF2(tf=240, length(50,200)"
Named and unnamed values as well as objects can go in any order. E.g. "12, tf=60, 21" will be imported as follows: "12", "21" will go to arS array and <"tf", "60"> will go to mpS maP of objProps (the top level object).
You can play around and test your config text using demo in this library, just edit your text in script settings and see how it is parsed into objProps objects.
█ USAGE RECOMMENDATIONS AND SAMPLE USE
I suggest the following approach:
- create functions for your UDT which can set properties by name.
- create enumerator functions which iterates through all the property names (supplied as a const string array) and imports their values into the object
█ SAMPLE USE
A sample use of this library can be seen in my Multi-timeframe 24 moving averages + BB+SAR+Supertrend+VWAP script where settings for the MAs across many timeframes are imported from CSV configurations (presets).
█ FULL LIST OF FUNCTIONS AND PROPERTIES
nzs(_s, nz)
Like nz() but for strings. Returns `nz` arg (default = "") if _s is na.
Parameters:
_s (string)
nz (string)
method init(this)
Initializes objProps obj (creates child maps and arrays)
Namespace types: objProps
Parameters:
this (objProps)
method toT(this, nz)
Outputs objProps to string matrices for further display using autotable().
Namespace types: objProps, objProps1, ..., objProps9
Parameters:
this (objProps/objProps1/..../objProps9)
nz (string)
Returns: A tuple - value, merge and color matrix (autotable() parameters)
method parseConfig(this, s)
Reads config text into objProps (unnamed values into arS, named into mpS, sub-levels into mpObj)
Namespace types: objProps
Parameters:
this (objProps)
s (string)
method getPropArS(this, prop)
Returns a string array of values for a given property name `prop`. Looks for a key `prop` in objProps.mpObj
if finds pair returns obj.arS, otherwise returns na. Returns a reference to the original, not a copy.
Namespace types: objProps, objProps1, ..., objProps8
Parameters:
this (objProps/objProps1/..../objProps8)
prop (string)
method getPropVal(this, prop, id)
Checks if there is an array of values for property `prop` and returns its `id`'s element or na if not found
Namespace types: objProps, objProps1, ..., objProps8
Parameters:
this (objProps/objProps1/..../objProps8) : objProps object containing array of property values in a child objProp object corresponding to propertty name.
prop (string) : (string) Name of the property
id (int) : (int) Id of the element to be returned from the array pf property values
objProps9 type
Object for storing values read from CSV relating to a particular object or property name.
Fields:
mpS (map) : (map() Stores property values as pairs
arS (array) : (string ) Array of values
objProps, objProps0, ... objProps8 types
Object for storing values read from CSV relating to a particular object or property name.
Fields:
mpS (map) : (map() Stores property values as pairs
arS (array) : (string ) Array of values
mpObj (map) : (map() Stores objProps objects containing properties's data as pairs