Forex Dogs Moving Averages with Distance TableThis is an indicator based on the book【Forex】ForexDog’s Vacuum Zone Trading 2021: Trading Strategy to “not lose” based on Experience and Logic written by Forex Dog (yes, this is his author name on Amazon; he is a trader popular mostly in Japan). It consists of simple moving averages which should somewhat correspond to the higher timeframes moving averages. The original was traded on a 15m chart and the periods are as follows: 5, 20, 40, 50, 80, 100, 200, 400, 640, 1600, 1920, 3200.
Then, there is a big table with a distances overview. This should give you an idea of how far each average is in ticks. The minus in front of the ticks_total signifies direction.
I expect some feedback on this because I don't think the user convenience is very with tables being so bright. My goal is to create a system that limits the number of "noodles" on the chart but still carries the information via the tables on the side.
Moving Average Length is not adjustable by design. The book says to use these quite explicitly, although the logic would work just fine with some other levels, it would not be the original strategy.
Good luck!
Cerca negli script per "股价在8元左右净利润为正市值小于80亿的热门股票有哪些"
BTC/USD - RSIIF RSI (14) reaches 68 ... sell 1 lot size ( with TP 250 points and SL 500 points)
IF RSI (14) reaches 27 ... buy 1 lot size ( with TP 250points and SL 500 points)
IF RSI (14) reaches 80 ... sell 1 lot size ( with TP 250 points and SL 500 points)
IF RSI (14) reaches 18 ... buy 1 lot size ( with TP 250points and SL 500 points)
Stochastic RSI rainbow in fibonacci sequence using VWMAThe standard stochastic RSI gives limited information as it only contains two reference lines. This Stochastic RSI rainbow contains more lines in shorter timeframes and progressively fewer as the reference time increase. This is done in a FIB sequence 2,3,8,13,21,34,55.... The shorter timeframes are more reactive to current market conditions indicating recent price action and the longer lines represent more significant periods of time. The indicator uses VWMA for its calculations (volume weighted moving average)
HOW TO USE THIS INDICATOR:
When multiple lines are above, either 70 or 80, you can consider the commodity overbought, or OB. The more lines that are above the threshhold, the more significant the signal. The same is true in inverse. In addition, you can use each cross to signify a buy/sell signal according to the type and quantity of trading you are doing. If you are looking to get in and out quickly you can use the lower timeframe signals.
OPTIONS:
You can change what data is used for the VWMA calculation... Of course, you can select colors and other properties as well.
ROC PercentileRate Of Change Percentile calculates the current ROC (user defined length) as a percentile rank.
We use 2 separate arrays, one for all positive ROC values and one for all negative values within a defined lookback period. Then the current ROC value is compared to those arrays to find it's percentile ranking.
For example, a ranking of 75 means the ROC is in the 75th percentile of all POSITIVE ROC values over the lookback period.
A ranking of -80 is in the 80th percentile of all NEGATIVE ROC values over the lookback period.
Most ROC scripts use raw ROC values (or smoothed or otherwise altered), or have stochastic formula applied to them, I've not seen one that displays ROC as percentile ranking of previous positive/negative values.
What is the advantage?
Raw ROC data only gives half the picture. What we want to do is compare the ROC to previous ROC values, to give a sense of scale. Raw ROC values don't give you that context and you can only compare visually, usually limited to the number of bars you can see on your screen.
Using a percentile ranking gives us the context of current Rate of Change relative to the previous Rate of Change over a large lookback period, and not just visually but mathematically.
Why not using a long stochastic ROC? The problem with stochastics in general is that an outlier data point can ruin the data for the rest of the lookback period.
For example, imagine a huge outlier 8% ROC. The 2nd largest ROC is 4% and the 3rd largest is 2%, with all other values below this.
In this example, a stochastic ROC would display the 8% outlier as 100, the 4% as 50, the 2% as 25 and all other data would be squeezed down between 0-25.
Additionally, a value of 60 may have vastly different meaning depending on whether the lookback period contains a large outlier or not.
With a percentile ranking, that 8% outlier would still have a value of 100. But the 4% and 2% would be 99 and 98 respectively (this assumes 100 data points in the series, in reality values will usually be decimals).
This effectively flattens the curve and gives a more consistent and dependable experience, allowing you to more accurately assess the relative importance of the current ROC.
The line of circles is set at the 50 and -50 values for quick comparison.
Values > 50 represent ROC greater than 50% of previous positive ROC values.
Values < -50 represent ROC greater than 50% of previous negative ROC values.
Volume Based DonchianA simple experiment that mixes volume and Donchian's algorithm.
In this version I have implemented a more elegant version of the formula, using the VWMA function instead of spelling out the steps.
I have kept both formulas for educational purposes.
I also plot an Alma Moving Average, how you can see a 16 periods Volume Based Donchian is pretty similar to a 80 period Alma. I think it could be nice stuff if you wanna ask me something write me.
5212 EMA Strategyver 01
23 December 2021
This strategy using :
- 3 EMA period 50, 100, 200
- stochastic RSI slow
Long Cond :
- Stochastic RSI cross below 20
- EMA 50 > 100 > 200
Short Cond :
- Stochastic RSI cross above 80
- EMA 50 < 100 < 200
Sleeping Mode
- EMA 50 between EMA 100 & EMA 200
Zendog V3 backtest DCA bot 3commasMAJOR UPDATE:
- Update to Pinescript v5
- MAJOR refactor for the logic of how orders are placed. BO order is placed when the condition is first encountered and we are not in a deal.
The extra SO orders (if based on price movement) are all placed on the next candle after BO order, instead of each being placed one after another.
Take profit (if percentage) and Stop loss are placed on the first candle after BO order because if BO and TP are on the same candle TV does not execute properly.
These changes should improve strategy accuracy when multiple prices are hit by the same candle.
- NEW FEATURE: Support to Stop deal using an external indicator (i.e. stop long deal when RSI > 80)
- NEW FEATURE: Support to trigger Safety orders using an external indicator (i.e. trigger each additional SO when RSI < 10, regardless of price movement)
The price movement logic may be implemented in the indicator that plots start / end signals. The SO size is calculated using the configuration of steps.
- NEW FEATURE: Safety order command for 3commas bot. This is implemented using Add funds in the quote currency (for pair BTCUSDT the quote currency is USDT)
The SO size is calculated using the configuration of steps, for exact order size (and price) use the built-in Steps table.
- NEW FEATURE: Addition of extra columns to the steps table: Required price for TP, Required % change for TP, Required % change for BEP (Breakeven point)
- Update to steps table to remove prices when Safety orders are not based on % price change
- The code is opensource. I will not be able to sustain merges for the script, but feel free to use and develop your own version and ping me on discord to review them
and maybe include in the original script
Classic Long Term Trend Following SystemThis is a classic long term trend following system.
The breakout period is 50 days instead of 20 and the moving average crossover are 40 and 120.
The moving averages are also exponential instead of simple.
The stoploss is 4 ATRs away from the price.
Recommendations:
Donchian Channels settings > 50 days
Moving Averages > 40 and 120, 80 and 140
Important to note:
My first strategy, DC Breakout System | This is simplicity at its finest, is best used on the crypto market and this one for stocks, commodities, currencies, etc. Those markets tend to trend a lot longer than crypto do.
RSI %b Signal [H1 Backtesting]-----------------------------------------------------------------
This simple strategy base on RSI, EMA, Bollinger Bands to get Buy and Sell Signal with detail as below:
-----------------------------------------------------------------
1.Define Oscillator Line
+ Oscillator Line is smoothed by ema(28) of RSI(14) on H1 Timeframe
2.Define Overbought and Oversold
+ Apply Bollinger Bands BB(80,3) on Oscillator Line and calculate %b
+ Overbought Zone marked above level 0.8
+ Oversold Zone marked below level 0.2
3.Buy Signal
+ Entry Long Position when %b crossover Point of Entry Long
+ Deafault Point of Entry Long is 0.2
+ Buy signal marked by Green dot
4.Sell Signal
+ Entry Short Position when %b crossunder Point of Entry Short
+ Deafault Point of Entry Short is 0.8
+ Sell signal marked by Red dot
5.Exit Signal
+ Exit Position (both Long and Short) when %b go into Overbought Zone or Oversold Zone
+ Exit signal marked by Yellow dot
-----------------------------------------------------------------
Joint Conditions Strategy Suite + TradingConnector alerts bot"Please give us combined alerts with the possibility of having several conditions in place to trigger the alert." - was the top voted request from users under one of the recent blogposts by TradingView.
Ask and you shall receive ;)
TradingView is a great platform, with unmatched set of functionalities, yet this particular combo of features indeed seems not to be in place. Fortunately, TradingView is also very open platform, thanks to PineScript coding language, which enables developing combos like the requried one and plenty of other magic.
I have already published numerous "educational" scripts, showing how to code indicators and alerts with PineScript, but... this is not one of them. This one is for real. READY FOR USE on real markets, also by the non-coding traders. Just take my script, set parameters with dropdowns, backtest the strategy, fire the alerts and execute them.
HOW TO USE IT
In "Settings" popup I tried to mimic the CreateAlert popup dropdowns for selecting logic. Let's say you want to enter Long position at Stochastic KxD crossover. In first line of Long Entry conditions set "StochK" + "Crossing Up" + "StochD". Last field doesn't matter because in 3rd dropdown something else than "value" was selected. In second line you could set "maB" + "Greater Than" + "maC" to filter out those entries which are in direction of the uptrend. And yeah, add ADX>25 to make sure the market is actually moving: "ADX" + "Greater Than" + "value" + "25". All condition lines must be TRUE (or skipped) for the entry to be triggered. Toghether with an alert.
The same for Short entries. Combinations are limitless.
INDICATORS AND MTF (MULTI-TIMEFRAME)
In those dropdowns you can select candle values like open/close/high/low/ohlc4, but also some most popular indicators, which I have pre-built into this script: RSI, various Moving Averages, ADX-DMI, Stochastic and Bollinger Bands for start. You can configure parameters of those indicators also in "Settings" popup, in "Indicator Definitions" section. What's important, you can use any of these indicators from higher timeframe, setting MTF multiplier. So if you applied this indicator to 1h chart, but want to use rsi(close,14) from 4h chart, set MTF to 4. If you want to use current timeframe indicators, keep MTF at 1, which is a default setting here.
Note for coders: to keep focus of this script on joining conditions, entire logic for those indicators has been moved to external library, also open source. I encourage you to dig into the code and see how it's done. I love the addition of libraries concept in PineScript.
CUSTOM INDICATOR
Following the "openness" spirit of my master - which is TradingView itself - my work is also open, in 2 ways:
1. This script is open source. So you can grab it, modify or add any functionalities you want. I cannot and don't want to stop you from doing that. I'm asking for only one favor - please mention this source script in your credits.
2. You can import the plot (series) from any other indicator on TradingView. In Settings popup of my script, scroll down to "Indicator Definitions" section, and select the series of your choice in the first dropdown. Now it is ready to use in conditions dropdowns on top of the Settings popup.
Let me give you an example of that last scenario. Take another script of mine, "Pivot Points on SR lines DEMO". You can find it in "Indicators & Strategies" library or here: (). Attach it to your chart. Now come back to THIS script, open Settings popup and in "Custom Indicator aka Imported Source" select "Pivot Points on SR lines: ...". The way it works - it detects if a pivot point happened on Support/Resistance line from the past and returns 1 for PivotLow and -1 for Pivot High. Now in first Long Entry condition set: "custom indicator" + "Greater Than" + "value" + "0" and long entries will be marked on every pivot low noticed on Support/Resistance line.
ALERTS
Last but not least - the alerts. This script produces alerts on the entries calculated by strategy logic, as marked on the chart by the backtester. Moreover, syntax of those alerts is already prepared and fully compatible with TradingConnector - alerts executing tool (bot), if you want to auto-execute those trades. Apart from installing the tool, you need to set
up the alerts in TradingView, here is how:
open CreateAlert popup
in first dropdown select "Joint Conditions Strategy Template"
in second dropdown select "alert() function calls only"
And that's all. You only need to set one alert for the whole script, not one for Longs and one for Shorts as it was in the past. Also, you don't need to setup closing alerts, because stop-loss/take-profit/trailing-stop information is embedded in the entry alert so your broker receives it as early as possible. Alerts sent will look like this: "long sl=40 tp=80", which is exactly what TradingConnector expects.
Phew, that's all folks. If you think I should add something to this template (maybe other indicators?) please let me know in comments or via DM. Happy trading!
P.S. Pyramiding is not supported in this script.
Disclaimer : I'm not saying above combination of conditions will make you money. Actually none of this can be considered financial advice. It is only a software tool. Use it wisely, be aware of the risk and do your own research!
Relative Momentum Index- Fatih Küst alt 80-20 ayarlanmış momentum
Usage:
Add your favorite oscillator, RSI , Klinger , TSI, CMF , or anything else to a chart.
Click the little ... (More) on the oscillator.
Then add this indicator "Divergence Indicator (any oscillator)" on your oscillator of choice.
Click the settings on this indicator and make sure the source is set to the right plot from your oscillator.
Watch for it to plot divergences...
Add this indicator a second time on the price chart (and select the same oscillator plot), but check the box "plot on price (rather than on indicator)""
See you divergence plotted on price (as well as on the oscillator)
AO Limit Signal===
AO Limit Signal supply Pending Price and Limit Order with detail as bellow
===
A.Buy Limit
1.Get Pending Price
+ Oscillator go into oversold zone
+ Pending price is lowest Low Price in (n) periods
+ (n) is fast periods of AO
2.Active Buy Limit
+ Oscillator go out oversold zone
+ Place Buy Limit at pending price
===
B.Sell Limit
1.Get Pending Price
+ Oscillator go into overbought zone
+ Pending price is highest High Price in (n) periods
+ (n) is fast periods of AO
2.Active Sell Limit
+ Oscillator go out overbought zone
+ Place Sell Limit at pending price
===
C.Oscillator
1.AO default parameter
+ Source: HL2
+ Fast Period: 25 H1
+ Slow Period: 75 H1
2.Overbought - Oversold Zone
+ AO's %b period: 80
+ AO's %b multiplier: 2.5
+ Overbought zone: AO's %b above 0.8
+ Oversold zone: AO's %b below 0.2
3.Color
+ Yellow dot: AO go into Overbought - Oversold Zone
+ Red dot: AO go out Overbought Zone
+ Green dot: AO go out Oversold Zone
===
3Commas Visible DCA StrategyThis strategy consists of the following elements and can all be set by the user.
1. Entry by moving average cross.
1) Selection of moving average line.
- SMA(Simple Moving Average)
- EMA(Exponential Moving Average)
- HMA(Hull Moving Average)
2) Selection of Cross over / Cross under
2. Add Entry by DCA(Dollar Cost Averaging)
- A DCA strategy is the practice of investing into a currency at preset intervals to reduce the entry price of a position over time and mitigate volatility risk.
For example,
Base Order = 10 Dollar at Price 100%
Safety Order1 = 20 Dollar at Price 90%
Safety Order2 = 40 Dollar at Price 80%
Average Price => Price 80~90%
thereby getting a better average price for your position and greatly reducing risks from the consequences of volatility.
3. Target Price and Stop Loss.
1) Target Price : Realize profits at % set from the average unit price.
2) Stop Loss : Stop Loss % set from the last safety order.
You can easily find out what's related by changing the setting value after setting the strategy.
This strategy has the following Good characteristics.
1. It informs you of the assets required according to DCA settings.
If you are short of assets, a warning sign will appear.
2. Amount of assets invested in each long entry and long entry close.
3. Visibility of the lowest purchase price line and DCA purchase location according to DCA setting.
easily check the values set in the backtest.
I hope it will help you. Thank you.
EneX SignalEneX is signal that give recommendation signals for entry and exit on spot market. This indicators not suitable for leverage trading in futures market.
EneX signal consider several indicators and has entry and exit rules.
EneX signal is suitable for investors who believe in trend following strategy (disclaimer on).
This script composed by Yohan Naftali for educational purpose only. Reader who will use this signal must do own research.
Indicator and Plot Involved
1. Williams Fractals with default periods = 2
2. William Alligator Indicators with default simple moving average 8, 13, and 21
3. Exponential Moving Averages with default value EMA 50, 100, and 200
4. Relative Strength Index with default overbought level = 80 and oversold level = 20
5. Williams Fractals are joined to create support and resistance line and fill area between support and resistance lines.
Entry signal conditions
1. Entry on Weakness when bullish fractal appear on n/2 period
2. Entry when price break resistance line
All entry condition must above EMA and alligator signal and not in overbought RSI
Exit signal conditions
1. Lowest price is below Exponential Moving Average
2. Lowest price is below William alligator lines
You can easily find entry and exit points by using Entry (E), Exit(X) signals
How to use
1. Monitor chart and wait until E or X signals
2. Entry if Entry Signal (E) appear (green colored label)
3. Exit if Exit Signal (X) appear (red colored label)
4. Change indicators setting when necessary
Best Practice
1. Entry only when entry signal (E) appear
2. Never entry when price below William alligator signal
3. Exit when exit signal (X) appear
4. Not exit when exit signal appear when you believe or you have information that price will be rebound
5. Exit if you believe that current price meet your target price
6. Always wise when use EneX signals
Disclaimer
Do your own research and consider fundamental price of asset.
The indicators provided on this script is for educational purposes only.
Author does not offer advisory or brokerage services, nor does it recommend or advise users to buy or sell particular stocks or securities.
Please examined script and give feedback for further improvement.
Indicators OverlayHello All,
This script shows the indicators in separate windows on the main chart. Included indicators are RSI, CCI, OBV, Stochastic, Money Flow Index, Average True Range and Chande Momentum Oscillator. indicator windows are located at the top or bottom of the chart according to last moves of the Closing price. Different colors are used for each indicator. Horizontal levels are shown as dashed line and label as well.
Using the options;
You can enable/disable the indicators you want to see or not
You can change source and length for each indicator
You can set window length. using this length indicator windows are located on the chart
After you added this indicator to your chart I recommend: right click on any of the indicator windows => "Visual Order" => "Bring to front" as seen screenshot below:
in this example only 3 indicators enabled and period is set as 80:
indicator windows moves to the top or bottom of the chart according to the close price:
P.S. if you want to see any other indicator in the options then leave a comment under the indicator ;)
Enjoy!
Multi-Length Stochastic Average [LuxAlgo]This indicator returns the average of stochastic oscillators with periods ranging from 4 to length . This allows for a slightly more reactive oscillator as well as having information regarding the position of the price relative to rolling maximums/minimums of different periods.
We introduce settings that allow for pre and post-smoothing, with selectable smoothing methods and periods for both steps.
Settings
Length: Period of the indicator, determine the maximum period of the stochastic oscillator used in the average
Source: Source input of the indicator
Pre-Smoothing (1st Input): Degree of smoothing applied to the source input
Pre-Smoothing (2nd Input): Pre-Smoothing Method
Post-Smoothing (1st Input): Degree of smoothing applied to the final oscillator output
Post-Smoothing (2nd Input): Post-Smoothing Method
Smoothing methods include a simple moving average, a triangular moving average, and a least-squares moving average (this method can induce overshoots during the post-smoothing step). The user can also select "None".
Usages
The "multi-length" aspect of technical indicators is something that hasn't been deeply explored yet such indicators can give us information regarding both short-term and long-term information which was the motivation for the creation of the indicator.
The Multi-length Stochastic Average allows us to quantify the price position relative to a multitude of highest/lowest levels.
In the example above the oscillator returns the average of stochastic oscillators with periods ranging from 4 to 20, as well as multiple rolling minimums with periods ranging from 4 to 20. We can see that when the price is equal to all rolling minimums the oscillator is equal to 0, the oscillator would return 100 if the price were equal to all rolling maximums with periods in that same range.
The oscillator can be interpreted like any scaled oscillator and can be used to estimate trend direction as well as trend strength.
Here we only make of use pre-smoothing by using a period 20 simple moving average. The indicator graphical elements such as colors/circles can help us determine potential directions trends might take.
Circles are displayed when the oscillator crosses over/under the 20/80 level. Such conditions offer better timing than waiting for the oscillator to be greater/lower than 50 and are less subjective to noise than simply looking at the direction taken by the oscillator. However, it can suffer from potential retracements in a trend more easily, this is illustrated in the chart above.
Webhook Starter Kit [HullBuster]
Introduction
This is an open source strategy which provides a framework for webhook enabled projects. It is designed to work out-of-the-box on any instrument triggering on an intraday bar interval. This is a full featured script with an emphasis on actual trading at a brokerage through the TradingView alert mechanism and without requiring browser plugins.
The source code is written in a self documenting style with clearly defined sections. The sections “communicate” with each other through state variables making it easy for the strategy to evolve and improve. This is an excellent place for Pine Language beginners to start their strategy building journey. The script exhibits many Pine Language features which will certainly ad power to your script building abilities.
This script employs a basic trend follow strategy utilizing a forward pyramiding technique. Trend detection is implemented through the use of two higher time frame series. The market entry setup is a Simple Moving Average crossover. Positions exit by passing through conditional take profit logic. The script creates ten indicators including a Zscore oscillator to measure support and resistance levels. The indicator parameters are exposed through 47 strategy inputs segregated into seven sections. All of the inputs are equipped with detailed tool tips to help you get started.
To improve the transition from simulation to execution, strategy.entry and strategy.exit calls show enhanced message text with embedded keywords that are combined with the TradingView placeholders at alert time. Thereby, enabling a single JSON message to generate multiple execution events. This is genius stuff from the Pine Language development team. Really excellent work!
This document provides a sample alert message that can be applied to this script with relatively little modification. Without altering the code, the strategy inputs can alter the behavior to generate thousands of orders or simply a few dozen. It can be applied to crypto, stocks or forex instruments. A good way to look at this script is as a webhook lab that can aid in the development of your own endpoint processor, impress your co-workers and have hours of fun.
By no means is a webhook required or even necessary to benefit from this script. The setups, exits, trend detection, pyramids and DCA algorithms can be easily replaced with more sophisticated versions. The modular design of the script logic allows you to incrementally learn and advance this script into a functional trading system that you can be proud of.
Design
This is a trend following strategy that enters long above the trend line and short below. There are five trend lines that are visible by default but can be turned off in Section 7. Identified, in frequency order, as follows:
1. - EMA in the chart time frame. Intended to track price pressure. Configured in Section 3.
2. - ALMA in the higher time frame specified in Section 2 Signal Line Period.
3. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
4. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
5. - DEMA in the higher time frame specified in Section 2 Trend Line Period.
The Blue, Green and Orange lines are signal lines are on the same time frame. The time frame selected should be at least five times greater than the chart time frame. The Purple line represents the trend line for which prices above the line suggest a rising market and prices below a falling market. The time frame selected for the trend should be at least five times greater than the signal lines.
Three oscillators are created as follows:
1. Stochastic - In the chart time frame. Used to enter forward pyramids.
2. Stochastic - In the Trend period. Used to detect exit conditions.
3. Zscore - In the Signal period. Used to detect exit conditions.
The Stochastics are configured identically other than the time frame. The period is set in Section 2.
Two Simple Moving Averages provide the trade entry conditions in the form of a crossover. Crossing up is a long entry and down is a short. This is in fact the same setup you get when you select a basic strategy from the Pine editor. The crossovers are configured in Section 3. You can see where the crosses are occurring by enabling Show Entry Regions in Section 7.
The script has the capacity for pyramids and DCA. Forward pyramids are enabled by setting the Pyramid properties tab with a non zero value. In this case add on trades will enter the market on dips above the position open price. This process will continue until the trade exits. Downward pyramids are available in Crypto and Range mode only. In this case add on trades are placed below the entry price in the drawdown space until the stop is hit. To enable downward pyramids set the Pyramid Minimum Span In Section 1 to a non zero value.
This implementation of Dollar Cost Averaging (DCA) triggers off consecutive losses. Each loss in a run increments a sequence number. The position size is increased as a multiple of this sequence. When the position eventually closes at a profit the sequence is reset. DCA is enabled by setting the Maximum DCA Increments In Section 1 to a non zero value.
It should be noted that the pyramid and DCA features are implemented using a rudimentary design and as such do not perform with the precision of my invite only scripts. They are intended as a feature to stress test your webhook endpoint. As is, you will need to buttress the logic for it to be part of an automated trading system. It is for this reason that I did not apply a Martingale algorithm to this pyramid implementation. But, hey, it’s an open source script so there is plenty of room for learning and your own experimentation.
How does it work
The overall behavior of the script is governed by the Trading Mode selection in Section 1. It is the very first input so you should think about what behavior you intend for this strategy at the onset of the configuration. As previously discussed, this script is designed to be a trend follower. The trend being defined as where the purple line is predominately heading. In BiDir mode, SMA crossovers above the purple line will open long positions and crosses below the line will open short. If pyramiding is enabled add on trades will accumulate on dips above the entry price. The value applied to the Minimum Profit input in Section 1 establishes the threshold for a profitable exit. This is not a hard number exit. The conditional exit logic must be satisfied in order to permit the trade to close. This is where the effort put into the indicator calibration is realized. There are four ways the trade can exit at a profit:
1. Natural exit. When the blue line crosses the green line the trade will close. For a long position the blue line must cross under the green line (downward). For a short the blue must cross over the green (upward).
2. Alma / Linear Regression event. The distance the blue line is from the green and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 6 and relies on the period and length set in Section 2. A long position will exit on an upward thrust which exceeds the activation threshold. A short will exit on a downward thrust.
3. Exponential event. The distance the yellow line is from the blue and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 3 and relies on the period and length set in the same section.
4. Stochastic event. The purple line stochastic is used to measure overbought and over sold levels with regard to position exits. Signal line positions combined with a reading over 80 signals a long profit exit. Similarly, readings below 20 signal a short profit exit.
Another, optional, way to exit a position is by Bale Out. You can enable this feature in Section 1. This is a handy way to reduce the risk when carrying a large pyramid stack. Instead of waiting for the entire position to recover we exit early (bale out) as soon as the profit value has doubled.
There are lots of ways to implement a bale out but the method I used here provides a succinct example. Feel free to improve on it if you like. To see where the Bale Outs occur, enable Show Bale Outs in Section 7. Red labels are rendered below each exit point on the chart.
There are seven selectable Trading Modes available from the drop down in Section 1:
1. Long - Uses the strategy.risk.allow_entry_in to execute long only trades. You will still see shorts on the chart.
2. Short - Uses the strategy.risk.allow_entry_in to execute short only trades. You will still see long trades on the chart.
3. BiDir - This mode is for margin trading with a stop. If a long position was initiated above the trend line and the price has now fallen below the trend, the position will be reversed after the stop is hit. Forward pyramiding is available in this mode if you set the Pyramiding value in the Properties tab. DCA can also be activated.
4. Flip Flop - This is a bidirectional trading mode that automatically reverses on a trend line crossover. This is distinctively different from BiDir since you will get a reversal even without a stop which is advantageous in non-margin trading.
5. Crypto - This mode is for crypto trading where you are buying the coins outright. In this case you likely want to accumulate coins on a crash. Especially, when all the news outlets are talking about the end of Bitcoin and you see nice deep valleys on the chart. Certainly, under these conditions, the market will be well below the purple line. No margin so you can’t go short. Downward pyramids are enabled for Crypto mode when two conditions are met. First the Pyramiding value in the Properties tab must be non zero. Second the Pyramid Minimum Span in Section 1 must be non zero.
6. Range - This is a counter trend trading mode. Longs are entered below the purple trend line and shorts above. Useful when you want to test your webhook in a market where the trend line is bisecting the signal line series. Remember that this strategy is a trend follower. It’s going to get chopped out in a range bound market. By turning on the Range mode you will at least see profitable trades while stuck in the range. However, when the market eventually picks a direction, this mode will sustain losses. This range trading mode is a rudimentary implementation that will need a lot of improvement if you want to create a reliable switch hitter (trend/range combo).
7. No Trade. Useful when setting up the trend lines and the entry and exit is not important.
Once in the trade, long or short, the script tests the exit condition on every bar. If not a profitable exit then it checks if a pyramid is required. As mentioned earlier, the entry setups are quite primitive. Although they can easily be replaced by more sophisticated algorithms, what I really wanted to show is the diminished role of the position entry in the overall life of the trade. Professional traders spend much more time on the management of the trade beyond the market entry. While your trade entry is important, you can get in almost anywhere and still land a profitable exit.
If DCA is enabled, the size of the position will increase in response to consecutive losses. The number of times the position can increase is limited by the number set in Maximum DCA Increments of Section 1. Once the position breaks the losing streak the trade size will return the default quantity set in the Properties tab. It should be noted that the Initial Capital amount set in the Properties tab does not affect the simulation in the same way as a real account. In reality, running out of money will certainly halt trading. In fact, your account would be frozen long before the last penny was committed to a trade. On the other hand, TradingView will keep running the simulation until the current bar even if your funds have been technically depleted.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that the endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. Being a strategy type script place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that my endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Setup
The following steps provide a very brief set of instructions that will get you started on your first configuration. After you’ve gone through the process a couple of times, you won’t need these anymore. It’s really a simple script after all. I have several example configurations that I used to create the performance charts shown. I can share them with you if you like. Of course, if you’ve modified the code then these steps are probably obsolete.
There are 47 inputs divided into seven sections. For the most part, the configuration process is designed to flow from top to bottom. Handy, tool tips are available on every field to help get you through the initial setup.
Step 1. Input the Base Currency and Order Size in the Properties tab. Set the Pyramiding value to zero.
Step 2. Select the Trading Mode you intend to test with from the drop down in Section 1. I usually select No Trade until I’ve setup all of the trend lines, profit and stop levels.
Step 3. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Remember that the profit is taken as a conditional exit not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 4. Apply the appropriate value to the Tick Scalar field in Section 1. This value is used to remove the pipette from the price. You can enable the Summary Report in Section 7 to see the TradingView minimum tick size of the current chart.
Step 5. Apply the appropriate Price Normalizer value in Section 1. This value is used to normalize the instrument price for differential calculations. Basically, we want to increase the magnitude to significant digits to make the numbers more meaningful in comparisons. Though I have used many normalization techniques, I have always found this method to provide a simple and lightweight solution for less demanding applications. Most of the time the default value will be sufficient. The Tick Scalar and Price Normalizer value work together within a single calculation so changing either will affect all delta result values.
Step 6. Turn on the trend line plots in Section 7. Then configure Section 2. Try to get the plots to show you what’s really happening not what you want to happen. The most important is the purple trend line. Select an interval and length that seem to identify where prices tend to go during non-consolidation periods. Remember that a natural exit is when the blue crosses the green line.
Step 7. Enable Show Event Regions in Section 7. Then adjust Section 6. Blue background fills are spikes and red fills are plunging prices. These measurements should be hard to come by so you should see relatively few fills on the chart if you’ve set this up as intended. Section 6 includes the Zscore oscillator the state of which combines with the signal lines to detect statistically significant price movement. The Zscore is a zero based calculation with positive and negative magnitude readings. You want to input a reasonably large number slightly below the maximum amplitude seen on the chart. Both rise and fall inputs are entered as a positive real number. You can easily use my code to create a separate indicator if you want to see it in action. The default value is sufficient for most configurations.
Step 8. Turn off Show Event Regions and enable Show Entry Regions in Section 7. Then adjust Section 3. This section contains two parts. The entry setup crossovers and EMA events. Adjust the crossovers first. That is the Fast Cross Length and Slow Cross Length. The frequency of your trades will be shown as blue and red fills. There should be a lot. Then turn off Show Event Regions and enable Display EMA Peaks. Adjust all the fields that have the word EMA. This is actually the yellow line on the chart. The blue and red fills should show much less than the crossovers but more than event fills shown in Step 7.
Step 9. Change the Trading Mode to BiDir if you selected No Trades previously. Look on the chart and see where the trades are occurring. Make adjustments to the Minimum Profit and Stop Offset in Section 1 if necessary. Wider profits and stops reduce the trade frequency.
Step 10. Go to Section 4 and 5 and make fine tuning adjustments to the long and short side.
Example Settings
To reproduce the performance shown on the chart please use the following configuration: (Bitcoin on the Kraken exchange)
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 12
4. In Section 1: Select “Crypto” for the Trading Model
5. In Section 1: Input 2000 for the Minimum Profit
6. In Section 1: Input 0 for the Stop Offset (No Stop)
7. In Section 1: Input 10 for the Tick Scalar
8. In Section 1: Input 1000 for the Price Normalizer
9. In Section 1: Input 2000 for the Pyramid Minimum Span
10. In Section 1: Check mark the Position Bale Out
11. In Section 2: Input 60 for the Signal Line Period
12. In Section 2: Input 1440 for the Trend Line Period
13. In Section 2: Input 5 for the Fast Alma Length
14. In Section 2: Input 22 for the Fast LinReg Length
15. In Section 2: Input 100 for the Slow LinReg Length
16. In Section 2: Input 90 for the Trend Line Length
17. In Section 2: Input 14 Stochastic Length
18. In Section 3: Input 9 Fast Cross Length
19. In Section 3: Input 24 Slow Cross Length
20. In Section 3: Input 8 Fast EMA Length
21. In Section 3: Input 10 Fast EMA Rise NetChg
22. In Section 3: Input 1 Fast EMA Rise ROC
23. In Section 3: Input 10 Fast EMA Fall NetChg
24. In Section 3: Input 1 Fast EMA Fall ROC
25. In Section 4: Check mark the Long Natural Exit
26. In Section 4: Check mark the Long Signal Exit
27. In Section 4: Check mark the Long Price Event Exit
28. In Section 4: Check mark the Long Stochastic Exit
29. In Section 5: Check mark the Short Natural Exit
30. In Section 5: Check mark the Short Signal Exit
31. In Section 5: Check mark the Short Price Event Exit
32. In Section 5: Check mark the Short Stochastic Exit
33. In Section 6: Input 120 Rise Event NetChg
34. In Section 6: Input 1 Rise Event ROC
35. In Section 6: Input 5 Min Above Zero ZScore
36. In Section 6: Input 120 Fall Event NetChg
37. In Section 6: Input 1 Fall Event ROC
38. In Section 6: Input 5 Min Below Zero ZScore
In this configuration we are trading in long only mode and have enabled downward pyramiding. The purple trend line is based on the day (1440) period. The length is set at 90 days so it’s going to take a while for the trend line to alter course should this symbol decide to node dive for a prolonged amount of time. Your trades will still go long under those circumstances. Since downward accumulation is enabled, your position size will grow on the way down.
The performance example is Bitcoin so we assume the trader is buying coins outright. That being the case we don’t need a stop since we will never receive a margin call. New buy signals will be generated when the price exceeds the magnitude and speed defined by the Event Net Change and Rate of Change.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
William %R MTF [DM]Greeting Colleagues
Today I share The Wlliams %R
Extras=
- 5 diferent length
- 1 extra signal with the technique used in the ultimate oscillator
- Fibo Leves based on ob os leves "width it's automatic"
- Colored bars bassed en average strength
- The indicator that is modified now has the same range as the ultimate oscillator.
Enjoy
trend_vol_stopThe description below is copied from the script's comments. Because TradingView does not allow me to edit this description, please refer to the script's comments section, as well as the release notes, for the most up-to-date information.
----------
Usage:
The inputs define the trend and the volatility stop.
Trend:
The trend is defined by a moving average crossover. When the short
(or fast) moving average is above the long (slow) moving average, the
trend is up. Otherwise, the trend is down. The inputs are:
long: the number of periods in the long/slow moving average.
short: the number of periods in the short/fast moving average.
The slow moving average is shown in various colors (see explanation
below. The fast moving average is a faint blue.
Volatility stop:
The volatility stop has two modes, percentage and rank. The percentage
stop is given in terms of annualized volatility. The rank stop is given
in terms of percentile.
stop_pct and stop_rank are initialized with "-1". You need to set one of
these to the values you want after adding the indicator to your chart.
This is the only setting that requires your input.
mode: choose "rank" for a rank stop, "percentage" for a percentage stop.
vol_window: the number of periods in the historical volatility
calculation. e.g. "30" means the volatility will be a weighted
average of the previous 30 periods. applies to both types of stop.
stop_pct: the volatility limit, annualized. for example, "50" means
that the trend will not be followed when historical volatility rises
above 50%.
stop_rank: the trend will not be followed when the volatility is in the
N-th percentile. for example, "75" means the trend will not be
followed when the current historical volatility is greater than 75%
of previous volatilities.
rank_window: the number of periods in the rank percentile calculation.
for example, if rank_window is "252" and "stop_rank" is "80", the
trend will not be followed when current historical volatility is
greater than 80% of the previous 252 historical volatilities.
Outputs:
The outputs include moving averages, to visually identify the trend,
a volatility table, and a performance table.
Moving averages:
The slow moving average is colored green in an uptrend, red in a
downtrend, and black when the volatility stop is in place.
Volatility table:
The volatility table gives the current historical volatility, annualized
and expressed as a whole number percentage. E.g. "65" means the
instrument's one standard deviation annual move is 65% of its price.
The current rank is expressed, also as a whole number percentage. E.g.
"15" means the current volatility is greater than 15% of previous
volatilities. For convenience, the volatilities corresponding to the
0, 25, 50, 75, and 100th percentiles are also shown.
Performance table:
The performance table shows the current strategy's performance versus
buy-and-hold. If the trend is up, the instrument's return for that
period is added to the strategy's return, because the strategy is long.
If the trend is down, the negative return is added, because the strategy
is short. If the volatility stop is in (the slow moving average is
black), that period's return is excluded from the strategy returns.
Every period's return is added to the buy-and-hold returns.
The table shows the average return, the standard deviation of returns,
and the sharpe ratio (average return / standard deviation of returns).
All figures are expressed as per-period, whole number percentages.
For exmaple, "0.1" in the mean column on a daily chart means a
0.1% daily return.
The number of periods (samples) for each strategy is also shown.
Matrix Altcoin-2RSI values of 40 altcoins on one screen
Matrix Altcoin 1 and 2 have a total of 80 altcoins
------------------
Especially reverse scalping traders can follow the momentum from this screen.
BUTUN ALTCOİNLERIN RSİ DEĞERİ İŞTE.NE YAZAYIM NE İSTİYORSUN..
Matrix AltCoin-1RSI values of 40 altcoins on one screen
Matrix Altcoin 1 and 2 have a total of 80 altcoins
------------------
Especially reverse scalping traders can follow the momentum from this screen.
Multiband Oscillator - Zigzag versionJust variation of Multi Band oscillator present here: Multi-Band-Channel-Oversold-Overbought-Oscillator
Changes are:
Instead of regular moving average, here I am using Zigzag Moving average. This is calculated in similar to as explained in: Zigzag-Cloud
Instead of ATR, using AZR (Average Zigzag Range) - Average-Zigzag-Range-AZR
Rest of the logic remains same.
Number of bands used 100 - which means, calculate 100 Bollinger bands with Std Dev Multiplier starting from 0.1 and with step 0.1 for the next one.
Which divides price ranges into 200 equal parts. Calculate what is the current range and plot them.
Overbought - Oversold levels are dynamics. They are dependent on the max and min state price has reached in last 80 days. Offset and factor can be used to adjust overbought oversold levels.
[VJ]War Machine PAT IntraThis is a simple intraday strategy for working on Stocks . You can modify the values on the stock and see what are your best picks. Comment below if you found something with good returns
Strategy:
Indicators used :
The Choppiness Index is designed to determine whether the market is choppy or trading sideways, or not choppy and trading within a trend in either direction. Using a scale from 1 - 100, the market is considered to be choppy as values near 100 (over 61.80) and trending when values are lower than 38.20)
The Money Flow Index (MFI) is a momentum indicator that measures the flow of money into and out of a security over a specified period of time. It is related to the Relative Strength Index (RSI) but incorporates volume, whereas the RSI only considers price. The MFI is calculated by accumulating positive and negative Money Flow values (see Money Flow), then creating a Money Ratio. The Money Ratio is then normalized into the MFI oscillator form.
Using the combination of CI (trend factor as constant) and varying MFI, we can buy/sell when conditions are met
Buying with MFI
1. MFI drops below 20 and enters inside oversold zone.
2. MFI bounces back above 20.
3. MFI pulls back but remains above 20.
4. A MFI break out above its previous high is a good buy signal.
Selling with MFI
1. MFI rises above 80 and enters inside overbought zone.
2. MFI drops back below 80.
3. MFI rises slightly but remains below 80.
4. MFI drops lower than its previous low is a signal to short sell or profit booking
Usage & Best setting :
Choose a good volatile stock and a time frame - 5m.
Trending factor : 50
Overbought & Oversold - can be varied as per user
There is stop loss and take profit that can be used to optimise your trade
The template also includes daily square off based on your time.