Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ————————————————————
- // This source code is free to use/modify to your convenience.
- // 3 MA multi timeframes
- //@version=5
- indicator("c.MA multi Tf", "c.MA_multi_tf", overlay=true, precision=0)
- // ———————————————————— Constants and Inputs {
- // ————— Inputs
- bool ma1_show = input.bool(true, "MA.1", inline="ma1_a")
- ma1_type = input.string("EMA", "", ["ALMA", "SMA", "EMA", "DEMA", "TEMA", "TEMA2", "SMMA (RMA)", "WMA", "VWMA", "HMA"], inline="ma1_a")
- int ma1_len = input.int(12, "len", minval=1, inline="ma1_a")
- string ma1_time = input.timeframe("30", "tframe", inline="ma1_a")
- bool ma2_show = input.bool(true, "MA.2", inline="ma2_a")
- ma2_type = input.string("EMA", "", ["ALMA", "SMA", "EMA", "DEMA", "TEMA", "TEMA2", "SMMA (RMA)", "WMA", "VWMA", "HMA"], inline="ma2_a")
- int ma2_len = input.int(12, "len", minval=1, inline="ma2_a")
- string ma2_time = input.timeframe("120", "tframe", inline="ma2_a")
- bool ma3_show = input.bool(true, "MA.3", inline="ma3_a")
- ma3_type = input.string("EMA", "", ["ALMA", "SMA", "EMA", "DEMA", "TEMA", "TEMA2", "SMMA (RMA)", "WMA", "VWMA", "HMA"], inline="ma3_a")
- int ma3_len = input.int(12, "len", minval=1, inline="ma3_a")
- string ma3_time = input.timeframe("240", "tframe", inline="ma3_a")
- // }
- // ———————————————————— Functions {
- // TEMA chartschool version
- _tma(src,len) =>
- ma1 = ta.ema(src, len)
- ma2 = ta.ema(ma1, len)
- ma3 = ta.ema(ma2, len)
- _tma = (3 * ma1) - (3 * ma2) + ma3
- // MAs
- _ma(src, len, maType) =>
- switch maType
- "ALMA" => ta.alma(src, len, 0.85, 6)
- "SMA" => ta.sma(src, len)
- "EMA" => ta.ema(src, len)
- "DEMA" => ta.ema(ta.ema(src,len),len)
- "TEMA" => ta.ema(ta.ema(ta.ema(src,len),len),len) // TEMA Binance (Trix)
- "TEMA2" => _tma(src,len) // TEMA chartschool
- "SMMA (RMA)" => ta.rma(src, len)
- "WMA" => ta.wma(src, len)
- "VWMA" => ta.vwma(src, len)
- "HMA" => ta.hma(src,len)
- //}
- // ———————————————————— Calculations {
- ma1_expr = _ma(close, ma1_len, ma1_type)
- ma1_sig = request.security(syminfo.tickerid, ma1_time, ma1_expr, barmerge.gaps_on)
- ma2_expr = _ma(close, ma2_len, ma2_type)
- ma2_sig = request.security(syminfo.tickerid, ma2_time, ma2_expr, barmerge.gaps_on)
- ma3_expr = _ma(close, ma3_len, ma3_type)
- ma3_sig = request.security(syminfo.tickerid, ma3_time, ma3_expr, barmerge.gaps_on)
- // }
- // ———————————————————— Visuals {
- plot(ma1_show ? ma1_sig : na, "MA.1", color.new(#ffeb3b, 16), 1)
- plot(ma2_show ? ma2_sig : na, "MA.2", color.new(#005cff, 0), 1)
- plot(ma3_show ? ma3_sig : na, "MA.3", color.new(#ff1100, 0), 1)
- // }
- // ————————————————————
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement