Tarea técnica
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © allanster
//@version=4
study("Gridimus Maximus", shorttitle = 'Gridimus Maximus', overlay = true)
step_By = input('Steps by Pivot', title = 'Type of Increment',
options = ['Steps by Pivot', 'Steps by Percent', 'Steps by Price'])
stepNmb = input(defval = 5, title = 'Number Of Steps', minval = 0, maxval = 50)
towards = input(defval = 'Top', title = 'Direction To Step Towards',
options = ['Bottom', 'Top'])
startAt = input(defval = 10000.00, title = 'Starts From Price', minval = 0)
fctr_By = step_By == 'Steps by Percent' ? .01 : 1
stepAmt = input(defval = 33.3, title = 'Steps By Percent Or Price', minval = 0) * fctr_By
pivotHi = input(defval = high, title = 'Or Steps By Higher', inline = 'pivots')
pivotLo = input(defval = low, title = 'Lower', inline = 'pivots')
pivotLn = input(defval = 7, title = 'Pivot nBars To Left', minval = 0, inline = 'nBars')
pivotRn = input(defval = 2, title = 'Right ', minval = 0, inline = 'nBars')
resoltn = input('', title = 'Use A Higher Timeframe', type = input.resolution)
gridSty = input(defval = 'Dotted', title = 'Grid Lines Show As',
options = ['Dashed', 'Dotted', 'Solid'], inline = 'grid')
gridCol = input(defval = color.new(#787b86, 0), title = ' ', type = input.color, inline = 'grid')
gridWid = input(defval = 1, title = ' ', minval = 1, inline = 'grid')
gridXtd = input(defval = 'Both', title = 'Grid Lines Extend ',
options = ['Both', 'Right'], inline = 'grid2')
lablSiz = input(defval = 'Normal', title = 'Grid Label Show As',
options = ['Off', 'Auto', 'Tiny', 'Small', 'Normal', 'Large', 'Huge'], inline = 'labl')
textCol = input(defval = color.new(#000000, 0), title = ' ', type = input.color, inline = 'labl')
lablCol = input(defval = color.new(#787b86, 0), title = ' ', type = input.color, inline = 'labl')
source(_src,_res)=>
src = _res == timeframe.period ? _src : security(syminfo.tickerid, _res, _src)
offSet(_res, _n)=>
ctf = _res == timeframe.period
bar = time_close - time
htf = ctf ? bar : security(syminfo.tickerid, _res, bar)
off = ctf ? _n : round(htf / bar * _n)
hiPivot = source(pivothigh(pivotHi, pivotLn, pivotRn), resoltn), hiValue = not na(hiPivot)
loPivot = source(pivotlow (pivotLo, pivotLn, pivotRn), resoltn), loValue = not na(loPivot)
useAxis = float(na)
useAxis :=
step_By == 'Steps by Percent' or step_By == 'Steps by Price' ? startAt :
hiValue ? hiPivot : loValue ? loPivot : nz(useAxis[1])
useSign = towards == 'Bottom' ? -1 : 1
// === Queue function method adapted from PineCoders.com | LucF ===
f_qDq(_array, _val) =>
array.push(_array, _val)
_return = array.shift(_array)
f_lineNew(_y)=>
setBack =
step_By != 'Steps by Pivot' ? 1 :
resoltn == timeframe.period ? pivotRn : offSet(resoltn, pivotRn)
line.new(bar_index - setBack, _y, bar_index, _y, xloc.bar_index,
gridXtd == 'Both' ? extend.both : extend.right, gridCol,
gridSty == 'Dashed' ? line.style_dashed :
gridSty == 'Dotted' ? line.style_dotted :
line.style_solid, gridWid)
f_labelNew(_y)=>
hideLbl = lablSiz == 'Off'
sizeLbl =
lablSiz == 'Auto' ? size.auto : lablSiz == 'Tiny' ? size.tiny :
lablSiz == 'Small' ? size.small : lablSiz == 'Normal' ? size.normal :
lablSiz == 'Large' ? size.large : size.huge
setBack = resoltn == timeframe.period ? pivotRn : offSet(resoltn, pivotRn)
if step_By != 'Steps by Pivot'
label.new(time + (time_close - time), _y, tostring(_y), xloc.bar_time, yloc.price,
hideLbl ? color(na) : lablCol, label.style_label_lower_left,
hideLbl ? color(na) : textCol, sizeLbl, text.align_left)
else if step_By == 'Steps by Pivot'
label.new(bar_index - setBack, _y, tostring(_y), xloc.bar_index, yloc.price,
hideLbl ? color(na) : lablCol, hiValue ? label.style_label_lower_left : label.style_label_upper_right,
hideLbl ? color(na) : textCol, sizeLbl, text.align_left)
var line[] gridLvl = array.new_line(stepNmb)
var label[] gridLbl = array.new_label(stepNmb)
stepLvl = float(na)
if step_By != 'Steps by Pivot'
for i = 0 to stepNmb - 1
stepLvl :=
i == 0 ? useAxis :
step_By == 'Steps by Price' ? useAxis + (useSign * i * stepAmt) :
step_By == 'Steps by Percent' ? stepLvl * (1 + (useSign * stepAmt)) :
useAxis // <- future additional static axis options may go here
label.delete(f_qDq(gridLbl, f_labelNew(stepLvl)))
line.delete(f_qDq(gridLvl, f_lineNew(stepLvl)))
else if step_By == 'Steps by Pivot' and change(useAxis) != 0
label.delete(f_qDq(gridLbl, f_labelNew(useAxis)))
line.delete(f_qDq(gridLvl, f_lineNew(useAxis)))
Han respondido
1
Evaluación
Proyectos
120
33%
Arbitraje
4
0%
/
50%
Caducado
2
2%
Libre
2
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
3
Evaluación
Proyectos
3
0%
Arbitraje
1
0%
/
100%
Caducado
2
67%
Libre
4
Evaluación
Proyectos
440
26%
Arbitraje
125
21%
/
57%
Caducado
96
22%
Trabaja
Información sobre el proyecto
Presupuesto
30 - 200 USD
Para el ejecutor
27
- 180
USD