Price-Action-Concepts de tradingview a prorealtime
Forums › ProRealTime foro Español › Soporte ProBuilder › Price-Action-Concepts de tradingview a prorealtime
- This topic has 2 replies, 2 voices, and was last updated 1 year ago by jesus1975.
Viewing 3 posts - 1 through 3 (of 3 total)
-
-
09/22/2023 at 1:43 PM #221449
A ver si se puede convertir el siguiente indicador de tradingview a prorealtime. Da la estructura de mercado y da una idea de donde se está muy fidedigna, la tendencia en definitiva. Es bastante largo, pero creo que merece la pena.
https://www.tradingview.com/script/dqfTA4kM-Price-Action-Concepts-HunterAlgos/
https://www.tradingview.com/i/dqfTA4kM/
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/// © HunterAlgos//@version=5indicator("Price Action Concepts [HunterAlgos]", shorttitle = "Price Action Concepts [1.0.0]", overlay = true, max_lines_count = 500, max_labels_count = 500, max_bars_back = 500, max_boxes_count = 500)//-----------------------------------------------------------------------------{//Boolean set//-----------------------------------------------------------------------------{s_bos = 0s_choch = 1i_bos = 2i_choch = 3i_pp_choch = 4green_candle = 5red_candle = 6boolean =array.from(false // s_bos, false // s_choch, false // i_bos, false // i_choch, false // i_pp_choch, false // up, false // dn)//-----------------------------------------------------------------------------{// User inputs//-----------------------------------------------------------------------------{show_swing_ms = input.string("All", "Swing ", ["All", "CHoCH", "BOS", "None"] , group = "MARKET STRUCTURE", inline = "1")show_internal_ms = input.string("All", "Internal", ["All", "CHoCH", "BOS", "CHoCH+", "None"] , group = "MARKET STRUCTURE", inline = "2")internal_r_lookback = input.int(5 , "", group = "MARKET STRUCTURE", inline = "2", minval = 2)swing_r_lookback = input.int(50, "", group = "MARKET STRUCTURE", inline = "1", minval = 2)internal_l_lookback = math.round(internal_r_lookback / 2)swing_l_lookback = swing_r_lookback / 2i_ms_up_bos = input.color(#089981, group = "MARKET STRUCTURE", inline = "2", title = "")i_ms_up_choch = input.color(#00332a, group = "MARKET STRUCTURE", inline = "2", title = "")i_ms_dn_bos = input.color(#f23645, group = "MARKET STRUCTURE", inline = "2", title = "")i_ms_dn_choch = input.color(#801922, group = "MARKET STRUCTURE", inline = "2", title = "")s_ms_up_bos = input.color(#089981, group = "MARKET STRUCTURE", inline = "1", title = "")s_ms_up_choch = input.color(#00332a, group = "MARKET STRUCTURE", inline = "1", title = "")s_ms_dn_bos = input.color(#f23645, group = "MARKET STRUCTURE", inline = "1", title = "")s_ms_dn_choch = input.color(#801922, group = "MARKET STRUCTURE", inline = "1", title = "")invcol = color.new(color.white, 100)lvl_daily = input.bool(false, "Day " , inline = "1", group = "HIGHS & LOWS MTF")lvl_weekly = input.bool(false, "Week " , inline = "2", group = "HIGHS & LOWS MTF")lvl_monthly = input.bool(false, "Month", inline = "3", group = "HIGHS & LOWS MTF")lvl_yearly = input.bool(false, "Year " , inline = "4", group = "HIGHS & LOWS MTF")css_d = input.color(color.blue, "", group = "HIGHS & LOWS MTF", inline = "1")css_w = input.color(color.blue, "", group = "HIGHS & LOWS MTF", inline = "2")css_m = input.color(color.blue, "", group = "HIGHS & LOWS MTF", inline = "3")css_y = input.color(color.blue, "", group = "HIGHS & LOWS MTF", inline = "4")s_d = input.string('⎯⎯⎯', '', options = ['⎯⎯⎯', '----', '····'], inline = '1', group = 'HIGHS & LOWS MTF')s_w = input.string('⎯⎯⎯', '', options = ['⎯⎯⎯', '----', '····'], inline = '2', group = 'HIGHS & LOWS MTF')s_m = input.string('⎯⎯⎯', '', options = ['⎯⎯⎯', '----', '····'], inline = '3', group = 'HIGHS & LOWS MTF')s_y = input.string('⎯⎯⎯', '', options = ['⎯⎯⎯', '----', '····'], inline = '4', group = 'HIGHS & LOWS MTF')ob_show = input.bool(true, "Order blocks", inline = "1", group = "VOLUME ORDER BLOCKS")ob_num = input.int(2 , "" , tooltip = "Orderblocks number", inline = "1", group = "VOLUME ORDER BLOCKS", minval = 1, maxval = 10)mult = input.int(5 , "Mult ", tooltip = "Add more bar to the right for a clear view", inline = "2", group = "VOLUME ORDER BLOCKS", minval = 1)ob_timeframe = input.timeframe("", "Timeframe " , inline = "3", group = "VOLUME ORDER BLOCKS")ob_bull_css = input.color(#08998186, "", inline = "1", group = "VOLUME ORDER BLOCKS")ob_bear_css = input.color(#f2364683, "", inline = "1", group = "VOLUME ORDER BLOCKS")ob_opacity = input.int(80, "", inline = "1", tooltip = "Opacity main orderblocks", group = "VOLUME ORDER BLOCKS")show_liq = input.bool(false, "Liquidity Wicks", inline = "1", group = "LIQUIDITY WICKS")liq_up_css = input.color(color.yellow, "", inline = "1", group = "LIQUIDITY WICKS")liq_dn_css = input.color(color.orange, "", inline = "1", group = "LIQUIDITY WICKS")volMA = input.int (200, "MA Volume threshold", group = "LIQUIDITY WICKS", tooltip = "MA on volume to be above", minval = 2)liq_thresh = input.float(10 , "Threshold" , group = "LIQUIDITY WICKS", tooltip = "Wick bigger than body" , minval = 2, step = 0.1)show_lbl = input.bool(true, "Show swing point", inline = "1", group = "GENERAL SETTINGS")lbl_size = input.string("Small", "", options = ["Tiny", "Small", "Normal", "Large", "Huge"], group = "GENERAL SETTINGS", inline = "1")show_bar_css = input.bool(false, "Show bar coloring", group = "GENERAL SETTINGS")//-----------------------------------------------------------------------------{// Switch market strcture visuals//-----------------------------------------------------------------------------{switch show_swing_ms"All" => boolean.set(s_bos, true) , boolean.set(s_choch, true)"CHoCH" => boolean.set(s_bos, false), boolean.set(s_choch, true)"BOS" => boolean.set(s_bos, true) , boolean.set(s_choch, false)"None" => boolean.set(s_bos, false), boolean.set(s_choch, false)=> naswitch show_internal_ms"All" => boolean.set(i_bos, true) , boolean.set(i_choch, true) , boolean.set(i_pp_choch, true)"CHoCH" => boolean.set(i_bos, false), boolean.set(i_choch, true) , boolean.set(i_pp_choch, false)"BOS" => boolean.set(i_bos, true) , boolean.set(i_choch, false), boolean.set(i_pp_choch, false)"CHoCH+" => boolean.set(i_bos, false), boolean.set(i_choch, false), boolean.set(i_pp_choch, true)"None" => boolean.set(i_bos, false), boolean.set(i_choch, false), boolean.set(i_pp_choch, false)=> na//-----------------------------------------------------------------------------{// Custom Type//-----------------------------------------------------------------------------{type barfloat o = openfloat c = closefloat h = highfloat l = lowfloat v = volumeint n = bar_indexint t = timestring xt = xloc.bar_timestring xn = xloc.bar_indextype binfloat [] i_hpointfloat [] i_lpointint [] i_nBullint [] i_nBearfloat [] s_hpointfloat [] s_lpointint [] s_nBullint [] s_nBearfloat [] up_ms_logsfloat [] dn_ms_logsstring[] i_bulltxtstring[] i_beartxttype obfloat[] bear_hfloat[] bear_lint [] bear_nfloat[] bull_hfloat[] bull_lint [] bull_nfloat[] hfloat[] lfloat[] mint [] leftbox [] ob_bxline [] ob_lineint [] t_bullint [] t_bearfloat[] v_bullfloat[] v_bearint [] vn//-----------------------------------------------------------------------------{// Type set//-----------------------------------------------------------------------------{bar b = bar.new()var pp = bin.new(array.new< float >(1, na), array.new< float >(1, na), array.new< int >(1, na), array.new< int >(1, na), array.new< float >(1, na), array.new< float >(1, na), array.new< int >(1, na), array.new< int >(1, na), array.new< float >(1, na), array.new< float >(1, na), array.new< string>(1, na), array.new< string>(1, na))var obv = ob.new(array.new< float >(1, na), array.new< float >(1, na), array.new< int >(1, na), array.new< float >(1, na), array.new< float >(1, na), array.new< int >(1, na), array.new< float >(0, na), array.new< float >(0, na), array.new< float >(0, na), array.new< int >(0, na), array.new< box >(0, na), array.new< line >(0, na), array.new< int >(1 ,na), array.new< int >(1 ,na), array.new< float >(1 ,na), array.new< float >(1 ,na), array.new< int >(1 ,na))//-----------------------------------------------------------------------------{// order blocks candle cordinate//-----------------------------------------------------------------------------{switchb.c > b.o => boolean.set(green_candle, true)b.c < b.o => boolean.set(red_candle , true)switchboolean.get(green_candle) => obv.bull_h.push(b.h), obv.bull_l.push(b.l), obv.bull_n.push(b.n), obv.t_bull.push(b.t)boolean.get(red_candle) => obv.bear_h.push(b.h), obv.bear_l.push(b.l), obv.bear_n.push(b.n), obv.t_bear.push(b.t)=> na//-----------------------------------------------------------------------------{// lower timeframe volume//-----------------------------------------------------------------------------{method normalize(float _src, int _min, int _max) =>var _historicMin = 10e10var _historicMax = -10e10_historicMin := math.min(nz(_src, _historicMin), _historicMin)_historicMax := math.max(nz(_src, _historicMax), _historicMax)_min + (_max - _min) * (_src - _historicMin) / math.max(_historicMax - _historicMin, 10e-10)vol() =>float posVol = 0.0float negVol = 0.0switchclose > open => posVol += volumeclose < open => negVol -= volumetf = (timeframe.in_seconds("") / 60) / 6[_one, _two] = request.security_lower_tf("", ob_timeframe , [posVol, negVol])[_one.sum().normalize(0, 100), _two.sum().normalize(-100, 0)]//-----------------------------------------------------------------------------{// set orderblocks//-----------------------------------------------------------------------------{method orderblock(bool condition, float top, float btm, int left, int right, float mitigation, bool bull, int num, color css, string _extend, string _xloc, float target_bull, float target_bear, int transp_bg, int transp_border, string strVol) =>var ob_top = array.new< float >(0)var ob_btm = array.new< float >(0)var ob_left = array.new< int >(0)var ob_right = array.new< int >(0)var bx = array.new< box >(0)var l = array.new< line >(0)var bull_tar = array.new< float >(0)var bear_tar = array.new< float >(0)if conditionavg = math.avg(top, btm )ob_top .unshift(top )ob_btm .unshift(btm )ob_left .unshift(left )ob_right.unshift(right )bull_tar.unshift(target_bull)bear_tar.unshift(target_bear)if barstate.isconfirmedtarget = bull ? bull_tar : bear_tarfor stuff in targetindex = target.indexof(stuff)if (bull ? mitigation < stuff : mitigation > stuff)ob_top .remove(index)ob_btm .remove(index)ob_left .remove(index)ob_right.remove(index)bull_tar.remove(index)bear_tar.remove(index)if barstate.isfirstfor j = 0 to num - 1bx.unshift(box.new(na, na, na, na, xloc = _xloc, extend = _extend, bgcolor = css, border_color = color.new(css, 100), text = str.tostring(strVol), text_halign = text.align_right, text_size = size.auto, text_color = css))if barstate.islastif ob_top.size() > 0for j = 0 to math.min(num - 1, ob_top.size() - 1)g_box = bx.get(j)g_line = l.get (j)g_box.set_left (ob_left .get(j))g_box.set_right (ob_right.get(j))g_box.set_top (ob_top .get(j))g_box.set_bottom(ob_btm .get(j))[up, dn] = vol()//-----------------------------------------------------------------------------{// General functions//-----------------------------------------------------------------------------{size(x) =>switch x"Tiny" => size.tiny"Small" => size.small"Large" => size.large"Huge" => size.huge_h_l() => [b.h, b.l]lineStyle(x) =>y = switch x'⎯⎯⎯' => line.style_solid'----' => line.style_dashed'····' => line.style_dottedyf_line(x, y, z, css, txt, down, size, style) =>var line id = navar label lbl = naid := line.new(x, y, z, y, xloc = b.xn, color = css, width = 1, style = style)lbl := label.new(int(math.avg(x, z)), y, txt, color = invcol, textcolor = css, style = down ? label.style_label_down : label.style_label_up, size = size)method sf_hl(string tf) =>[h, l] = request.security("", tf, _h_l(), lookahead = barmerge.lookahead_on)[h, l]method f_hl_line(string _style, color css, string tf) =>var line h_line = navar line l_line = navar label h_label = navar label l_label = nah_line := line.new(na, na, na, na, xloc = b.xt, color = css, style = _style)l_line := line.new(na, na, na, na, xloc = b.xt, color = css, style = _style)h_label := label.new(na, na, xloc = b.xt, text = str.format("{0} High" , tf), size = size.small, style = label.style_label_left, color = invcol, textcolor = css)l_label := label.new(na, na, xloc = b.xt, text = str.format("{0} Low", tf), size = size.small, style = label.style_label_left, color = invcol, textcolor = css)[h_line, l_line, h_label, l_label]//-----------------------------------------------------------------------------{// HTF high and low//-----------------------------------------------------------------------------{method highANDlow(string _tf, float _higs, float _lows, string _style, color _css) =>highY = ta.valuewhen(_higs != _higs[1], _higs, 1)highX = ta.valuewhen(_higs == b.h , b.t , 1)lowY = ta.valuewhen(_lows != _lows[1], _lows, 1)lowX = ta.valuewhen(_lows == b.l , b.t , 1)[h_line, l_line, h_label, l_label] = _style.f_hl_line(_css, _tf)if barstate.islastt_end = time + (time - time[1]) * 20line.set_xy1(h_line , highX, highY)line.set_xy2(h_line , t_end, highY)label.set_xy(h_label, t_end, highY)line.set_xy1(l_line , lowX , lowY )line.set_xy2(l_line , t_end, lowY )label.set_xy(l_label, t_end, lowY )[d_h, d_l] = "D" .sf_hl()[w_h, w_l] = "W" .sf_hl()[m_h, m_l] = "M" .sf_hl()[y_h, y_l] = "12M".sf_hl()if lvl_daily"D" .highANDlow(d_h, d_l, lineStyle(s_d), css_d)if lvl_weekly"W" .highANDlow(w_h, w_l, lineStyle(s_w), css_w)if lvl_monthly"M" .highANDlow(m_h, m_l, lineStyle(s_m), css_m)if lvl_yearly"12M".highANDlow(y_h, y_l, lineStyle(s_y), css_y)//-----------------------------------------------------------------------------{// Market strcture pivot point//-----------------------------------------------------------------------------{point() =>ph_i = ta.pivothigh(b.h, internal_l_lookback, internal_r_lookback)pl_i = ta.pivotlow (b.l , internal_l_lookback, internal_r_lookback)ph_s = ta.pivothigh(b.h, swing_l_lookback, swing_r_lookback)pl_s = ta.pivotlow (b.l , swing_l_lookback, swing_r_lookback)[ph_i, pl_i, ph_s, pl_s][ph_i, pl_i, ph_s, pl_s] = point()switchph_i => pp.i_hpoint.clear(), pp.i_nBull.clear(), pp.i_hpoint.push(b.h[internal_r_lookback]), pp.i_nBull.push(b.n[internal_r_lookback]), pp.up_ms_logs.push(b.h[internal_r_lookback])pl_i => pp.i_lpoint.clear(), pp.i_nBear.clear(), pp.i_lpoint.push(b.l[internal_r_lookback]), pp.i_nBear.push(b.n[internal_r_lookback]), pp.dn_ms_logs.push(b.l[internal_r_lookback])ph_s => pp.s_hpoint.clear(), pp.s_nBull.clear(), pp.s_hpoint.push(b.h[swing_r_lookback]) , pp.s_nBull.push(b.n[swing_r_lookback])pl_s => pp.s_lpoint.clear(), pp.s_nBear.clear(), pp.s_lpoint.push(b.l[swing_r_lookback]) , pp.s_nBear.push(b.n[swing_r_lookback])=> na//-----------------------------------------------------------------------------{// strcture set//-----------------------------------------------------------------------------{method structure(bin zz, bool mtf) =>var color css = navar int count = 0var trend = 0var itrend = 0var ob_bear = falsebool bear_ob = falsebool bull_ob = falseif true//-----------------------------------------------------------------------------{//Internal structure bullish//-----------------------------------------------------------------------------{if zz.dn_ms_logs.size() > 1 and zz.i_hpoint.size() > 0 and zz.i_nBull.size() > 0if ta.crossover(b.c, zz.i_hpoint.last())bool choch = nastring txt = naif itrend < 0choch := trueswitchchoch and not (zz.dn_ms_logs.last() > zz.dn_ms_logs.get(zz.dn_ms_logs.indexof(zz.dn_ms_logs.last()) - 1)) => txt := "CHoCH"choch and (zz.dn_ms_logs.last() > zz.dn_ms_logs.get(zz.dn_ms_logs.indexof(zz.dn_ms_logs.last()) - 1)) => txt := "CHoCH+"not choch => txt := "BOS"itrend := 1switch txt"CHoCH" => css := i_ms_up_choch"BOS" => css := i_ms_up_bos"CHoCH+" => css := i_ms_up_choch=> cssif ((txt == "BOS" and boolean.get(i_bos) == true) or (txt == "CHoCH" and boolean.get(i_choch) == true) or (txt =="CHoCH+" and boolean.get(i_pp_choch) == true)) and mtf == falsef_line(zz.i_nBull.last(), zz.i_hpoint.last(), b.n, i_ms_up_bos, txt, true, size.small, line.style_dashed)if txt == "BOS"bull_ob := truezz.i_nBull.clear ()zz.i_hpoint.clear()zz.i_bulltxt.push(txt)//-----------------------------------------------------------------------------{//Internal structure bearish//-----------------------------------------------------------------------------{if zz.up_ms_logs.size() > 1 and zz.i_lpoint.size() > 0 and zz.i_nBear.size() > 0if ta.crossunder(b.c, zz.i_lpoint.last())bool choch = nastring txt = naif itrend > 0choch := trueswitchchoch and not (zz.up_ms_logs.last() < zz.up_ms_logs.get(zz.up_ms_logs.indexof(zz.up_ms_logs.last()) - 1)) => txt := "CHoCH"choch and (zz.up_ms_logs.last() < zz.up_ms_logs.get(zz.up_ms_logs.indexof(zz.up_ms_logs.last()) - 1)) => txt := "CHoCH+"not choch => txt := "BOS"itrend := -1switch txt"CHoCH" => css := i_ms_dn_choch"BOS" => css := i_ms_dn_bos"CHoCH+" => css := i_ms_dn_choch=> cssif ((txt == "BOS" and boolean.get(i_bos) == true) or (txt == "CHoCH" and boolean.get(i_choch) == true) or (txt =="CHoCH+" and boolean.get(i_pp_choch) == true)) and mtf == falsef_line(zz.i_nBear.last(), zz.i_lpoint.last(), b.n, i_ms_dn_bos, txt, false, size.small, line.style_dashed)if txt == "BOS"bear_ob := truezz.i_nBear.clear ()zz.i_lpoint.clear()zz.i_beartxt.push(txt)//-----------------------------------------------------------------------------{//Swing structure bullish//-----------------------------------------------------------------------------{if zz.s_hpoint.size() > 0if ta.crossover(b.c, zz.s_hpoint.last())bool choch = nastring txt = naif trend < 0choch := truetxt := choch ? "CHoCH" : "BOS"trend := 1if ((txt == "BOS" and boolean.get(s_bos) == true) or (txt == "CHoCH" and boolean.get(s_choch) == true) and mtf == false)f_line(zz.s_nBull.last(), zz.s_hpoint.last(), b.n, i_ms_up_bos, txt, true, size.small, line.style_solid)zz.s_nBull.clear ()zz.s_hpoint.clear()//-----------------------------------------------------------------------------{//Swing structure bearish//-----------------------------------------------------------------------------{if zz.s_lpoint.size() > 0if ta.crossunder(b.c, zz.s_lpoint.last())bool choch = nastring txt = naif trend > 0choch := truetxt := choch ? "CHoCH" : "BOS"trend := -1if ((txt == "BOS" and boolean.get(s_bos) == true) or (txt == "CHoCH" and boolean.get(s_choch) == true) and mtf == false)f_line(zz.s_nBear.last(), zz.s_lpoint.last(), b.n, i_ms_dn_bos, txt, false, size.small, line.style_solid)zz.s_nBear.clear ()zz.s_lpoint.clear()[css, bear_ob, bull_ob][css, bear_ob_check, bull_ob_check] = pp.structure(false)//-----------------------------------------------------------------------------{// basic Liquidity wick function//-----------------------------------------------------------------------------{liq_wick(bool green, int len, float thresh) =>bool up_liq = falsebool dn_liq = falsebool vol = b.v > ta.sma(b.v, len) ? true : falsefloat u_c = nafloat u_h = nafloat u_o = nafloat d_c = nafloat d_lo = nafloat d_o = naupwick = math.abs(high - math.max(open, close))dnwick = math.abs(low - math.min(open, close))body = math.abs(close - open)switch greentrue => up_liq := upwick > thresh * body and vol ? true : falsefalse => dn_liq := dnwick > thresh * body and vol ? true : false=> naswitch up_liqtrue => u_c := close, u_h := high, u_o := open=> naswitch dn_liqtrue => d_c := close, d_lo := low, d_o := open=> na[up_liq, dn_liq, u_c, u_h, u_o, d_c, d_lo, d_o][up_liq, dn_liq, u_c, u_h, u_o, d_c, d_lo, d_o] = liq_wick(close > open, volMA, liq_thresh)//-----------------------------------------------------------------------------{// set order blocks//-----------------------------------------------------------------------------{switch ob_showfalse => bear_ob_check := false, bull_ob_check := false=> nabull_ob_check.orderblock(obv.bear_h.last(), obv.bear_l.last(), obv.t_bear.last(), obv.t_bear.last(), close, true, ob_num, color.new(ob_bull_css, ob_opacity), extend.right, xloc.bar_time, obv.bear_l.last(), obv.bear_l.last(), ob_opacity, 100, "")bull_ob_check.orderblock(obv.bear_h.last(), ((obv.bear_l.last() + obv.bear_h.last()) / 2), obv.t_bear.last(), time_close + (time_close - time_close[1]) * int(up * mult), close, true, ob_num, ob_bull_css, extend.none, xloc.bar_time, obv.bear_l.last(), obv.bear_l.last(), 60, 100, "")bull_ob_check.orderblock(((obv.bear_l.last() + obv.bear_h.last()) / 2), obv.bear_l.last(), obv.t_bear.last(), time_close + (time_close - time_close[1]) * int(math.abs(dn * mult)), close, true, ob_num, ob_bear_css, extend.none, xloc.bar_time, obv.bear_l.last(), obv.bear_l.last(), 60, 100, "")bear_ob_check.orderblock(obv.bull_h.last(), obv.bull_l.last(), obv.t_bull.last(), obv.t_bull.last(), close, false, ob_num, color.new(ob_bear_css, ob_opacity), extend.right, xloc.bar_time, obv.bull_h.last(), obv.bull_h.last(), ob_opacity, 100, "")bear_ob_check.orderblock(obv.bull_h.last(), ((obv.bull_l.last() + obv.bull_h.last()) / 2), obv.t_bull.last(), time_close + (time_close - time_close[1]) * int(up * mult), close, false, ob_num, ob_bull_css, extend.none, xloc.bar_time, obv.bull_h.last(), obv.bull_h.last(), 60, 100, "")bear_ob_check.orderblock(((obv.bull_l.last() + obv.bull_h.last()) / 2), obv.bull_l.last(), obv.t_bull.last(), time_close + (time_close - time_close[1]) * int(math.abs(dn * mult)), close, false, ob_num, ob_bear_css, extend.none, xloc.bar_time, obv.bull_h.last(), obv.bull_h.last(), 60, 100, "")//-----------------------------------------------------------------------------{// plotting//-----------------------------------------------------------------------------{if pp.s_hpoint.size() > 0if ta.change(pp.s_hpoint.last())label.new(bar_index[swing_r_lookback], high[swing_r_lookback], text = "HH", color = invcol, style = label.style_label_down, textcolor = i_ms_up_bos, size = size(lbl_size))if pp.s_lpoint.size() > 0if ta.change(pp.s_lpoint.last())label.new(bar_index[swing_r_lookback], low[swing_r_lookback], text = "LL", color = invcol, style = label.style_label_up, textcolor = i_ms_dn_bos, size = size(lbl_size))plotcandle(open,high,low,close , color = css , wickcolor = color.rgb(120, 123, 134, 50), bordercolor = css)plotcandle(u_c, u_h, u_o, u_h , wickcolor = invcol, color = invcol, bordercolor = show_liq ? liq_up_css : invcol)plotcandle(d_c, d_c, d_lo, d_lo, wickcolor = invcol, color = invcol, bordercolor = show_liq ? liq_dn_css : invcol)barcolor(color = show_bar_css ? css : na)09/25/2023 at 7:51 AM #221540Se parece mucho a este otro indicador de la biblioteca: https://www.prorealcode.com/prorealtime-indicators/ict-donchian-smart-money-structure/
09/25/2023 at 8:42 AM #221544 -
AuthorPosts
Viewing 3 posts - 1 through 3 (of 3 total)
Find exclusive trading pro-tools on
Similar topics: