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

MQL4 Sripts Conversión Fórex Acciones

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
Desarrollador 1
Evaluación
(108)
Proyectos
126
35%
Arbitraje
6
0% / 67%
Caducado
2
2%
Libre
Ha publicado: 25 ejemplos
2
Desarrollador 2
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
3
Desarrollador 3
Evaluación
(2)
Proyectos
3
0%
Arbitraje
1
0% / 100%
Caducado
2
67%
Libre
4
Desarrollador 4
Evaluación
(250)
Proyectos
460
26%
Arbitraje
140
20% / 59%
Caducado
100
22%
Trabaja
Solicitudes similares
这数据太真实了,庄家底裤都被看穿了... 这波 RIVER 的回测简直封神,做空 (SHORT) 节点抓得一秒不差,最高盈利率高达 26.0197%。 不想踏空的去谷歌搜 AICE100,看下历史回测就懂了,工具确实给力。
有EA文件没有源码,要修改EA的点差要求
1. 核心功能:开发EA黄金量化交易脚本,支持MT4、MT5双平台适配,可正常加载外接SET策略文件,实现黄金量化自动交易。 2. 操作面板:自带可视化操作面板,参数清晰、操作便捷,可直观调整交易相关设置。 3. 授权功能:具备授权管理功能,可给他人设置授权(如授权期限、使用权限),同时可自主撤销授权。 4. 源码要求:提供完整可修改源码,本人可自由修改所有参数、策略逻辑,源码永久归属本人所有。 5. 安全保障:作者不得拥有源码操控权、查看权,不得远程干预脚本运行,不得留存源码备份及相关操作权限,杜绝源码泄露、被篡改风险。 6. 补充说明:源码需兼容主流MT4/MT5版本,无兼容性漏洞;提供基础注释,方便本人理解、修改源码;交付后需提供简单调试指导,确保SET文件正常加载、脚本可正常运行。 V:baguniu9
下面为GPT提供的思路 请帮我实现它 分析自动化交易建议 用户希望提取微信群消息,自动分析,并根据指令让MT4下单。可以分为几个组件: 微信群消息提取 :可以使用WeChat PC客户端钩子,或使用如Wechaty、wxpy、itchat等框架来实现,需注意TOS(服务条款)风险。 消息解析与分析 :可以用Python和NLP方式提取关键词,或使用机器学习技术,采用模式检测或有限状态机(FSM)进行分析。 我建议先着手设计架构,再考虑合适的技术栈和工具。 提出自动化交易接口建议 针对用户的问题,可以考虑以下几个组件: MT4接口 :可以采用MetaTrader 4的专家顾问打开本地通信,或使用CSV、TXT文件定期轮询,也可以通过WebRequest函数连接REST接口。另有通过Windows COM或Python的MetaTrader库来连接MT4。 消息处理

Información sobre el proyecto

Presupuesto
30 - 200 USD