JayRogers

Multi Time Frame MA Duplicates

Description:
  • One stop shop for multiple MA duplicates over different resolutions.
  • A veritable banquet of MA's to choose from.
  • Set up you MA variables, and then plot up to 4 duplicates all using different time frames.
Comment: New revision of this script:
Remove from Favorite Scripts Add to Favorite Scripts
//@version=2

study(title="Multi Time Frame MA Duplicates", shorttitle="MTF MA Duplicates", overlay=true)

// Revision:    1
// Author:      JayRogers
//
// Description:
//  - One stop shop for multiple MA duplicates over different resolutions.
//  - A veritable banquet of MA's to choose from.
//  - Set up you MA variables, and then plot up to 4 duplicates all using different time frames.

// - INPUTS START
maType  = input(defval="EMA", title="Choose MA Type: SMA, EMA, WMA, VWMA, SMMA, DEMA, TEMA, HullMA, LSMA ( case sensitive )", type=string)
maSrc   = input(defval=open, title="MA Source", type=source)
maLen   = input(defval=200, title="MA Period", minval=1)
lsma    = input(defval=0, title="Offset for Least Squares MA", minval=1)
res1    = input(defval="15", title="MA Duplicate 1 Resolution", type=resolution)
res2    = input(defval="30", title="MA Duplicate 2 Resolution", type=resolution)
res3    = input(defval="60", title="MA Duplicate 3 Resolution", type=resolution)
res4    = input(defval="120", title="MA Duplicate 4 Resolution", type=resolution)
// - INPUTS END

// - FUNCTIONS
// Returns chosen MA input calculation, default to SMA if blank or typo.
variant(type, src, len, lsma) =>
    v1 = sma(src, len)                                                  // Simple
    v2 = ema(src, len)                                                  // Exponential
    v3 = wma(src, len)                                                  // Weighted
    v4 = vwma(src, len)                                                 // Volume Weighted
    v5 = na(v5[1]) ? sma(src, len) : (v5[1] * (len - 1) + src) / len    // Smoothed
    v6 = 2 * v2 - ema(v2, len)                                          // Double Exponential
    v7 = 3 * (v2 - ema(v2, len)) + ema(ema(v2, len), len)               // Triple Exponential
    v8 = wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))   // Hull
    v9 = linreg(src, len, lsma)                                         // Least Squares
    type=="EMA"?v2 : type=="WMA"?v3 : type=="VWMA"?v4 : type=="SMMA"?v5 : type=="DEMA"?v6 : type=="TEMA"?v7 : type=="HullMA"?v8 : type=="LSMA"?v9 : v1
// Return selected resolution series, or use current
reso(exp, use, res) => use ? security(tickerid, res, exp) : exp
// - FUNCTIONS END

// - SERIES VARIABLES
// Basis and deviation
ma1 = reso(variant(maType, maSrc, maLen, lsma), true, res1)
ma2 = reso(variant(maType, maSrc, maLen, lsma), true, res2)
ma3 = reso(variant(maType, maSrc, maLen, lsma), true, res3)
ma4 = reso(variant(maType, maSrc, maLen, lsma), true, res4)
// - SERIES VARIABLES END

// - PLOTTING
// Basis
maPlot1 = plot(ma1, title="MA 1", color=#00FF99, linewidth=1, transp=40)
maPlot2 = plot(ma2, title="MA 2", color=#00FFAA, linewidth=2, transp=40)
maPlot3 = plot(ma3, title="MA 3", color=#00FFBB, linewidth=3, transp=40)
maPlot4 = plot(ma4, title="MA 4", color=#00FFCC, linewidth=4, transp=40)
// - PLOTTING END
Shrinks the screen like a pan cake if the MA is way down below.
Reply
EN English (UK)
EN English
EN English (IN)
DE Deutsch
FR Français
ES Español
IT Italiano
PL Polski
SV Svenska
TR Türkçe
RU Русский
PT Português
ID Bahasa Indonesia
MS Bahasa Melayu
TH ภาษาไทย
VI Tiếng Việt
JA 日本語
KO 한국어
ZH 简体中文
ZH 繁體中文
AR العربية
HE עברית
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing House Rules Moderators Website & Broker Solutions Widgets Stock Charting Library Get Help Feature Request Blog & News FAQ Wiki Twitter
Profile Profile Settings Account and Billing Get Help Ideas Published Followers Following Private Messages Chat Sign Out