作为一个只懂得简单的 Excel 函数和宏命令,但从未学过编程语言的人来说,编程是一种貌似很高深的前沿技术。
直到有一天,当我想让 MT4 平台里面的指标在 MT5 平台里面运行,结果发现这是一项艰难的工程,因为 mql4 和 mql5 的语言区别,这个过程涉及到重新编程调试的复杂工作。
于是这个任务搁置了很久,这期间只能使用另一台老旧 Win 电脑运行着 MT4,只是为了显示那些只能在 MT4 平台下运行的特定指标窗口界面。
随着 AI 时代的来临,近几天发现了一个可以调用 AI 大模型的编程工具 Cursor。
凭借着在 Bilibili 查询到的 MQL5 编程界面,和 对Python 集成开发环境 Anaconda 的简单理解,开始了测试 Cursor 编程功能的历程。
1. 打开 MT5 平台
在 MT5 的 IDE 中新建文件
打开 MT5 平台中的 IDE 环境,这里是要编辑指标,不是编辑 EA 和脚本,因此要在选择新建文件( Ctrl + N)时,点击选择第三项【Custom Indicator】。
注意在 mac OS 系统中, MT5 中的 Ctrl 就是 Ctrl,不像在其他软件中那样被替换成了 Command。
在跳出的界面中修改文件名,这里改为【Sonic R】。
选项按照默认,点击下一步。
点击下一步,IDE 会新增一个窗口
可将这个自动生成的样例模版中第10行以下全部删除,第10行以上的内容替换成我们自己的信息。
2. 使用 Cursor 编程
在浏览器打开网站 Cusor.com
点击右上角【Sign Up】注册,因为我已经注册了,所以此处显示为【Sign In】,注册后可以使用代码修改等更多的功能。据说可以免费使用2周,共500次 Claude 3.5 模型,之后每月费用20美元,目前发现在闲鱼可以低价购买共享账号。
打开 Finder,同屏多窗口状态下打开 Cursor 界面,将 Finder 中选中的文件,这是一个 MT4 平台中的指标文件,文件格式为 .mq4,点击鼠标左键拖动到右侧 的 Cursor 界面,Cursor 会新建一个样例,并在标签页打开。
最大化 Cursor 的界面,开始编程。
点击右上角设置图标,在 Rules for AI 选项中填写“Always respond in chinese”,即可将 Cursor 设置为中文提问和回答界面。
在键盘上点击【Command+L】,打开右侧 Chat 界面。
将第10行到最后一行的内容复制粘贴到 MQL5 的 IDE 中,然后开始逐步修改第327行开始的描述性语句下面的功能语句。
比如,复制327行到653行语句到右侧 Chat 界面中的 【Ask Anthing】上方的窗口,在【Ask Anthing】对话框中输入【将代码重新编译,使其可在 MT5 平台运行】,回车确认。这句话也可以省略,输入代码后直接回车,Cursor 也可以自动执行修改任务。默认状态是调用 chatgpt-4o 模型,在这个界面左下角可以选择【claude-3.5-sonnet】,效果可能会更精确一些。
出现界面只显示部分代码样例,不能实现修改代码,可能是选中的代码过长或过于复杂,减少所选行数重新执行。
下图右侧【chat】窗口显示代码已修改成功。
每修改一段后,就将修改后的代码复制粘贴到 MT5 的 IDE 环境中,全部粘贴完毕后点击菜单栏中的【Compile】或按下 F7,即可编译执行代码,在屏幕下方任务栏中的【Error】标签,可以查看出现错误的行,双击提示内容可定位到错误的行,复制此行内容,粘贴到 Cursor 界面,让系统继续调试修改,然后将修改后的内容复制粘贴到 MT5 的 IDE 环境中,如此反复循环多次,直到错误行归零。只剩下不多的错误行,一般也不会影响程序执行效果。
通过这种方式,即可将一个在 MT4 平台中的指标,重新编译成一个在 MT5 平台中的指标。修改多个指标和模版后,粘贴到 MT5 平台的文件夹中,即可实现将 MT4 平台中的指标在 MT5 平台中完整复现的目的。
3. 展望
AI 的出现,使得编程这种信息时代的生产工具正在发生一场革命。熟悉 Cursor 这个生产工具后,即使编程小白的本人,也可以很快实现很复杂的编程任务,尤其是在已经有程序代码的基础上,可以更快地实现代码的重新编译,从而将更多精力放在交易系统的建立和完善方面,大大地解放了生产力。