指定
// 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)))
反馈
1
等级
项目
126
35%
仲裁
6
0%
/
67%
逾期
2
2%
空闲
发布者: 25 代码
2
等级
项目
0
0%
仲裁
0
逾期
0
空闲
3
等级
项目
3
0%
仲裁
1
0%
/
100%
逾期
2
67%
空闲
4
等级
项目
460
26%
仲裁
140
20%
/
59%
逾期
100
22%
工作中
相似订单
【技术大佬】需要技术大佬来合作,业务较多。
30+ USD
1.按需求定制EA; 2.破解市面EA逻辑; 3.整合逻辑; 4.修复bug; 就是技术上的需求,需要处理。价格可以洽谈
Mql5程序对接商业AI 大模型
500 - 5000 USD
本人有mq5语言的程序,程序稳定可靠,交易记录良好,想将此策略接上AI大模型,比如Claude opus4.6, 要求AI对EA参数结合市场行情,消息新闻进行动态调整,并且对不利的交易信号进行过滤,后期能够并行接入更多的交易策略,并且对策略进行组合管理,如能胜任并且已经具备开发经验的请联系我
我有很多EA黄金策略,其中选取了3-4种实盘跑了盈利的EA。需要全部整合
30 - 200 USD
VX:shenghuobi 本人有 3-4 套自主研发并经过半年以上黄金(XAUUSD)实盘验证的盈利 EA 策略(趋势型 / 震荡型为主,无马丁 / 网格等高风险逻辑),现需要将这些 EA 的核心策略逻辑整合为一套 统一的 MT5 EA 程序 ,实现多策略协同运行。 二、核心开发要求 策略整合 : 保留每套原 EA 的核心盈利逻辑(入场信号、止损止盈、风控规则); 每套策略可独立开关(通过参数设置启用 / 禁用某套策略); 策略间无冲突,同一时间仅运行符合条件的 1 套策略(避免重复开单)。 风控统一管理 : 新增全局风控参数:单日最大亏损(账户净值百分比)、单笔最大风险(0.5%-1%)、总持仓手数限制; 触发全局风控时,暂停所有策略开单,仅允许平仓。 参数可视化 : 在 MT5 EA 参数面板中,按 “策略 1 / 策略 2 / 策略 3 / 策略 4” 分类展示各套策略的可调参数; 全局风控参数单独分类,便于后期调整。
项目信息
预算
30 - 200 USD