In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.
//╭╮╱╱╭╮╭╮╱╱╭╮ //┃╰╮╭╯┃┃┃╱╱┃┃ //╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮ //╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫ //╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃ //╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯ //╭━━━┳╮╱╱╱╱╱╱╱╭╮ //┃╭━╮┃┃╱╱╱╱╱╱╱┃┃ //┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃ //┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃ //┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮ //╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯ //━╯ //Vdub FX SniperVX2 Color v2 / Vdub Rejection Spike v3 Full intergration - // ©Vdubus http://www.vdubus.co.uk/ study("Vdub FX SniperVX2 Color v2", overlay=true, shorttitle="Vdub_FX_SniperVX2_Color") //===================Candle body resistance Channel====================// len = 34 src = input(close, title="Candle body resistance Channel") out = sma(src, len) last8h = highest(close, 13) lastl8 = lowest(close, 13) bearish = cross(close,out) == 1 and falling(close, 1) bullish = cross(close,out) == 1 and rising(close, 1) channel2=input(false, title="Bar Channel On/Off") ul2=plot(channel2?last8h:last8h==nz(last8h)?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0) ll2=plot(channel2?lastl8:lastl8==nz(lastl8)?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0) fill(ul2, ll2, color=black, transp=90, title="Candle body resistance Channel") //=============================================================// //-------------LB--------------------------- channel=input(false, title="Resistance Channel 2 On/Off") up = close<nz(up) and close>down ? nz(up) : high down = close<nz(up) and close>down ? nz(down) : low ul=plot(channel?up:up==nz(up)?up:na, color=red, linewidth=1, style=linebr, title="Resistance Level top", offset=0) ll=plot(channel?down:down==nz(down)?down:na, color=green, linewidth=1, style=linebr, title="Resistance level bottom", offset=0) // Moddified [RS]Support and Resistance V0 RST = input(title='Support / Resistance length:', type=integer, defval=6) // color zone length RSTT = valuewhen(high >= highest(high, RST), high, 0) RSTB = valuewhen(low <= lowest(low, RST), low, 0) RT2 = plot(RSTT, color=RSTT != RSTT ? na : red, linewidth=1, offset=+0) RB2 = plot(RSTB, color=RSTB != RSTB ? na : green, linewidth=1, offset=0) // //--------------------Trend colour ema------------------------------------------------// src0 = close, len0 = input(13, minval=1, title="EMA 1") ema0 = ema(src0, len0) direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0 plot_color = direction > 0 ? lime: direction < 0 ? red : na plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color) //--------------------Trend colour ema 2------------------------------------------------// src02 = close, len02 = input(21, minval=1, title="EMA 2") ema02 = ema(src02, len02) direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0 plot_color2 = direction2 > 0 ? lime: direction2 < 0 ? red : na plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2) // //--Modified vyacheslav.shindin-------------------------------------------------// Signal 1 //Configured ema signal output fast = input(5, minval=1, title="Short Signal Generator") slow = input(8, minval=1) vh1 = ema(highest(avg(low, close), fast), 5) vl1 = ema(lowest(avg(high, close), slow), 8) // e_ema1 = ema(close, 1) e_ema2 = ema(e_ema1, 1) e_ema3 = ema(e_ema2, 1) tema = 1 * (e_ema1 - e_ema2) + e_ema3 // e_e1 = ema(close, 8) e_e2 = ema(e_e1, 5) dema = 2 * e_e1 - e_e2 signal = tema > dema ? max(vh1, vl1) : min(vh1, vl1) is_call = tema > dema and signal > low and (signal-signal > signal-signal) is_put = tema < dema and signal < high and (signal-signal > signal-signal) plotshape(is_call and direction > 0 ? 1 : na, title="BUY ARROW", color=green, text="*BUY*", style=shape.arrowup, location=location.belowbar) plotshape(is_put and direction < 0 ? -1 : na, title="SELL ARROW", color=red, text="*SELL*", style=shape.arrowdown) // //Modified - Rajandran R Supertrend----------------------------------------------------- // Signal 2 Factor=input(3, minval=1,maxval = 1000, title="Trend Transition Signal") Pd=input(1, minval=1,maxval = 1000, title="Period") Up=hl2-(Factor*atr(Pd)) Dn=hl2+(Factor*atr(Pd)) TrendUp=close>TrendUp? max(Up,TrendUp) : Up TrendDown=close<TrendDown? min(Dn,TrendDown) : Dn Trend = close > TrendDown ? 1: close< TrendUp? -1: nz(Trend,0) plotarrow(Trend == 1 and Trend == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=1000, minheight=50, transp=85) plotarrow(Trend == -1 and Trend == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=1000, minheight=50, transp=85) // //=============Hull MA// show_hma = input(true, title="Display Hull MA Set:") hma_src = input(close, title="Hull MA's Source:") hma_base_length = input(8, minval=1, title="Hull MA's Base Length:") hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:") hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length))) plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=3, title="Hull MA") //=============================================== // fill(ul2, RT2, color=red, transp=75, title="Fill") fill(ll2, RB2, color=green, transp=75, title="Fill") //////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////
There is no tactic here, the script is pretty much 100% retrospective (hindsight).
The "strategy" is supposedly based on rejection spikes a key points of resistance, but this is actually complete nonsense as during testing I noted only 5% of all strong BUY or SELL signals came after or on a rejection spike.
Trading is all about prediction, and what makes this script predicts NOTHING. You might as well plot the BUY and SELL on the graph yourself in real time, it would really be no different at all. Just wait until a candlestick closes, then add BUY if it was green, and SELL if it was red.
To be fair, the script does have some other uses as it attempts to plot resistance points and highs and lows, but there is NO STRATEGY and the BUY / SELL signals should be removed as they are very misleading to newbies. Why are they even there? - to give people hope that they can be profitable in trading by just using a BOT.
This script should very clearly state that the BUY and SELL signals are retrospective and should not be used as indications of what is going to happen next. The only indicators on this scripts are:
1. resistance and support lines
2. high/low swing points
I understand that the script does sometimes TRY to predict BUY or SELL, but it simply makes a guess (which is so inaccurate it might as well be 50/50) and when the guess is wrong (usually is) it just changes the BUY to SELL or vice versa.
You can't "unlike" something here, or even "dislike" it, because they need people to use these scripts to lose money with one of their brokers. The more promising looking the script, the more likely people are to wipe their accounts (and scripts are most likely promoted here based on how much traders lose money when using them). Consider this, if you use a broker with this platform, and you have a script active, and you lose lose lose, bear in mind that all that data is being collected by this platform. A script that causes say 95% of people to lose money means that by promoting it to the top here, more people will use it, more people will lose money. I am not going to explain how that is good for the business model of this platform, as this comment will just be deleted, but anyone with some common business sense will get the general idea =)
I can also say that I have tested hundreds of scripts over the years, but I have yet to see an algorithm that can even produce even 50% reliability consistently.
Trading is part strategy, part money management and part psychology (the patterns actually exist for these very reasons). It is very important to not feel bad about what look like "missed opportunities" and to not regard them as opportunities at all. Unpredictable movements happen all the time in the markets - you DO NOT want to be speculating on those, or you will lose your investment - GUARANTEED.
Bear in mind that 95% of people who trade Forex LOSE. 95%. (The same goes for commodities, futures, stocks etc.)
Some very successful traders use ONLY PA (price action) - in other words candlestick pattern analysis. But if you use that in combination with say 4 types of indicator, then you reduce the number of trades you would take, but increase the chances of success for the trades you do take.
I highly recommend you watch this video: https://www.youtube.com/watch?v=XtVmggQHkrc
And if you do not yet understand candlestick patterns, then this looks like it could be a nice tutorial for that: https://www.youtube.com/watch?v=6pdUGj3x9x4
And this video is also good: https://www.youtube.com/watch?v=QInB6iExaxw
Basically you should try to watch and learn from as many professional traders as possible. That way you can build up a knowledge of what scenarios and patterns to look for to "set up a trade". This means that you notice a pattern and plot at a point in the future where you will look for confirmation of the pattern. If that happens, you then confirm with your chosen indicators, and if even just one of them fails, you do not take the trade. And if the trade does indeed end up going in the direction you expected - no big deal, you didn't LOSE money, and that is the most important thing. You will get less wins trading this way, but you will minimize your losses significantly, so your overall P/L will be healthy.
Money management is also SUPER important. You MUST set daily limits on both profit and loss. You should have a daily profit target, and once you reach it you should stop trading. Likewise, you should have a daily loss limit, and if you reach it you should stop trading for that day. NO trader ever became successful without money management. Do not forget it!