JustUncleL

Price Action Trading System v0.3 by JustUncleL

This is an updated and improved version of my "Price Action Trading strategy". I have added two extra optional filters, one is a trend direction filter based on the MACD slow EMA(17), blue line, and the other is a RSI(7) filter which works similarly to CCI(14) but slightly different dynamics (thank you to gianfranco60 for the suggestion). Also made a couple of corrections:
- input for lenLower minval=1 should be maxval=-1
- one bar pullback did not reset trigger, missing some alerts
Some Notes about usage:
- this is an alert indicator not a signal generator, each alert is a strong trend continuance candidate,
but should be treated on it's own merits by looking at chart dynamics and market conditions.
- will work well on trending markets only.
- works best on the first alert after MACD cross over.
- don't take trades when MACD and signal are close together.
- don't trade when channel and slow MA are flat or close together or
chopper (yellow and blue MA cross over quickly over short period).

JustUncleL
Mã nguồn mở

Với tinh thần TradingView, tác giả của tập lệnh này đã xuất bản nó dưới dạng mã nguồn mở, vì vậy các nhà giao dịch có thể hiểu và xác minh nó. Chúc mừng tác giả! Bạn có thể sử dụng mã này miễn phí, nhưng việc sử dụng lại mã này trong một ấn phẩm chịu sự điều chỉnh của Nội quy nội bộ. Bạn có thể yêu thích nó để sử dụng nó trên biểu đồ.

Thông báo miễn trừ trách nhiệm

Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?
//@version=2 
//Name: Price Action Channel Trading System v0.3 by JustUncleL
//Created By: JustUncleL on 3 Aug 2016
//Version: 0.3
//
//Description: 
//  This is an implementation of 'Price Action Channel, “The Gold line” Trading System'
//  for Binary Options, originally a scapling system, but without the MA cross "Arrow1".
//  This is a Trend following price action system.
//  To complete the setup instead of the two "Chandelier Stop" indications, 
//  I replaced them with a MACD(12,17,8) indicator.
//  This is suitable for 15min charts, with 2 to 4 candle (30min to 60min) expiry.
//
//  Call Entry:
//  - Green Triangle, confirmed by MACD background green.
//  - CCI Candles aqua.
//  - For best call entry wait for the price retrace back to the gold line, 
//    back inside channel also works well.
//
//  Put Entry:
//  - Red Triangle, confirmed by MACD background red.
//  - CCI Candles black.
//  - For best put entry wait for the price retrace on the gold line,
//    back inside channel also works well.
//
//Notes:
//  - will work well on trending patterns only.
//  - works best on the first alert after MACD cross over.
//  - don't take trades when MACD and signal are close together.
//  - don't trade when channel and slow MA are flat or close together or
//    chopper (yellow and blue MA cross over quickly over short period).
//
//Modifications:
//  0.3 : Added optional filters for trend direction from MACD slow EMA(17)
//        and also RSI(7) filter.
//        Some corrections: 
//        - input for lenLower minval=1 should be maxval=-1
//        - one bar pullback did not reset trigger, missing some alerts
//  0.2 : Use MACD instead of Chandelier Stop for filtering, giving
//        a simplier looking chart.
//  0.1 : Original version.
//
// reference:
//  - Chandelier Stop by pipCharlie (not used in this version)
//  - http://www.forexstrategiesresources.com/scalping-forex-strategies/73-price-action-channel-the-gold-line/
//  - Used some ideas from RSI Candles by glaz
//
study(title="Price Action Trading System v0.3 by JustUncleL",overlay = true, shorttitle="CCIPAT v0.3 by JustUncleL")
//
len = input(14, minval=1, title="CCI Length")
lenUpper = input(75, minval=1, title="CCI UpLevel")
lenLower = input(-75, maxval=-1, title="CCI DownLevel")
bars_on = input(true, title="Color CCI Bars")
src = input(close,title="CCI Source") 
lenLo   = input(5, minval=2, title="Low Channel Length")
lenHi   = input(5, minval=2, title="High Channel Length")
lenMe = input(4, minval=1, title="Median Channel Length")
//
fastLength = input(12, minval=1,title="MACD Fast Length")
slowLength=input(17,minval=1,title="MACD Slow Length")
signalLength=input(8,minval=1,title="MACD Signal Length")
//
rsiLen  = input(7,minval=2,title="RSI length")
rsiUpper= input(70,minval=50,maxval=100,title="RSI Upper limit")
rsiLower= input(30,maxval=50,minval=0,title="RSI Lower Limit")
//
filterM = input(true,title="Use MACD confilter filter")
filterR = input(true,title="Use RSI confirm filter")
filterE = input(true,title="Use Trend direction filter")
dCandles= input(4,minval=2,title="Direction test Candles")
//
rsiVal = rsi(src,rsiLen)
//
// Calculate MACD and color background
fastMC = ema(src, fastLength)
slowMC = ema(src, slowLength)
macd = fastMC - slowMC
signal = sma(macd, signalLength)
OutputSignal = signal > macd ? 1 : signal < macd ? -1 : 0
bgcolor(OutputSignal>0?red: OutputSignal<0?green:yellow, transp=90)
plot(slowMC,color=blue,transp=0,title="Slow EMA trend line", linewidth=2)

// Calculate and draw the Price Action channel 
emaLo = ema(low,lenLo)
emaHi = ema(high,lenHi)
emaMe = ema(hl2,lenMe)
plot(emaLo,title="Low Price Line",style=line,color=gray,transp=0,linewidth=2)
plot(emaHi,title="High Price Line",style=line,color=gray,transp=0,linewidth=2)
plot(emaMe,title="Median Price Line",style=line,color=orange,transp=0,linewidth=2)

// Calculate CCI
cciVal = cci(src, len)

// Calculate CCI indicating continuance of trend.
isup = cciVal > lenUpper
isdown = cciVal < lenLower
barcolor(bars_on ? isup ? aqua : isdown ? black : na : na )

// Check have alert and use MACD filter
cciup_alert = isup and close>open and (not filterR or rsiVal>rsiUpper) and (not filterM or OutputSignal<0) and 
              (not filterE or (emaMe>slowMC and rising(slowMC,dCandles))) ? na(cciup_alert[1]) ? 1 : cciup_alert[1]+1 : 0
ccidn_alert = isdown and close<open and (not filterR or rsiVal<rsiLower) and (not filterM or OutputSignal>0) and 
              (not filterE or (emaMe<slowMC and falling(slowMC,dCandles))) ? na(ccidn_alert[1]) ? 1 : ccidn_alert[1]+1 : 0
//
plotshape(cciup_alert==1? cciup_alert : na, title="CCIPAT Up Arrow", style=shape.triangleup,location=location.belowbar, color=olive, transp=0, size=size.small)
plotshape(ccidn_alert==1? ccidn_alert : na, title="CCIPAT Down Arrow", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small)

// generate an alert if required.
alertcondition(cciup_alert==1 or ccidn_alert==1, title="CCIPAT Alert", message="CCIPAT Alert")

//EOF