Quantum Long Short
//@version=4//
study(title="Scalping PullBack Tool R1.1 by Alyanet", shorttitle="SCALPTOOL R1.1", overlay=true)
//// Revision: 1.1// Original Author: JustUncleL//// Description:// This study project is a Scalping Pullback trading Tool that incorporates the majority of the indicators// needed to analyse and scalp Trends for Pull Backs and reversals intended for lower time frame// charts upto 15min, but it should work just as well on higher time frame charts for// longer term trades.//// This Tool can be used with Heikin Ashi (HA) candle charts or normal candle charts, HA candles// will show a cleaner/smoother looking candle trend but not show true prices.//// Incorporated within this tool are the following indicators:// 1. Trader selectable important EMAs in an EMA style Ribbon:// - Green = fast EMA (default=89)// - Blue = medium EMA (default=200)// - Black = slow EMA (default=600)// 2. The PAC EMA (default=34) High/Low+Close creates the Price Action Channel (PAC).// 3. Fractals// 4. HH, LH, LL, HL finder may help with drawing Trend lines and mini Trend Lines.// 5. Coloured coded Bar high lighting based on the PAC:// - blue = bar closed above PAC// - red = bar closed below PAC// - gray = bar closed inside PAC// - red line = PAC EMA (34) of bar close// 6. Coloured chart Background to indicate Trend direction// (NOTE: slow EMA(600) is not used in this Algo):// - green = Trend direction is up when PAC and fast EMA(89) are above medium EMA(200).// - red = Trend direction is down when PAC and fast EMA(89) are below medium EMA(200).// - yellow = Trend direction is in transition.// 7. Pullback is defined as Price starts outside the PAC and then pulls back into the PAC// closing the opposite side of the PAC centre line, then a recovery arrow can occur.// 8. Coloured Alert Arrows:// - maroon down arrow = Pullback recovery Sell alert// - green up arrow = Pullback recovery Buy alert// 9. Option to force Heikin Ashi candles in Algo calculations.//// Setup and hints://// - I also add "Sweetspot Gold RN" indicator to the chart as well to help with support and resistance// finding and shows where the important "00" and "0" lines are.// - When price is above the PAC(blue bars) we are only looking to buy as price comes back to the PAC// When price is below the PAC(red bars), we are only looking to sell when price comes back to the PAC// - What we’re looking for when price comes back into the PAC we draw mini Trendlines (TL) uitilising the// Fractals and HH/LL points to guide your TL drawing.// - Now look for the trend to pull back and break the drawn mini TL. That's is where we can place the scalp// trade.// - So we are looking for continuation signals in terms of a strong, momentum driven pullbacks// of the PAC EMA(34).// - The other EMAs are there to check for other Pullbacks when PAC EMA (34) is broken.// - Other than the "SweetSpot Gold RN" indicator, you should not need any other indicator to scalp// for pullbacks.// - If you want to trade shallower Pullbacks for quicker scalps, try reducing the// PAC and EMA combination lengths for example:// * 21 PAC and 55, 144, 377 for fast, medium, slow EMAs// * 13 PAC and 34, 89, 233 for fast, medium, slow EMAs// - Each alert should be evaluated on it's own merits, the alerts are designed to highlight possible// scalping trades from Pullback recoveries around the PAC.//// References:// - [RS]Fractals V8 by RicardoSantos// - Price Action Trading System v0.3 by JustUncleL// - SweetSpot Gold RN by JustUncleL// - http://www.swing-trade-stocks.com/pullbacks.html// - https://www.forexstrategiesresources.com/scalping-forex-strategies/106-1-min-scalping-with-34-exponential-moving-average-channel///// Modifications:// 4-Feb-2020 Release R1.1 changes made to provide a more versitile tool// - Upgraded to Pinescript R4// - Reodered code into more logical blocks// - Added option for PAC filtered Alerts and Alarms.// - Added option to alter the default EMA lengths.// - Added option to Show each EMA line.// - Added option to use Heikin Ashi candles for Algo calculations// even when normal candles are displayed on chart.//
// === INPUTS ===HiLoLen = input(34, minval=2, title="High Low PAC channel Length")fastEMAlength = input(89, minval=2)mediumEMAlength = input(200, minval=2)slowEMAlength = input(600, minval=2)ShowFastEMA = input(true)ShowMediumEMA = input(true)ShowSlowEMA = input(false)ShowHHLL = input(false)ShowFractals = input(true)filterBW = input(false, title="Show Ideal Fractals Only")ShowBarColor = input(true, title="Show coloured Bars around PAC")ShowBuySell = input(true, title="Show Buy/Sell Alert Arrows")Lookback = input(3, minval=1, title="Pullback Lookback for PAC Cross Check")DelayArrow = input(false, title="Show Alert Arrows Only on Closed Candles")Delay = DelayArrow ? 1 : 0ShowTrendBGcolor= input(true)UseHAcandles = input(true, title="Use Heikin Ashi Candles in Algo Calculations")//// === /INPUTS ===
// === BASE FUNCTIONS ===
haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : closehaOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : openhaHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : highhaLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low
// ||--- Fractal Recognition Functions: ---------------------------------------------------------------||isRegularFractal(mode) =>ret = mode == 1 ? high[4] < high[3] and high[3] < high[2] and high[2] > high[1] andhigh[1] > high[0] : mode == -1 ?low[4] > low[3] and low[3] > low[2] and low[2] < low[1] and low[1] < low[0] :falseret
isBWFractal(mode) =>ret = mode == 1 ? high[4] < high[2] and high[3] <= high[2] and high[2] >= high[1] andhigh[2] > high[0] : mode == -1 ?low[4] > low[2] and low[3] >= low[2] and low[2] <= low[1] and low[2] < low[0] :falseret// ||-----------------------------------------------------------------------------------------------------||
//// === /BASE FUNCTIONS ===
// === SERIES SETUP ===//
// ||--- Setup Moving Averages and PAC channel:// ||-----------------------------------------------------------------------------------------------------||fastEMA = ema(haClose, fastEMAlength)mediumEMA = ema(haClose, mediumEMAlength)slowEMA = ema(haClose, slowEMAlength)pacC = ema(haClose, HiLoLen)pacL = ema(haLow, HiLoLen)pacU = ema(haHigh, HiLoLen)TrendDirection = fastEMA > mediumEMA and pacL > mediumEMA ? 1 :fastEMA < mediumEMA and pacU < mediumEMA ? -1 : 0
// ||--- Fractal Recognition:// ||-----------------------------------------------------------------------------------------------------||filteredtopf = filterBW ? isRegularFractal(1) : isBWFractal(1)filteredbotf = filterBW ? isRegularFractal(-1) : isBWFractal(-1)// ||-----------------------------------------------------------------------------------------------------||// ||--- Higher Highs, Lower Highs, Higher Lows, Lower Lows -------------------------------------------||valuewhen_H0 = valuewhen(filteredtopf == true, high[2], 0)valuewhen_H1 = valuewhen(filteredtopf == true, high[2], 1)valuewhen_H2 = valuewhen(filteredtopf == true, high[2], 2)//higherhigh = filteredtopf == false ? false :valuewhen_H1 < valuewhen_H0 and valuewhen_H2 < valuewhen_H0lowerhigh = filteredtopf == false ? false :valuewhen_H1 > valuewhen_H0 and valuewhen_H2 > valuewhen_H0valuewhen_L0 = valuewhen(filteredbotf == true, low[2], 0)valuewhen_L1 = valuewhen(filteredbotf == true, low[2], 1)valuewhen_L2 = valuewhen(filteredbotf == true, low[2], 2)//higherlow = filteredbotf == false ? false :valuewhen_L1 < valuewhen_L0 and valuewhen_L2 < valuewhen_L0lowerlow = filteredbotf == false ? false :valuewhen_L1 > valuewhen_L0 and valuewhen_L2 > valuewhen_L0
//// === /SERIES ===
//// === PLOTTING ===//// Plot the Price Action Channel (PAC) base on EMA high,low and closeL = plot(pacL, color=color.gray, linewidth=1, title="High PAC EMA", transp=50)U = plot(pacU, color=color.gray, linewidth=1, title="Low PAC EMA", transp=50)C = plot(pacC, color=color.red, linewidth=2, title="Close PAC EMA", transp=0)fill(L, U, color=color.gray, transp=90, title="Fill HiLo PAC")
// Colour bars according to the close position relative to the PAC selected.BARcolor = haClose > pacU ? color.blue : haClose < pacL ? color.red : color.graybarcolor(ShowBarColor ? BARcolor : na, title="Bar Colours")//BGcolor = TrendDirection == 1 ? color.green :TrendDirection == -1 ? color.red : color.yellowbgcolor(ShowTrendBGcolor ? BGcolor : na, transp=90, title="Trend BG Color")
// Draw the EMA ribbonplot(ShowFastEMA ? fastEMA : na, color=color.green, linewidth=2, transp=20, title="fastEMA")plot(ShowMediumEMA ? mediumEMA : na, color=color.blue, linewidth=3, transp=20, title="mediumEMA")plot(ShowSlowEMA ? slowEMA : na, color=color.black, linewidth=4, transp=20, title="slowEMA")//plotshape(ShowFractals ? filteredtopf : na, title='Filtered Top Fractals', style=shape.triangledown, location=location.abovebar, color=color.red, offset=-2)plotshape(ShowFractals ? filteredbotf : na, title='Filtered Bottom Fractals', style=shape.triangleup, location=location.belowbar, color=color.lime, offset=-2)//plotshape(ShowHHLL ? higherhigh : na, title='Higher High', style=shape.square, location=location.abovebar, color=color.maroon, text="[HH]", offset=-2)plotshape(ShowHHLL ? lowerhigh : na, title='Lower High', style=shape.square, location=location.abovebar, color=color.maroon, text="[LH]", offset=-2)plotshape(ShowHHLL ? higherlow : na, title='High Low', style=shape.square, location=location.belowbar, color=color.green, text="[HL]", offset=-2)plotshape(ShowHHLL ? lowerlow : na, title='Lower Low', style=shape.square, location=location.belowbar, color=color.green, text="[LL]", offset=-2)//// === /PLOTTING ===
// === ALERTING ===//
// Initialise Trading state.TradeDirection = 0TradeDirection := nz(TradeDirection[1])//pacExitU = haOpen < pacU and haClose > pacU and barssince(haClose<pacC)<=LookbackpacExitL = haOpen > pacL and haClose < pacL and barssince(haClose>pacC)<=Lookbackplotshape(barssince(haClose<pacC),color=na,location=location.bottom,title="barssince(haClose<pacC)")plotshape(barssince(close>pacC),color=na,location=location.bottom,title="barssince(haClose>pacC)")//Buy = TrendDirection == 1 and pacExitUSell = TrendDirection == -1 and pacExitL//// Keep Current trading state until Pullback occurs or New Recovery.TradeDirection := TradeDirection == 1 and haClose<pacC ? 0 :TradeDirection == -1 and haClose>pacC ? 0 :TradeDirection == 0 and Buy ? 1 :TradeDirection == 0 and Sell ? -1 : TradeDirection
// Show buy/sell arrowsplotarrow(ShowBuySell and nz(TradeDirection[1+Delay]) == 0 and TradeDirection[Delay] != 0 ? TradeDirection[Delay] : na, offset=-Delay,colorup=color.green, colordown=color.maroon, transp=20, minheight=20, maxheight=50, title="Buy/Sell Arrow")//// Create alerts for TradingView Alarm subsystem.Long = nz(TradeDirection[1]) == 0 and TradeDirection == 1Short = nz(TradeDirection[1]) == 0 and TradeDirection == -1alertcondition(Long, title="Buy Condition", message="BUY")alertcondition(Short, title="Sell Condition", message="SELL")//// === /ALERTING ===
// === eof.
Esta resposta foi útil?
Leia também
Powered by WHMCompleteSolution