-
Notifications
You must be signed in to change notification settings - Fork 7
/
Trend Channel [Gu5].pine
50 lines (45 loc) · 2.02 KB
/
Trend Channel [Gu5].pine
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//@version=4
// Created by @gu5tavo71 08/2019
// Github repo https://github.com/gu5tavo/Tradingview
// Disclaimer: I am not a financial advisor.
// For purpose educate only
// If you have had a positive experience, you can buy me a beer ;)
// BTC: 1MbHMN63WnsFYEavsGK4nMWSUoEiuiScny
// Paypal: https://www.paypal.me/gu5tavo71
///////////////////////////////////////////////////////////////
study(title="Trend Channel [Gu5]", shorttitle="Trend Ch", overlay = true)
//Input
src = input(close, title="Source")
smaL = input(200, title="SMA Length")
lrange = input(type = input.float, defval = 0.618, title="SMA Range")
mrange = input(defval = 100, title="Range multiplier")
//Setting recommended for SMA Range
//BTCUSD = 100
//EURUSD = 1000
//SPX = 100
//ETHUSD = 10
showch = input(defval = false, title="Show Channel")
//Setting
Color00 = #f57f17//Orange
Color01 = #071808//Dark Green
Color02 = #006400//Green
Color03 = #388e3c//Light Green
Color04 = #210505//Dark Red
Color05 = #8B0000//Red
Color06 = #b71c1c//Light Red
Color07 = #808080//Gray
Color08 = #000000//Black
Color09 = #ffffff//White
chTop = sma(src, smaL) * ((lrange/mrange) + 1)
chBottom = sma(src, smaL) * (1 -(lrange/mrange))
SMAtr = sma(src, smaL)
SMAup() => src >= SMAtr
SMAdn() => src < SMAtr
range = ((open <= chTop) or (close <= chTop)) and ((open >= chBottom) or (close >= chBottom))
colsma = range ? Color00 : SMAup() ? Color02 : SMAdn() ? Color05 : na
//Drawing
plot(SMAtr, style = plot.style_line, linewidth = 3, color = colsma, title = "SMA Trend")
barcolor(range ? Color00 : (src > SMAtr) and (open <= close) ? Color02 : (src > SMAtr) and (open >= close) ? Color03 : (src < SMAtr) and (open >= close) ? Color05 : (src < SMAtr) and (open <= close) ? Color06 : Color07 )
pchTop = plot(showch ? chTop : na, color = colsma, linewidth = 1, title = "Top Channel")
pchBottom = plot(showch ? chBottom : na, color = colsma, linewidth = 1, title = "Bottom Channel")
fill(pchTop, pchBottom, title="Range Fill", color = colsma)