KayeDinero TrendSetter HFX NFXThis script combines my volume and trend indicators with an added flare.
The mindset for this strategy is a trending market, where price is moving in a consistent direction with some reversals.
The most unique concept of this script is the background calculator (divergent). This is different from other scripts on the platform because of the close tie in with the relative strength index as well as the on balance volume. The divergent lets you know of overbought and oversold conditions.
Another unique take, is the use of the Keltner Channels, which provides insight on volatility.
Best Traded during Hours 3am to 12am EST (NY Time).
This method works best in trending markets.
Time Frame, 1,3,5,15,30min
Currency Pairs: All Major, Exotic, Crypto
Here's The Strategy:
Oversold and Buy: When those are present, proceed to take a buy (call) option.
Overbought and Sell: When those are present, proceed to take a sell (put) option.
Keep in mind, timeframe will depend on your time of trading in the markets.
Morning typically 2-4min
Afternoon / Evening: 3-5min
Hint:
Best Trades on reversals at top and bottom of Keltner Channels.
חפש סקריפטים עבור "the strat"
#TheStrat - Highs and Lows of Candles of 4 Custom Time framesThe bread and butter of strat traders is multi-timeframe analysis. We do MTFA in 2 different ways: 1) By Looking for entries confirmed by Full Timeframe Continuity which is just another way of saying that on multiple timeframes, the candles currently forming are all uniform in direction(ie. all red candles or all green candles), and 2) Looking for Strat reversal on lower timeframes that trigger your higher timeframes reversals.
This script is concerned with the latter piece of multi-timeframe analysis, and its application to the strat
Anyone who has watched Sara's videos teaching the strat can see how she uses the highs and lows of her major time periods, the monthly, weekly, and daily, to find entries from her lower time periods to trigger her higher timeframes. This script performs the process of marking the highs and lows of 4-major time periods automatically so that you do not need to mark every single chart you use manually. I have found this script to be very useful, and convenient. I hope that other stratters find it as useful as I am. Below outlines how to use this, although it is mostly self-explanatory. Special thanks and credit to millerrm, who I used his original code snippets to rework his original script to something more tailored to my personal use cases.
Settings -
You can change the time periods of the candles that you would like to mark to any time frame using the 4 dropdown boxes marked TF#
You can choose to toggle the lines for each given time period on and off, in the settings by checking off each time period.
The default colors are purple, blue, orange, and white, in order respective of time from shortest to highest
The default time periods are 3hr, 6hr, 12hr, and daily
Bjorgum SuperScript
Bjorgum Reversal
Bj Reversal uses Tilson moving averages to identify trend changes
Bars change to yellow as bar close crosses the Tilson moving averages. Blue or red is confirmed as the two Tilson averages themselves cross.
Reversal is great for pinpointing trend change often giving the absolute best entry or exit
Its sensitive nature can mean more false signals on some assets
Be sure to use other indicators from the Bjorgum Collection to confirm signals, or use another strategy that fits the asset or time frame being viewed
Bjorgum HEMA Strategy
Hema uses HA smoothed EMAs to identify trend direction
Default EMA lengths are 5,9, and 21 period
Bar Color will change Malibu or Ruby on a cross of BOTH 5 and 9 EMA
The lengths are customizable to whatever lengths the user desires
Rolando Santos True Relative Movement (TRM)
This underrated momentum strategy conceptualized by Rolando Santos uses 2 indicators to give a 3 color scheme
A leading indicator (RSI) is combined with a lagging indicator (TSI) to produce bar colors based on the condition of each indicator
Both indicators in positive territory produce blue bars
Both indicators in negative bias produce yellow bars
If signals are mixed (one up one down) bars become grey
Speed Selection
The Bjorgum speed selector optimizes the strategy based on the users desires or trading style at the touch of a button
Fast setting is better for swing trades - more timely signals, more whipsaw
Slow setting is better for longer holds or more volatile assets - slower signals, smooths out whipsaw
RSI Bar Color
RSI color changes bar color based on user defined RSI values
Buy/ sell signals are typically given on a cross of the 50 level
Speed selector (fast/Slow) automatically changes lengths between Bj RSI (5 period) and a standard RSI (14 period)
Additional capabilities can be mixed and matched from strategies in the "Strategy Override" section
Add-ons include:
Tilson - The moving average system from Bjorgum Reversal can be toggled to couple with another bar color strategy by clicking this button
PSAR - Parabolic Stop and Reverse indicator can help with trend direction, volatility, and stop losses
HEMA - The 3 moving average system from the HEMA strategy can be coupled with any of the other strategies by clicking "Show HEMA"
Bj Arrows - These arrows plot at the bar level to draw attention to when the BJ TSI is "curling" (See profile for Bjorgum TSI and download today)
-Optional "Plotbar Overlay" plots bars with Heikin-Ashi Inputs when toggled
-This allows for the benefits of price smoothing without sacrificing moving average and indicator performance as real close value is still used
-This can also help on short time frames and improve results with crypto! The user must "mute" the main series candles when in use to avoid candle overlap.
-Optional price line as muting main bars will disable the TradingView default price line. The horizontal plot will track the real closing price while in HA mode!
Historical Volatility Percentile FilterThis indicator provides a simple market regime filter for Historical Volatility. Depending on the strategy that you are using, it is useful to know how your strategy will perform at different
ranges of volatility, as this can greatly impact your performance. For instance, some of my long-only mean reversion strategies will only take trades where the volatility percentile is not extremely high, as this can often indicate fundamental changes in the security or the start of a big market correction. Some strategies may work better when volatility is higher
Feel free to use the following code along with your strategies to help improve performance and reduce the volatility of your gains in the long term.
Hilega-MilegaPublishing this script on special request.
script siulates the strategy given by very polite and veteran trader from Patna ( NK Stock Talk ) . according to him, one can predict the market movement in any timeframe by applying some correlations of volume and price on top of strength.
He recommends to apply weighted moving avergage ( to predict volume factor ) on top of RSI and EMA to predict price ( on top of RSI again ) along with VWAP . i could not include VWAP here in script but it can be added separatly by just striking "/" on chart.
for more information and understanding on the strategy, one can refer the channel of NK Stock talk
search "Hilega To Milega (Hilbe_milbe ) Trading & Investing super System" on youtube.
Hopefully this will be usefull for all those who are using basic serverice of trading view and could not do indicator on top of indicator.
Disclaimer : I am just publishing for public use and nothing is recommendation. please understand it first before applying to trading. purpose of this script is solely on giving example how pine can be used to solved indicator on indicator problems. all credit to person who created this strategy.
Thanks
-daytraderph
MACD oscillator with EMA alert version 4HThis is the study/indicator alert version of the macd + ema strategy.
The strategy details are the following :
Is a simple, yet efficient strategy, which is made from a combination of an oscillator and a moving average.
Its setup for 4h candles with the current settings, however it can be adapted to other different timeframes.
It works nicely ,beating the buy and hold for both BTC and ETH over the last 3 years.
As well with some optimizations and modifications it can be adapted to futures market, indexes(NASDAQ, NIFTY etc), forex( GBPUSD ), stocks and so on.
Components:
MACD
EMA
Time condition
Long/short option
For long/exit short we enter when we are above the ema , histogram is positive and current candle is higher than previous.
For short /exit long , when close below ema , histo negative and current candles smaller than previous
If you have any questions please let me know !
Using `varip` variables [PineCoders]█ OVERVIEW
The new varip keyword in Pine can be used to declare variables that escape the rollback process, which is explained in the Pine User Manual's page on the execution model . This publication explains how Pine coders can use variables declared with varip to implement logic that was impossible to code in Pine before, such as timing events during the realtime bar, or keeping track of sequences of events that occur during successive realtime updates. We present code that allows you to calculate for how much time a given condition is true during a realtime bar, and show how this can be used to generate alerts.
█ WARNINGS
1. varip is an advanced feature which should only be used by coders already familiar with Pine's execution model and bar states .
2. Because varip only affects the behavior of your code in the realtime bar, it follows that backtest results on strategies built using logic based on varip will be meaningless,
as varip behavior cannot be simulated on historical bars. This also entails that plots on historical bars will not be able to reproduce the script's behavior in realtime.
3. Authors publishing scripts that behave differently in realtime and on historical bars should imperatively explain this to traders.
█ CONCEPTS
Escaping the rollback process
Whereas scripts only execute once at the close of historical bars, when a script is running in realtime, it executes every time the chart's feed detects a price or volume update. At every realtime update, Pine's runtime normally resets the values of a script's variables to their last committed value, i.e., the value they held when the previous bar closed. This is generally handy, as each realtime script execution starts from a known state, which simplifies script logic.
Sometimes, however, script logic requires code to be able to save states between different executions in the realtime bar. Declaring variables with varip now makes that possible. The "ip" in varip stands for "intrabar persist".
Let's look at the following code, which does not use varip :
//@version=4
study("")
int updateNo = na
if barstate.isnew
updateNo := 1
else
updateNo := updateNo + 1
plot(updateNo, style = plot.style_circles)
On historical bars, barstate.isnew is always true, so the plot shows a value of "1". On realtime bars, barstate.isnew is only true when the script first executes on the bar's opening. The plot will then briefly display "1" until subsequent executions occur. On the next executions during the realtime bar, the second branch of the if statement is executed because barstate.isnew is no longer true. Since `updateNo` is initialized to `na` at each execution, the `updateNo + 1` expression yields `na`, so nothing is plotted on further realtime executions of the script.
If we now use varip to declare the `updateNo` variable, the script behaves very differently:
//@version=4
study("")
varip int updateNo = na
if barstate.isnew
updateNo := 1
else
updateNo := updateNo + 1
plot(updateNo, style = plot.style_circles)
The difference now is that `updateNo` tracks the number of realtime updates that occur on each realtime bar. This can happen because the varip declaration allows the value of `updateNo` to be preserved between realtime updates; it is no longer rolled back at each realtime execution of the script. The test on barstate.isnew allows us to reset the update count when a new realtime bar comes in.
█ OUR SCRIPT
Let's move on to our script. It has three parts:
— Part 1 demonstrates how to generate alerts on timed conditions.
— Part 2 calculates the average of realtime update prices using a varip array.
— Part 3 presents a function to calculate the up/down/neutral volume by looking at price and volume variations between realtime bar updates.
Something we could not do in Pine before varip was to time the duration for which a condition is continuously true in the realtime bar. This was not possible because we could not save the beginning time of the first occurrence of the true condition.
One use case for this is a strategy where the system modeler wants to exit before the end of the realtime bar, but only if the exit condition occurs for a specific amount of time. One can thus design a strategy running on a 1H timeframe but able to exit if the exit condition persists for 15 minutes, for example. REMINDER: Using such logic in strategies will make backtesting their complete logic impossible, and backtest results useless, as historical behavior will not match the strategy's behavior in realtime, just as using `calc_on_every_tick = true` will do. Using `calc_on_every_tick = true` is necessary, by the way, when using varip in a strategy, as you want the strategy to run like a study in realtime, i.e., executing on each price or volume update.
Our script presents an `f_secondsSince(_cond, _resetCond)` function to calculate the time for which a condition is continuously true during, or even across multiple realtime bars. It only works in realtime. The abundant comments in the script hopefully provide enough information to understand the details of what it's doing. If you have questions, feel free to ask in the Comments section.
Features
The script's inputs allow you to:
• Specify the number of seconds the tested conditions must last before an alert is triggered (the default is 20 seconds).
• Determine if you want the duration to reset on new realtime bars.
• Require the direction of alerts (up or down) to alternate, which minimizes the number of alerts the script generates.
The inputs showcase the new `tooltip` parameter, which allows additional information to be displayed for each input by hovering over the "i" icon next to it.
The script only displays useful information on realtime bars. This information includes:
• The MA against which the current price is compared to determine the bull or bear conditions.
• A dash which prints on the chart when the bull or bear condition is true.
• An up or down triangle that prints when an alert is generated. The triangle will only appear on the update where the alert is triggered,
and unless that happens to be on the last execution of the realtime bar, it will not persist on the chart.
• The log of all triggered alerts to the right of the realtime bar.
• A gray square on top of the elapsed realtime bars where one or more alerts were generated. The square's tooltip displays the alert log for that bar.
• A yellow dot corresponding to the average price of all realtime bar updates, which is calculated using a varip array in "Part 2" of the script.
• Various key values in the Data Window for each parts of the script.
Note that the directional volume information calculated in Part 3 of the script is not plotted on the chart—only in the Data Window.
Using the script
You can try running the script on an open market with a 30sec timeframe. Because the default settings reset the duration on new realtime bars and require a 20 second delay, a reasonable amount of alerts will trigger.
Creating an alert on the script
You can create a script alert on the script. Keep in mind that when you create an alert from this script, the duration calculated by the instance of the script running the alert will not necessarily match that of the instance running on your chart, as both started their calculations at different times. Note that we use alert.freq_all in our alert() calls, so that alerts will trigger on all instances where the associated condition is met. If your alert is being paused because it reaches the maximum of 15 triggers in 3 minutes, you can configure the script's inputs so that up/down alerts must alternate. Also keep in mind that alerts run a distinct instance of your script on different servers, so discrepancies between the behavior of scripts running on charts and alerts can occur, especially if they trigger very often.
Challenges
Events detected in realtime using variables declared with varip can be transient and not leave visible traces at the close of the realtime bar, as is the case with our script, which can trigger multiple alerts during the same realtime bar, when the script's inputs allow for this. In such cases, elapsed realtime bars will be of no use in detecting past realtime bar events unless dedicated code is used to save traces of events, as we do with our alert log in this script, which we display as a tooltip on elapsed realtime bars.
█ NOTES
Realtime updates
We have no control over when realtime updates occur. A realtime bar can open, and then no realtime updates can occur until the open of the next realtime bar. The time between updates can vary considerably.
Past values
There is no mechanism to refer to past values of a varip variable across realtime executions in the same bar. Using the history-referencing operator will, as usual, return the variable's committed value on previous bars. If you want to preserve past values of a varip variable, they must be saved in other variables or in an array .
Resetting variables
Because varip variables not only preserve their values across realtime updates, but also across bars, you will typically need to plan conditions that will at some point reset their values to a known state. Testing on barstate.isnew , as we do, is a good way to achieve that.
Repainting
The fact that a script uses varip does not make it necessarily repainting. A script could conceivably use varip to calculate values saved when the realtime bar closes, and then use confirmed values of those calculations from the previous bar to trigger alerts or display plots, avoiding repaint.
timenow resolution
Although the variable is expressed in milliseconds it has an actual resolution of seconds, so it only increments in multiples of 1000 milliseconds.
Warn script users
When using varip to implement logic that cannot be replicated on historical bars, it's really important to explain this to traders in published script descriptions, even if you publish open-source. Remember that most TradingViewers do not know Pine.
New Pine features used in this script
This script uses three new Pine features:
• varip
• The `tooltip` parameter in input() .
• The new += assignment operator. See these also: -= , *= , /= and %= .
Example scripts
These are other scripts by PineCoders that use varip :
• Tick Delta Volume , by RicadoSantos .
• Tick Chart and Volume Info from Lower Time Frames by LonesomeTheBlue .
Thanks
Thanks to the PineCoders who helped improve this publication—especially to bmistiaen .
Look first. Then leap.
EMA BANDS//Trades have been checked periodically on daily charts with normal, basically, you'll set in trades for weeks, months, and years in some cases depending on the time frame and strategy you use, DO NOT TRADE ON MARGIN INTEREST WILL RUIN YOU.
//You can use the strategies on lower timeframes, however, you'll need to be able to execute trades during all market hours if you choose anything less than a daily.
//You MUST stay in your trade until the very end. that means even if you open the trade and you're super in red DON'T DUMP.
//Set stop losses to no more than 50% of your entry price. Less is better but understand that you may be stomped out of a trade that could reverse after a 40-49% pullback.
//I suggest you pull initial capital out after you 2x to lock in your profit.
//You must also have the ability to sell/buy after market hours, you'll make your trades generally one-two hours post-market in most cases.
//The green line gives a simple average of the last 1618 candles. The further price action is from the mean, the more the price will be pulled back. (Ideally)
//Strategy One (Safe/Slow)
//Buy when the closing price is less than the lower bounds of all bands. This does not include the green "Mean" line
//Sell when the closing price is greater than the upper bounds of all bands. Again, this does not include the green "Mean" line
//Strategy Two (Neutral)
//Buy when the closing price is less than the bounds of 3-4 out of the 4 bands.
//Sell when the closing price is greater than the bounds of 3-4 out of the 4 bands.
//This means that you execute trades even if the closing price is still within one band.
//You'll still execute orders even if the closing price is outside of all bands
//Strategy Three (Least Safe/Fast)
//Buy when the closing price is less than the bounds of 2-4 out of the 4 bands.
//Sell when the closing price is greater than the bounds of 2-4 out of the 4 bands.
//This means that you execute trades even if the closing price is still within two bands.
//You'll still execute orders even if the closing price is outside of all bands
//You'll still execute orders even if the closing price is outside of 3 of 4 bands
Custom Screener with Alerts V2 [QuantNomad]TradingView just recently announced the alert() function that allows you to create dynamic alerts from both strategies and studies.
So I decided to update custom screener I published before. It was based on alerts from orders in strategies, that was the only way to create dynamic alerts in PineScript at that point.
With the alert() function code become cleaner and more readable.
It works for up to 40 symbols at the same time.
You can create an alert from it easily by selecting screener name from the list and then selecting "Any alert() function call".
No additional configuration is required, message and alert on close I set up in the code.
I created as an example a screener that tracks both overbought (RSI > 70) and oversold stocks (RSI < 30).
To create your own screener you have to change only screenerFunc().
By design it should output 2 values:
cond - True/False Boolean variable. Should this instrument be displayed in the screener?
value - Additional numeric value you can display in your screener. I display RSI level for selected stocks for example.
Link to the old screener:
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
Strategy's Annual Return [racer8]I was trying to find the annual return for a particular strategy script based on profit factor, annual trade frequency, and win rate.
So on paper, I created some equations to help me solve this...and eventually, I created this indicator!
This indicator will help you find the annual return for any strategy. All you need to input is profit factor, number of trades per year, and win rate...oh and percentage of equity to risk in the trades.
By the way, if the output is 1.15, that means 15% annual return.
Keep in mind that this is a mere approximation...and the actual return is likely lower than this value.
Also if your margin trading, set order size to 100% of equity in the strategy's parameters.
Hopes this helps. Good luck and enjoy ;)
QuantNomad - Heikin-Ashi PSAR AlertsUsing this script you can create alerts for my Heikin-Ashi PSAR Strategy:
When creating alerts use "Once Per Bar Close" in parameters.
####################
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
BCeyhan Hull Strategy System by HassonyaHere is the 1 Hour Hull Moving Average Strategy System
1 hour strategy for Day Traders or Swing Traders.
Our purpose in this system, we have a channel belonging to hullma50 - Channel Top and Channel Bottom.
The indicator warns us when the price rises above hullma14 with green arrow.
Then it tells us to be ready when she collides with the lower band.
When hullma14 breaks hullma50 up, we make our first part purchase.
Then hullma14 breaks hullma100 up, we make our second part purchase.
The system warns you with a red arrow when the price drops below the hull moving average of hullma14. If you want, you can sell there.
Then, when the upper band is broken, it warns with caution with the C label.
And finally, when we break down hullma14, hullma 50, we sell parts and we completely exit hullma14, hullma100 down the position we have.
Our strategy is when Hullma50 is below hullma100. If hullma100 is below hullma50, we will buy the first piece when hullma14 breaks hullma100 up. When hullma14 breaks hullma50 up, we will buy a second piece. That's it
Here is the Resistance/Support Breakouts Alerts with green and red arrows
C label is Careful R label is Ready.
and last one, the candle bars were adjusted on a volume based colored bars.
You can find the necessary explanation about the use of bars here.
You can use it in different indicators to support the strategy. (Rsi , Macd , Stochastic ...)
Thanks
Strat-test ALERTSAlerts script, accompanying the "Strategy Tester EMA-SMA-RSI-MACD" script,
when you find a good strategy, you can use the same settings in this Alert script and
you'll have your alerts
Have fun!
RSI Multicolor editableEN:
RSI with overbought and oversold area in color and editable level. visually more interesting than the basic version the overbought and oversold areas catch the eye quickly. Depending on the strategies and your personal use of the RSI, you can modify all the lines and add colors to each defined zone.
overbought zone, oversold and editable noise zone
I wanted to have a modifiable RSI like some trading platforms.
please excuse me for my english and my code, i'm just getting started.
FR:
RSI avec zone de surachat et survente en couleur et niveau éditable. visuellement plus intéressant que la version basique les zones de surachat et survente attirent l’œil rapidement. Selon les stratégies et l'utilisation personnel que vous faite du RSI, vous pouvez modifier toutes les lignes et ajouter des couleurs à chaque zone défini.
zone de surachat, survente et zone de bruit éditable
je souhaitais avoir un RSI modifiable comme certaines plateforme de trading.
veuillez m'excuser pour mon anglais et mon code, je débute.
Expanded Camarilla LevelsHello Everyone,
The Expanded Camarilla Level s is introduced in the book " Secrets of a Pivot Boss: Revealing Proven Methods for Profiting in the Market " by Franklin Ocho a. I will not write a lot about the book, you should read it for yourself. There are many great ideas in the book, such using these levels, following trend, time price opportunity, Advanced Camarilla Concepts and much more.
The definition/formula of the levels defined in the book. ( actualy L1, L2, H1 and H2 levels are not used in the strategy, so not shown on the chart )
RANGE = highhtf - lowhtf
H5 = (HIGH/ LOW) * CLOSE
H4 = CLOSE + RANGE * 1.1/2
H3 = CLOSE+ RANGE * 1.1/4
H2 = CLOSE+ RANGE * 1.1/6
H1 = CLOSE+ RANGE * 1.1/12
L1 = CLOSE- RANGE * 1.1/12
L2 = CLOSE- RANGE * 1.1/6
L3 = CLOSE- RANGE * 1.1/4
L4 = CLOSE- RANGE * 1.1/2
L5 = CLOSE- (H5 - CLOSE)
Levels:
Strategy: you need to take care of the candles, as you can see there is bearish candle on first part, and Bullish Candle on second part!
Another Strategy:
An Example:
ENJOY!
Price Action and 3 EMAs Momentum plus Sessions FilterThis indicator plots on the chart the parameters and signals of the Price Action and 3 EMAs Momentum plus Sessions Filter Algorithmic Strategy. The strategy trades based on time-series (absolute) and relative momentum of price close, highs, lows and 3 EMAs.
I am still learning PS and therefore I have only been able to write the indicator up to the Signal generation. I plan to expand the indicator to Entry Signals as well as the full Strategy.
The strategy works best on EURUSD in the 15 minutes TF during London and New York sessions with 1 to 1 TP and SL of 30 pips with lots resulting in 3% risk of the account per trade. I have already written the full strategy in another language and platform and back tested it for ten years and it was profitable for 7 of the 10 years with average profit of 15% p.a which can be easily increased by increasing risk per trade. I have been trading it live in that platform for over two years and it is profitable.
Contributions from experienced PS coders in completing the Indicator as well as writing the Strategy and back testing it on Trading View will be appreciated.
STRATEGY AND INDICATOR PARAMETERS
Three periods of 12, 48 and 96 in the 15 min TF which are equivalent to 3, 12 and 24 hours i.e (15 min * period / 60 min) are the foundational inputs for all the parameters of the PA & 3 EMAs Momentum + SF Algo Strategy and its Indicator.
3 EMAs momentum parameters and conditions
• FastEMA = ema of 12 periods
• MedEMA = ema of 48 periods
• SlowEMA = ema of 96 periods
• All the EMAs analyse price close for up to 96 (15 min periods) equivalent to 24 hours
• There’s Upward EMA momentum if price close > FastEMA and FastEMA > MedEMA and MedEMA > SlowEMA
• There’s Downward EMA momentum if price close < FastEMA and FastEMA < MedEMA and MedEMA < SlowEMA
PA momentum parameters and conditions
• HH = Highest High of 48 periods from 1st closed bar before current bar
• LL = Lowest Low of 48 periods from 1st closed bar from current bar
• Previous HH = Highest High of 84 periods from 12th closed bar before current bar
• Previous LL = Lowest Low of 84 periods from 12th closed bar before current bar
• All the HH & LL and prevHH & prevLL are within the 96 periods from the 1st closed bar before current bar and therefore indicative of momentum during the past 24 hours
• There’s Upward PA momentum if price close > HH and HH > prevHH and LL > prevLL
• There’s Downward PA momentum if price close < LL and LL < prevLL and HH < prevHH
Signal conditions and Status (BuySignal, SellSignal or Neutral)
• The strategy generates Buy or Sell Signals if both 3 EMAs and PA momentum conditions are met for each direction and these occur during the London and New York sessions
• BuySignal if price close > FastEMA and FastEMA > MedEMA and MedEMA > SlowEMA and price close > HH and HH > prevHH and LL > prevLL and timeinrange (LDN&NY) else Neutral
• SellSignal if price close < FastEMA and FastEMA < MedEMA and MedEMA < SlowEMA and price close < LL and LL < prevLL and HH < prevHH and timeinrange (LDN&NY) else Neutral
Entry conditions and Status (EnterBuy, EnterSell or Neutral)(NOT CODED YET)
• ENTRY IS NOT AT THE SIGNAL BAR but at the current bar tick price retracement to FastEMA after the signal
• EnterBuy if current bar tick price <= FastEMA and current bar tick price > prevHH at the time of the Buy Signal
• EnterSell if current bar tick price >= FastEMA and current bar tick price > prevLL at the time of the Sell Signal
Jurik Moving Average Crossover Strategy [ChuckBanger]The classic moving average crossover strategy does not work well in markets that, instead of trending, tend to frequently reverse within a trading range. The lag between the actual time the market has reversed direction and when the moving average is signalling a trade, the trend is already over and the market is about to go against your position. In this environment, a more appropriate trading strategy is suggested here using an JMA Keltner Channel.
The idea is to create a channel based of support and resistance. When the market breaks out of the channel, and fails to maintain momentum. It is likely the price will fall back toward the center of the channel. This tendency can be exploited in the following manner.
In the chart above, The aqua and maroon (center line) and the blue lines are part of a channel. The middle line is a slow running JMA of the closing prices, with Length = 30 and phase = 0. The upper blue band is constructed by adding 1.5 times of 30-bar ATR (average true range) to the center JMA line and the lower blue band by deducting the same amount. There is a grey line running through the data- That is a fast running JMA with length = 5 and phase = 100 representing the price.
The red dots indicate that the the price is going back in the channel and the market is retracting from a failed upward breakout, and the green dots mark when price is retracting from a failed downward breakout. These are places where one might want to enter the trade. The orange dots indicate where price crosses the center line, a reasonable place to take profit from or even exit the trade.
The center line also shows the up or down movements if the setting is ticked. This feature is useful to use when exit a trade. For example, you enter a long position on a green dot signal and the color is maroon. You can wait for 3-5 candles (depending of markets). And if the color doesn’t change it can be an indication that the price is going lower. Here it is possible to switch to a short possible or the opposite apply if you enter on a red dot.
The parameter use in this study is for demonstrating purposes only. This is to show how you can use JMA. Do not trade with real money without thoroughly test the strategy. And always use stop-losses.
Super Trend Daily 2.0 Alerts BFThis is an alerts script for my Super Trend 2.0 indicator . It is intended as a companion script so you can backtest using the Strategy script and generate alerts using this Study script.
This Study script has the same default settings as the Strategy script and its only purpose is to provide alerts for the long and short signals the Strategy generates. Obviously, if you want to generate alerts based on a Strategy backtest, please ensure the settings are the same in the Study as in the Strategy.
For illustration, I have plotted arrows on the chart for long and short signals, and also colored the background to show when the rate of change function determines a choppy/sideways market.
ALERTS
There are 2 alerts set up:
Long Entry
Short Entry
ILLUSTRATION
Green arrow = Long Entry
Red arrow = Short Entry
White background = No short trades
Aqua background = No long trades
EXAMPLE USE CASE
1. Open a Bitcoin/USD chart on 1D timeframe.
2. Open this script and the Super Trend 2.0 indicator script.
3. Backtest with the Strategy Backtester and change the settings if you like until you get a desirable outcome for your own purposes.
4. Once you are happy with the backtest, change the settings in the Alerts script (this one) so they match the Strategy settings.
5. Set up the alerts according to your preferences.
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.
Crypto Prices InfoPanel V2Hello traders
Following the introduction of ByBit to TradingView ByBit on TradingView
I decided to upgrade my previous Bitcoin InfoPanel Bitcoin-Prices-InfoPanel/
Now it's more dynamic (thumbs up) but only work with Bitcoin, Ethereum and Litecoin . If you select any other asset than those 3, the script won't work
This is due to a technical limitation on TradingView because I can't do more than 40 security calls per script
If you don't know what the security function is, here's a reminder : Security documentation . If you don't know what is TradingView... I cannot do anything for you...
Now you can use this panel to have a very cool arbitrage view directly from TradingView and use the info to gamble between brokers (not financial advice)
See you all tomorrow for a huge update regarding the Strategy Builder. I'll show you how to connect it to a Backtest system
____________________________________________________________
Feel free to hit the thumbs up as it shows me that I'm not doing this for nothing and will motivate to deliver more quality content in the future.
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
Adaptive Zero Lag EMA [STUDY]A user has asked for the Study/Indicator version of this Strategy .
If you encounter the error "loop....>100ms" simply toggle the eye icon to hide and unhide the indicator
The following is simply quoted from my previous post for your convenience: (obviously there won't be risk, Stop Loss, or Take profit parameters!)
OPERATING PRINCIPLE
The strategy is based on Ehlers idea that any indicator can be turned into a signal-producing trade system through smoothing and other filtering processes.
In fact, I'm using his Zero Lag EMA ( ZLEMA ) as a baseline indicator as well as some code snippets he has made public (1). God bless open source!
Next, I've provided the option to use an Instantaneous Frequency Measurement (IFM) method, which will adaptively choose the best period for the ZLEMA (2)
I've written other studies that use the differential calculus approximations for IFM, so it was only natural to include them in this strategy.
The primary two are Cosine IFM (3) and In-phase Quadrature IFM (4). You can also find an indicator with both plotted and the ability to average them together, as one IFM prefers long periods and the other short. (5)
BEFORE WE BEGIN
1. This strategy only runs on "normal" FX pairs ( EURUSD , GBPJPY , AUDUSD ...) and will fail on Metals or Commodities.
Cryptos are largely untested.
2. Please run it on these time frames: M15 to D.
Anything outside this range will likely fail.
HOW TO USE AND SUCCEED
1. If the Default settings don't produce good results right off the bat, then lower gain limit to 1 or 2 and threshold to 0.01.
2. Test each setting under adaptive method. If you want to leave it Off, then I'd recommend using some kind of IFM (see my links below) to
discover the most efficient period to use.
3. Once you have the best adaptive method chosen, begin incrementing gain limit until you find a nice balance between profit factor ( PF ) and drawdown.
4. Now, begin incrementing threshold. The goal is to have PF above 2 and a drawdown as low as possible.
5. Finally, change the source! Typically, close is the best option, but I have run into cases where high
yielded the highest returns and win rate.
6. Sit back, relax, and tweak the risk until you're happy with the return and drawdown amounts.
ADVANCED
You may need to adjust take profit (TP) points and stop loss (SL) points to create the best entry possible. Don't be greedy! You'll likely have poor
results if the TP is set to 300 and SL is 50.
If you are trading a pair that has a long Dominant Cycle Period, then you may increase Max Period to allow the IFM
to accept longer periods. Any period above the Max Period will be rejected. This may increase lag time!
Cheers and good luck trading!
-DasanC
(1)www.mesasoftware.com
(2)www.jamesgoulding.com
(3) Cosine IFM
(4) I-Q IFM
(5) Averaging IFM
IFM stands for Instantaneous frequency measurement
Bollinger Awesome Alert R1 by JustUncleLThis indicator is an implementation of the Bollinger Band and Awesome Oscillator Scalping system.
This technique is for those who want the most simple method that is very effective. It is BEST traded during the busiest trading hours, 3am to 12am EST NY time. This method doesn't work in sideways markets, only in volatile trending markets.
Time Frames: 1, 5, 10, 15 ,30 min.
Currency pairs: majors.
Other Chart indicators:
Add Awesome Oscillator.
Optionally Add Squeeze Indicator.
Here's the strategy:
Going LONG:
Enter a long position when the black 3 EMA has crossed up through the Bollinger red middle band MA. At the same time, the Awesome should be approaching or crossing it's zeroline, going up. This is indicated by "Buy" alert.
Going SHORT:
Enter a short position when the black 3 EMA has crossed down through the Bollinger red middle band MA. At the same time, the Awesome should be approaching or crossing it's zero line, going down. This is indicated by the "Sell" Alert.
Take profit:
10-20 pips depending on pair or When Awesome Oscillator turns a different colour.
HINTS: Best trades tend to occur when price reversing bounce off outer band and outside the Optional Bollinger Squeeze indication.
BB and RSI Indicator Alert v0.3 by JustUncleLI have just recently revised this indicator alert for public release. This is for the 60sec Bollinger Band break Binary Option traders.
This indicator alert is a variation of one found in a well known Broker's marketing videos. It uses Bollinger bands, RSI and moving averages. Included is a pre-warning alert condition. The strategy and settings are designed for 1min charts and Binary Options, but it could work for up to 15 min charts.
The default settings are BB(14,2) and RSI(11) with 75/25 Levels boundaries. To be a valid trade the RSI needs to be within 75/25 channel. The optional Market direction filter is enabled by default and is calculated by two EMA (200 and 50):
When 200ema rising and 50ema above 200ema then market going up.
When 200ema falling and 50ema below 200ema then market going down.
A potential Bollinger Break reversal trades identified by shapes: The purple diamond is the pre-warning purple alert and the green and red pointers with the PUT/CALL labels are the trade alerts. Make Binary Option trade in specified direction 60sec (or can also use 120sec trade without Martingale).
* Notes and Hints *
The original videos specified a Martingale money management strategy, be careful using this management. When I use Martingale I recommend go to 3 levels: 10, 25, 65 if no win at 65 stop trading this alert and start next alert back at 10, you should recovery loss by future wins given you are able to get a reasonable ITM rate with this strategy. Alternatively instead of using Martingale use 120sec Binary Option trade.
Be wary of break alerts on a steep Bollinger, they tend to keep running away for awhile, especially if steep on both sides of Bollinger channel.
As with most of this style of indicator the alert conditions will redraw until the candle is closed. For me this is okay, as it is an Alert is only to a potential trade and final decision to trade is made by me.
You need to practise this and be aware of market news, sessions boundaries, slow trading periods etc. Plan your periods of when you should trade, I prefer Asian session before lunch and London sessions.






















