Support
Sign up
Log in
New MT4 Signal
Step 1. Indicator Name and Description
Signal Name:
Name is required.
Signal Description:
//@version=4 study("HMA-Kahlman Trend & Trendlines", precision=2, overlay=true) // compilation: capissimo // This script utilizes two modules, Trendlines Module (by Joris Duyck) and HMA-Kahlman Trend Module. // Trendlines module produces crossovers predictive of the next local trend. //*** HMA-Kahlman Trend Module price = input(hl2, "Price Data (hl2)") hkmod = input(true, "===HMA-Kahlman Trend Module===") length = input(22, "Lookback Window", minval=2) k = input(true, "Use Kahlman") gain = input(.7, "Gain", minval=.0001, step=.01) labels = input(true, "Show Labels?") o = input(true, "Use Offset") hma(x, p) => wma((2 * wma(x, p / 2)) - wma(x, p), round(sqrt(p))) hma3() => p = length/2, wma(wma(close, p/3)*3 - wma(close, p/2) - wma(close, p), p) kahlman(x, g) => kf = 0.0 dk = x - nz(kf[1], x) smooth = nz(kf[1],x)+dk*sqrt(g*2) velo = 0.0 velo := nz(velo[1],0) + (g*dk) kf := smooth+velo a = k ? kahlman(hma(price, length), gain) : hma(price, length) b = k ? kahlman(hma3(), gain) : hma3() c = b > a ? color.lime : color.red crossdn = a > b and a[1] < b[1] crossup = b > a and b[1] < a[1] ofs = o ? -1 : 0 fill(plot(a,color=c,linewidth=1,transp=75), plot(b,color=c,linewidth=1,transp=75), color=c, transp=55) plotshape(labels and crossdn ? a : na, location=location.abovebar, style=shape.labeldown, color=color.red, size=size.tiny, text="Hot", textcolor=color.white, transp=0, offset=ofs) plotshape(labels and crossup ? a : na, location=location.belowbar, style=shape.labelup, color=color.green, size=size.tiny, text="Cool", textcolor=color.white, transp=0, offset=ofs) //*** Trendlines Module, see https://www.tradingview.com/script/mpeEgn5J-Trendlines-JD/ tlmod = input(true, "===Trendlines Module===") l1 = input(2, "Pivots Lookback Window", minval=1) trendline(input_function, delay, only_up) => // Calculate line coordinates (Ax,Ay) - (Bx,By) var int Ax = 0, var int Bx = 0, var float By = 0.0, var float slope = 0.0 Ay = fixnan(input_function) if change(Ay)!=0 Ax := time[delay], By:= Ay[1], Bx := Ax[1] slope := ((Ay-By)/(Ax-Bx)) else Ax := Ax[1], Bx := Bx[1], By := By[1] var line trendline=na, var int Axbis=0, var float Aybis=0.0, var bool xtend=true extension_time = 0 Axbis := Ax + extension_time Aybis := (Ay + extension_time*slope) if tlmod and change(Ay)!=0 line_color = slope*time<0?(only_up?na:color.red):(only_up?color.lime:na) if not na(line_color) trendline = line.new(Bx,By,Axbis, Aybis, xloc.bar_time, extend=xtend?extend.right:extend.none, color=line_color, style=line.style_dotted, width=1) line.delete(trendline[1]) slope pivot(len) => high_point = pivothigh(high, len,len/2) low_point = pivotlow(low, len,len/2) slope_high = trendline(high_point, len/2,false) slope_low = trendline(low_point, len/2,true) [high_point, low_point, slope_high, slope_low] [high_point1, low_point1, slope_high1, slope_low1] = pivot(l1) color_high1 = slope_high1 * time<0 ? color.red : na color_low1 = slope_low1 * time>0 ? color.lime : na plot(tlmod ? high_point1 : na, color=color_high1, offset=-l1/2, linewidth=2) plot(tlmod ? low_point1 : na, color=color_low1, offset=-l1/2, linewidth=2)
Description is required.
Step 2. Indicator Rules (Order Sell and Buy conditions)
You need too add conditions for buy and sell signals. You can create multiple condition list. The signal is created when all conditions are passed. For example you can create a moving average cross and confirm with slower moving average.
Long (Buy) Position Conditions
Add New BUY Condition
Short (Sell) Position Conditions
Add New SELL Condition
Step 3. Additional indicator options
Check if you want the indicator to ring a sound and popup an alert
Click the button below only when you are finished with your indicator logic.
You need to add one or more conditions.
Create Signal Indicator