哪位大师把pine脚本源代码修改MT4

MQL4 Skripte Konvertierung Forex Stocks

Spezifikation

// 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)))

Bewerbungen

1
Entwickler 1
Bewertung
(102)
Projekte
118
31%
Schlichtung
4
0% / 50%
Frist nicht eingehalten
2
2%
Frei
2
Entwickler 2
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
3
Entwickler 3
Bewertung
(2)
Projekte
3
0%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
2
67%
Frei
4
Entwickler 4
Bewertung
(236)
Projekte
440
26%
Schlichtung
123
21% / 56%
Frist nicht eingehalten
96
22%
Beschäftigt
Ähnliche Aufträge
Igs 300 - 2000 USD
开发一个交易策略和订购一个自动交易,使它们可以按照您的策略在外汇和交易所市场(外汇,股票,期货和差价合约)自动交易

Projektdetails

Budget
30 - 200 USD
Für die Entwickler
27 - 180 USD