Periodic price change comparisonPeriodic price change.
Application:
Sector rotation analysis by comparing different tickers.
Simple statistical analysis (with lookback period) for knowing how good they were.
If you are a believer in sector rotation, you can add different sector stocks to see which of them are lagged behind and buy them.
In this example, you could see tesla periodically fall behind the market. You can buy it when it is on that zone.
And you can also refer to the sharpe ratio and the average gain rate on the chart to see how good the stocks were.
"文华财经tick价格"に関するスクリプトを検索
Candlestick Pattern FinderThis script identifies common candlestick patterns and marks them with a tool-tip on the chart. It is a compilation of Tradingview's built-in candlestick finding scripts so it uses the same rules defined by Tradingview to identify the patterns. Instead of using a separate indicator for each candlestick pattern, you can use this script to find all the candlestick patterns with a single indicator.
By default, the script does not mark any of the detected patterns on the chart. You will have to open the indicator settings and enable the patterns you would like to see on the chart. There are also three tick-boxes that let you to enable/disable all the selected bearish/bullish/neutral patterns at once, i.e. if you would like to only see bearish patterns, you can disable all the bullish and neutral patterns at once with the corresponding tick boxes. When you enable bullish patterns again, the script will show your selection of bullish patterns again on the chart.
When you hover on the tool-tips with your cursor, a short description about the pattern will be displayed.
[R&D] Moving CentroidThis script utilizes this concept. Instead of weighting by volume, it weights by amount of price action on every close price of the rolling window. I assume it can be used as an additional reference point for price mode and price antimode.
it is directly connected with Market (not volume) profile, or TPO charts.
The algorithm:
1) takes a rolling window of, for example, 50 data points of close prices:
2) for each of this closing prices, the algorithm will check how many bars touched this close price.
3) then: sum of datapoints * weights/sum of weights
Since the logic is implemented in pretty non-efficient way, the script sometimes can take time to make calculations. Moreover, it calculates the centroid taking into account only close prices, not every tick. of a given rolling window That's why it's still experimental.
CCI-RSI MR Indicators:
Bollinger Bands (20 period, 2σ)
RSI (14 period) and Simple moving average of RSI (5 period)
CCI (20 period)
SMA (5 period)
Entry Conditions:
Buy when:
Swing low (5) should be lower than the highest of lower BB (3 periods)
Both RSI crossover RSI_5 and CCI crossover -100 should have happened within last 3 candles (including the current candle)
Once all the above conditions are met, the close should be higher than SMA (5) within the next 3 candles
After condition 3 is satisfied, we enter the trade at next candle’s open
Stop loss will be at 1 tick lower than previous swing low
Sell when:
Swing high (5) should be higher than the lowest of upper BB (3 periods)
Both RSI crossunder RSI_5 and CCI crossunder 100 should have happened within last 3 candles (including the current candle)
Once all the above conditions are met, the close should be lower than SMA (5) within the next 3 candles
After condition 3 is satisfied, we enter the trade at next candle’s open
Stop loss will be at 1 tick higher than previous swing high
Exit Conditions:
Since it’s mean reversion strategy we’ll be having only 2 target exits with a trailing stop loss after target price 1 is achieved.
Target exit price 1 & 2 are decided based on the risk ‘R’ for each trade
Depending on the instrument and time frame a trailing stop loss of 0.5R or 1R has opted.
A stop limit is placed @Entry_price +- 2*ATR(20) to offset the risk of losing significantly more than 1xR in a trade
StonkBTC - autoswitch secondary series for scalpersSince the drop in March of 2020, the U.S. ETF , SPY, has been correlated with bitcoin's moves, especially during the NY session.
This tool is meant to help traders who want to take advantage of that without having to switch the secondary series between BTCUSD and (generally) SPY when changing the ticker they are viewing.
How this works:
The indicator will automatically switch between bitcoin or equity index depending on what ticker your current chart is. Ideally this tool would be very simple to use.
Options:
Show/hide a 'track price' line
Index choice of SP500, Nasdaq 100, and Russell 2000. Further selection by ETF, futures, and CFD
Varied bitcoin price sources
Notes:
You will need a separate subscription to TradingView to view realtime CME futures data (if not, it will be delayed by 10 minutes). Because of this, the default option chosen is the CFD for the most complete chart when viewing bitcoin.
NY Core Trading Session: 9:30 a.m. to 4:00 p.m. ET
www.nyse.com
MACD histogram relative open/closePrelude
This script makes it easy to capture MACD Histogram open/close for automated trading.
There seems to be no "magic" value for MACD Histogram that always works as a cut-off for trade entry/exit, because of the variation in market price over time.
The idea behind this script is to replicate the view of the MACD graph we (humans) see on the screen, in mathematics, so the computer can approximately detect when the curve is opening/closing.
Math
The maths for this is composed of 2 sections -
1. Entry -
i. To trigger entry, we normalize the Histogram value by first determining the lowest and highest values on the MACD curves (MACD, Signal & Hist).
ii. The lowest and highest values are taken over the "Frame of reference" which is a hyperparameter.
iii. Once the frame of reference is determined, the entry cutoff param can be defined with respect to the values from (i) (10% by default)
2. Exit
To trigger an exit, a trader searches for the point where the Histogram starts to drop "steeply".
To convert the notion of "steep" into mathematics -
i. Take the max histogram value reached since last MACD curve flip
ii. Define the cutoff with reference to the value from (i) (30% by default)
Plots
Gray - Dead region
Blue - Histogram opening
Red - Histogram is closing
Notes
A good value for the frame of reference can be estimated by looking at the timescale of the graph you generally work with during manual trading.
For me, that turned out to be ~2.5 hours. (as shown in the above graph)
For a 3-minute ticker, frame of reference = 2.5 * 60 / 3 = 50
Which is the default given in this script.
Ultimately, it is up to you to do grid search and find these hyperparams for the stock and ticker size you're working with.
Also, this script only serves the purpose of detecting the Histogram curve opening/closing.
You may want to add further checks to perform proper trading using MACD.
Twin Range Filter Algo@Colinmck used two different ranges to generate signals. Read his release notes to find out what the original script does.
I added one condition which seems to increase performance on 15m BTCUSD as well as 1h BTCUSD and that is ATR with 32 periods being smaller than ATR with 64 periods. I used my script Volatility Optimiser to discover this tendency.
Both buying and selling conditions are same as in @Colinmck's script plus one condition of my own. You can disable my condition.
Target and stop-loss are manually set values in ticks.
Time stop-loss is manually set value in a number of candles. After this number of candles, a position always exits (or should 😇). You can disable it by inserting a very long period. I do not recommend it, because a value of indicator should not be measured in luck and if market starts moving in the direction after 40 periods, the predictive capability of an indicator is questionable.
I used 300/150/17 for 15m BTCUSD chart and 900/30/17 for 1h BTCUSD. I didn't try to optimize any other parameters for these periods.
Since this script relies mostly on volatility for its prediction, I wouldn't recommend using it on its own. Individual approach to the market is recommended. Also, it didn't work on EURUSD when using the same default values and different order management (tp, sl, time sl), so it is probably not as versatile.
Let me know what do you think of this strategy. If you have some ideas about how to make it more reliable, share it in the comments, I might put it to the test. Good luck 🍀
Ichimoku Kinko Hyo: ETH 3h Strategy by tobunoIchimoku Kinko Hyo strategy for long term trend trades of Ethereum . Optimized for 3H ticks.
Divergence of DecisionPoint Breadth Swenlin Trading [LazyBear]// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © 03.freeman
//This is indicator from LazyBear is very accurate for stocks and indexes.
//I added some code snippets for spot and draw divergences automatically
//
// @author LazyBear
//
//
Best use with daily time frame.
Enter when a divergence is found (Bull or Bear label) and wait at least a couple of candles before exit.
Next improvement: alerts ready made for webhooks and screener for multiple tickers.
Please use comment section for any feedback.
Let it snow!Snowflakes slowly drop with each data tick.
Get ready for a miracle!
Merry Christmas and Happy New Year!
Look first. Then leap.
Strategy Death To The Bear Simple strategy for the indicator "Death To The Bear".
Simple rules:
- Entry according to the selected weapons.
- Take profit 1 (TP1) in% of daily ATR (can be set, default 20%)
- Active Stop in Breakeven when I take profit in TP1.
- Take profit 2 (TP1) in% of daily ATR (can be set, default 30%)
* Pyramidization can be changed from the configuration (maximum number of tickets to average your price)
* Many do not like to pyramid, but I can assure you that with good management, and good choice of the instrument and time frame, you will get good money.
Note: at the request of some people who cannot see the EMOJI in the configuration you can choose TEXT.
Thumbs up
Combo Backtest 123 Reversal & D_Three Ten OscThis is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
TradeStation does not allow the user to make a Multi Data Chart with
a Tick Bar Chart and any other type a chart. This indicator allows the
user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
Walter Bressert's 3-10 Oscillator is a detrending oscillator derived
from subtracting a 10 day moving average from a 3 day moving average.
The second plot is an 16 day simple moving average of the 3-10 Oscillator.
The 16 period moving average is the slow line and the 3/10 oscillator is
the fast line.
For more information on the 3-10 Oscillator see Walter Bressert's book
"The Power of Oscillator/Cycle Combinations"
WARNING:
- For purpose educate only
- This script to change bars colors.
Combo Backtest 123 Reversal & D_Three Ten Osc This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
TradeStation does not allow the user to make a Multi Data Chart with
a Tick Bar Chart and any other type a chart. This indicator allows the
user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
Walter Bressert's 3-10 Oscillator is a detrending oscillator derived
from subtracting a 10 day moving average from a 3 day moving average.
The second plot is an 16 day simple moving average of the 3-10 Oscillator.
The 16 period moving average is the slow line and the 3/10 oscillator is
the fast line.
For more information on the 3-10 Oscillator see Walter Bressert's book
"The Power of Oscillator/Cycle Combinations"
WARNING:
- For purpose educate only
- This script to change bars colors.
Volume ComparisonThis script shows the volume of the current chart relative to the volume of another selected ticker.
For meaningful information you should compare coins with the same base pair (for example BTCUSD against LTCUSD).
Volume bars will be plotted green if the other security's volume is higher, red otherwise.
You may use this script go generate alerts and automate your trading with a bot such as WolfBot.org
Balance of Power StrategyA simple variation on the balance of power idea, using a weighted moving average and a basic lookback to attempt to predict the motion in the next tick.
As far as a trading pattern goes, it's performance is rather conservative, and it is rather noisy as it doesn't do a good job of preventing quick, meaningless trades.
macd xoverThe MACD XOver indicator was developed by John Bruns to predict the price point at which MACD Histogram will reverse the direction of its slope.
The indicator is plotted one day ahead into the future, allowing, if your strategy depends on MACD Histogram, to predict its reversal point for tomorrow (or the next bar in any timeframe). If the closing price tomorrow is above the value of this indicator, then MACD Histogram will tick up. If the closing price tomorrow is below the value of this indicator, then MACD Histogram will tick down. This is especially useful on the charts of the longer timeframes and when using the Impulse system whose color depends in part on the slope of MACD Histogram.
Use the same values as the MACD Combo which you want to anticipate. If you use the default values, then accept the values below.
Parameters:
MACD_Short_Period(12) – The short EMA for the MACD calculation;
MACD_Long_Period (26) – The long EMA for the MACD calculation;
MACD_Smoothing_Period (9) – The smoothing value for the Signal line;
Time_Ratio (1) – The default here is set to 5 (weekly)
Custom ScreenerI was inspired by this idea:
With his script you can create a simple custom screener in Pine Script on your own for 40 tickets or less. But to make a separate screener for every 40 stocks sucks, so I wrote a program that generates script that allows you to switch stock sets.
Current script is generated for the Moscow stock exchange.
You can contact me if you need screener for your exchange or big set of stocks.
Volume Volatility SpectrumThis indicator estimates price volatility and it is based on Volume only (presumably Tick Volume in Forex).
Tick volume is supposed to be a good proxy to actual volume in spot forex (study of Caspar Marney, 2011)
The advantage of this indicator is that it can be used with any pair, any timeframe.
The only parameters are the periods of the reference Volume Moving Average and the fast Volume MA.
The fluctuations of a short period Volume MA with respect to a gently MA with high period
are calculated.
RED areas depict low volatility
GREEN areas depict high volatility.
When the clouds are outside the region delimited by the aqua lines we have extreme conditions:
Extremely low volatility = red cloud outside the aqua bands
Extremely high volatility = green cloud outside the aqua bands
Vitelot/yanez/Vts September 2019.
Compare this indicator with the ATR Volatility Spectrum of myself
How to avoid repainting when using security() - PineCoders FAQNOTE
The non-repainting technique in this publication that relies on bar states is now deprecated, as we have identified inconsistencies that undermine its credibility as a universal solution. The outputs that use the technique are still available for reference in this publication. However, we do not endorse its usage. See this publication for more information about the current best practices for requesting HTF data and why they work.
This indicator shows how to avoid repainting when using the security() function to retrieve information from higher timeframes.
What do we mean by repainting?
Repainting is used to describe three different things, in what we’ve seen in TV members comments on indicators:
1. An indicator showing results that change during the realtime bar, whether the script is using the security() function or not, e.g., a Buy signal that goes on and then off, or a plot that changes values.
2. An indicator that uses future data not yet available on historical bars.
3. An indicator that uses a negative offset= parameter when plotting in order to plot information on past bars.
The repainting types we will be discussing here are the first two types, as the third one is intentional—sometimes even intentionally misleading when unscrupulous script writers want their strategy to look better than it is.
Let’s be clear about one thing: repainting is not caused by a bug ; it is caused by the different context between historical bars and the realtime bar, and script coders or users not taking the necessary precautions to prevent it.
Why should repainting be avoided?
Repainting matters because it affects the behavior of Pine scripts in the realtime bar, where the action happens and counts, because that is when traders (or our systems) take decisions where odds must be in our favor.
Repainting also matters because if you test a strategy on historical bars using only OHLC values, and then run that same code on the realtime bar with more than OHLC information, scripts not properly written or misconfigured alerts will alter the strategy’s behavior. At that point, you will not be running the same strategy you tested, and this invalidates your test results , which were run while not having the additional price information that is available in the realtime bar.
The realtime bar on your charts is only one bar, but it is a very important bar. Coding proper strategies and indicators on TV requires that you understand the variations in script behavior and how information available to the script varies between when the script is running on historical and realtime bars.
How does repainting occur?
Repainting happens because of something all traders instinctively crave: more information. Contrary to trader lure, more information is not always better. In the realtime bar, all TV indicators (a.k.a. studies ) execute every time price changes (i.e. every tick ). TV strategies will also behave the same way if they use the calc_on_every_tick = true parameter in their strategy() declaration statement (the parameter’s default value is false ). Pine coders must decide if they want their code to use the realtime price information as it comes in, or wait for the realtime bar to close before using the same OHLC values for that bar that would be used on historical bars.
Strategy modelers often assume that using realtime price information as it comes in the realtime bar will always improve their results. This is incorrect. More information does not necessarily improve performance because it almost always entails more noise. The extra information may or may not improve results; one cannot know until the code is run in realtime for enough time to provide data that can be analyzed and from which somewhat reliable conclusions can be derived. In any case, as was stated before, it is critical to understand that if your strategy is taking decisions on realtime tick data, you are NOT running the same strategy you tested on historical bars with OHLC values only.
How do we avoid repainting?
It comes down to using reliable information and properly configuring alerts, if you use them. Here are the main considerations:
1. If your code is using security() calls, use the syntax we propose to obtain reliable data from higher timeframes.
2. If your script is a strategy, do not use the calc_on_every_tick = true parameter unless your strategy uses previous bar information to calculate.
3. If your script is a study and is using current timeframe information that is compared to values obtained from a higher timeframe, even if you can rely on reliable higher timeframe information because you are correctly using the security() function, you still need to ensure the realtime bar’s information you use (a cross of current close over a higher timeframe MA, for example) is consistent with your backtest methodology, i.e. that your script calculates on the close of the realtime bar. If your system is using alerts, the simplest solution is to configure alerts to trigger Once Per Bar Close . If you are not using alerts, the best solution is to use information from the preceding bar. When using previous bar information, alerts can be configured to trigger Once Per Bar safely.
What does this indicator do?
It shows results for 9 different ways of using the security() function and illustrates the simplest and most effective way to avoid repainting, i.e. using security() as in the example above. To show the indicator’s lines the most clearly, price on the chart is shown with a black line rather than candlesticks. This indicator also shows how misusing security() produces repainting. All combinations of using a 0 or 1 offset to reference the series used in the security() , as well as all combinations of values for the gaps= and lookahead= parameters are shown.
The close in the call labeled “BEST” means that once security has reached the upper timeframe (1 day in our case), it will fetch the previous day’s value.
The gaps= parameter is not specified as it is off by default and that is what we need. This ensures that the value returned by security() will not contain na values on any of our chart’s bars.
The lookahead security() to use the last available value for the higher timeframe bar we are using (the previous day, in our case). This ensures that security() will return the value at the end of the higher timeframe, even if it has not occurred yet. In our case, this has no negative impact since we are requesting the previous day’s value, with has already closed.
The indicator’s Settings/Inputs allow you to set:
- The higher timeframe security() calls will use
- The source security() calls will use
- If you want identifying labels printed on the lines that have no gaps (the lines containing gaps are plotted using very thick lines that appear as horizontal blocks of one bar in length)
For the lines to be plotted, you need to be on a smaller timeframe than the one used for the security() calls.
Comments in the code explain what’s going on.
Look first. Then leap.
Signal for Backtesting-Trading Engine [PineCoders]This is a companion script to the PineCoders Backtesting-Trading Engine. It illustrates how to build a signal plot in another script, which can in turn be fed in the Engine to provide entry, exit, filter and stop information.
Connection to the Engine is done through its “External Indicator” input field at the very bottom of the Engine’s Settings/Inputs.
The Engine must be operating in study mode to be able to connect an external indicator to it.
The way this script builds the signal is straightforward, as you will see in the code. Two aspects are worth mentioning:
The “FudgeStop()” function used to fudge the stop value by one tick for the rare cases where it will match one of the protocol reserved values, i.e. 1, 2 or 3.
The priority and exclusivity given to the different types of signals in the signal-building “Signal = …” line. No two signals can be sent simultaneously through the signal plot, except for the entry and stop combination.
You can determine in this script’s Settings/Inputs the type of signals that will go through the signal plot.
This script respects the following protocol:
EXTERNAL SIGNAL PROTOCOL
Only one external indicator can be connected to a script; in order to leverage its use to the fullest, the engine provides options to use it as either an entry signal, an entry/exit signal or a filter. When used as an entry signal, you can also use the signal to provide the entry’s stop. Here’s how this works:
For filter state: supply +1 for bull (long entries allowed), -1 for bear (short entries allowed).
For entry signals: supply +2 for long, -2 for short.
For exit signals: supply +3 for exit from long, -3 for exit from short.
To send an entry stop level with an entry signal: Send positive stop level for long entry (e.g. 103.33 to enter a long with a stop at 103.33), negative stop level for short entry (e.g. -103.33 to enter a short with a stop at 103.33). If you use this feature, your indicator will have to check for exact stop levels of 1.0, 2.0 or 3.0 and their negative counterparts, and fudge them with a tick in order to avoid confusion with other signals in the protocol.
Remember that mere generation of the values by your indicator will have no effect until you explicitly allow their use in the appropriate sections of the Engine’s Settings/Inputs.
Look first. Then leap.
Multi-Exchange-VolumeHere you can easily see the volume on many large crypto exchanges , you can change the coin by entering the ticker id but be aware that not all exchanges list the same coins and some have different ticker names.
Known to work:
BTCUSD
ETHUSD
LTCUSD
XRPUSD
COT disaggregatedCFTC COT data is exported by quandl.com to tradingview
COT@quandl:
www.quandl.com
COT@tradingview
www.tradingview.com
How to use this script:
Select and load CFTC COT data for the commodity ticker in the chart
Will by default take current ticker, or allow to avvverride it with another
Traders' categories are those for commodities , not financial futs
Select And Configure :
-categories to be plotted
-Futures/Futures+Options
-by num_contracts/percent
-plot "Tot Spreads %" selection (only when also "Show as % of OI" selected)
will plot the total of spreads positions across all categories
This script supercedes my other "MY_ CFTC GC/SI/CL (Disaggregated)" script
Just changed name