Luxkek Matrix Oscillator
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «_matrix_oscillator_cloned@shepherdfxtradingtools_5974216246500006214.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Luxkek Matrix Oscillator — это мультикомпонентный индикатор для TradingView, построенный на Pine Script v5. Он отображает на графике осциллятор «Гипер Волна» с сигнальной линией и заливкой между ними, а также линии и графические отметки для визуализации состояния рынка.
Индикатор включает модуль «Smart Money Flow», основанный на индексе денежного потока (MFI), с настраиваемой длиной периода и сглаживанием, отображаемый в виде залитой области с пороговыми линиями. Также реализована функция обнаружения расхождений между осциллятором и ценой.
Дополнительно индикатор предоставляет модуль «Confluence» — шкалу совпадения факторов в виде цветных меток и зон, а также модуль «Reversal» — маркеры потенциальных разворотов, основанные на анализе объёма и совпадении показателей. Все основные компоненты включаются и настраиваются через параметры.
Поиск по коду файла
indicator("Luxkek Matrix Oscillator", shorttitle = "Luxkek Matrix Oscillator", max_lines_count = 500)
dwTL = "Length of the hyper wave"
smTL = "[SMA] Smooth signal with a simple moving average\n[EMA] Smooth signal with an exponential moving average\n[Input] Length of the smooth"
dvTL = "Sensibility of the real time divergence : less sensibility = more short term divs; more sensibility = more long term divs"
cmTL = "Show confluence meter at the side of the oscillator"
caTL = "Show confluence area at the bottom/top of the oscillator"
rfTL = "More factor will return in less signals but in a stronger way, less factor will return more signal with less strength"
simple bool dW = input.bool (true , "Main Length ", inline = "1 ", group = "HYPER WAVE" , tooltip = dwTL)
simple int mL = input.int (7 , " ", inline = "1 ", group = "HYPER WAVE", minval = 5, maxval = 4999)
simple string sT = input.string("SMA" , "Signal ", inline = "s ", group = "HYPER WAVE", options = ["SMA", "EMA"], tooltip = smTL)
simple int sL = input.int (3 , " ", inline = "s ", group = "HYPER WAVE", minval = 2, maxval = 4999)
simple color fCSS = input.color (#51B155 , "Colors ", inline = "css ", group = "HYPER WAVE")
simple color sCSS = input.color (#80828D , " ", inline = "css ", group = "HYPER WAVE")
simple int tCSS = input.int (80 , " ", inline = "css ", group = "HYPER WAVE", minval = 0, maxval = 100)
simple int dvT = input.int (20 , "Divergence Sensibility ", inline = "x ", group = "HYPER WAVE", minval = 20, maxval = 40 , tooltip = dvTL)
simple bool sDiv = input.bool (true , "Show Divergences ", inline = "div ", group = "HYPER WAVE")
simple color blDv = input.color (color.new(#2962ff, 20), " ", inline = "div ", group = "HYPER WAVE")
simple color brDv = input.color (color.new(#f23645, 20), " ", inline = "div ", group = "HYPER WAVE")
simple bool Smf = input.bool (true , "Money Flow Length ", inline = "mfi ", group = "SMART MONEY FLOW")
simple int mfL = input.int (35 , " ", inline = "mfi ", group = "SMART MONEY FLOW", minval = 10, maxval = 55)
simple int mfS = input.int (6 , "Smooth ", inline = "mfx ", group = "SMART MONEY FLOW", minval = 2 , maxval = 10)
simple color mfBL = input.color (#089981 , "Money Flow Colors ", inline = "mfiC", group = "SMART MONEY FLOW")
simple color mfBR = input.color (#f23645 , " ", inline = "mfiC", group = "SMART MONEY FLOW")
simple color cnBL = input.color (#089981 , "Confluence Colors ", inline = "cf ", group = "CONFLUENCE")
simple color cnBR = input.color (#f23645 , " ", inline = "cf ", group = "CONFLUENCE")
simple bool sCNF = input.bool (true , "Show Confluence Meter ", inline = "zf ", group = "CONFLUENCE", tooltip = cmTL)
simple bool sCNB = input.bool (true , "Show Confluence Areas ", inline = "zx ", group = "CONFLUENCE", tooltip = caTL)
simple bool rsS = input.bool (true , "Reversal Factor ", inline = "rv ", group = "REVERSAL")
simple int rsF = input.int (4 , " ", inline = "rv ", group = "REVERSAL", options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], tooltip = rfTL)
simple color rsBL = input.color (#089981 , "Reversal Colors ", inline = "rc ", group = "REVERSAL")
simple color rsBR = input.color (#f23645 , " ", inline = "rc ", group = "REVERSAL")
type oL
float sig
float sgD
color cO
type dP
int n
float src
float p
type smf
float mfi
color mfc
float blMFI
float brMFI
type cnf
color up
color dn
float[] blT
float[] brT
var oL osc = oL.new (na, na, na )
var dP div = dP.new (na, na, na )
var smf mf = smf.new(na, na, na, na)
var cnf cf = cnf.new(
color.rgb(54, 58, 69, 60)
, color.rgb(54, 58, 69, 60)
, array.new<float>(1, na)
, array.new<float>(1, na)
)
mfT() =>
switch
mf.mfi > 0 =>
if cf.brT.size() > 1
cf.brT.pop()
if cf.blT.size() > mfL
cf.blT.pop()
if mf.mfi > cf.blT.avg()
cf.blT.unshift(mf.mfi)
else
cf.blT.unshift(mf.mfi[mfL] > 0
? mf.mfi[mfL]
: mf.mfi
)
mf.mfi < 0 =>
if cf.blT.size() > 1
cf.blT.pop()
if cf.brT.size() > mfL
cf.brT.pop()
if mf.mfi < cf.blT.avg()
cf.brT.unshift(mf.mfi)
else
cf.brT.unshift(mf.mfi[mfL] < 0
? mf.mfi[mfL]
: mf.mfi
)
method st(simple string src, float osc, simple int len) =>
float o = switch src
"SMA" => ta.sma(osc, len)
"EMA" => ta.ema(osc, len)
method css(color x, int inv) =>
color out = inv == 1
? color.new(x, tCSS)
: color.new(x, 0 )
method transp(color x, int t) =>
color.new(x, t)
rv() =>
vMA = ta.sma(volume, 7)
rsi = ta.rsi(vMA, 7) - 50
tMj = volume > vMA * ( rsF != 10 ? 1 + (rsF / 10) : 2) ? true : false
tMn = volume > vMA * ( rsF != 10 ? 0 + (rsF / 10) : 2) and not tMj ? true : false
mjBR = tMj and osc.sig > rsF and mf.mfi > cf.blT.avg() ? true : false
mjBL = tMj and osc.sig < -rsF and mf.mfi < cf.brT.avg() ? true : false
mnBR = tMn and osc.sig > 20 and osc.sig > osc.sgD and rsi > 20 ? true : false
mnBL = tMn and osc.sig < -20 and osc.sig < osc.sgD and rsi < -20 ? true : false
[mjBL, mjBR, mnBR, mnBL]
osc(simple int len, simple int smt) =>
float hi = ta.highest( len)
float lo = ta.lowest ( len)
float av = ta.sma (hl2, len)
osc.sig := ta.ema(ta.linreg((close - math.avg(hi, lo, av)) / (hi - lo) * 100, len, 0), sL)
osc.sgD := sT.st(osc.sig, 2)
osc.cO := osc.sig > osc.sgD ? fCSS.css(1) : sCSS.css(1)
mfi() =>
mf.mfi := ta.sma(ta.mfi(hl2, mfL) - 50, mfS)
Показано первые 50% кода (символов: 8146)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.