炒外汇、期货等投资领域需要高度的专业知识和经验,尤其是在一个竞争激烈的市场中进行短线交易可能会使满头大汗。幸运的是,有一些常用的技术可以帮助投资者提高他们的交易表现和成功率。这篇文章将介绍如何使用MQL4编程语言来开发高效的交易策略。
一、MQL4简介
MQL4是MetaTrader 4(MT4)交易平台中的编程语言,它允许交易者创建自定义指标、脚本和自动化交易程序(Expert Advisors),并可以与MT4平台无缝集成。
MQL4代码是由C++语言标准定义的一种对象式编程方式。成功编写MQL4代码需要良好的逻辑思考能力和计算机编程技巧。但是,即使你没有编程经验,学习MQL4也是可能的。
二、使用MQL4编写自定义指标
自定义指标是使用MT4中正在运行的行情数据计算出来的技术指标。它是由程序员撰写的代码,用于量化投资策略中特定的统计指标。以下是使用MQL4编写自定义指标程序的步骤。
步骤1:创建新指标程序
在MT4中,点击“新建图表”,然后右键单击图表上的区域,选择“添加指标”,然后选择“自定义”选项卡,打开自定义指标对话框。
在此对话框中,单击“新建”按钮,输入指标名称,并选择MQL4编写的自定义指标文件。
步骤2:编写指标程序
打开MQL4编辑器以开始编写自定义指标程序。编写指标最核心的任务是确定算法和条件,然后将它们转化为有效的代码。
以下是一个简单的移动平均线自定义指标程序:
“`
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
double MA_Buffer[];
int start()
{
double ma_value = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0);
MA_Buffer[0] = ma_value;
return (0);
}
“`
这个程序计算价格关闭每个周期20根蜡烛的移动平均线。它通过创建一个名为MA_Buffer[]的缓冲区来输出计算值。这个缓冲区在创建的时候已经设置了1个元素。最后返回0。
步骤3:安装新的自定义指标程序
完成上述代码后,保存代码并构建(F7)。然后关闭编辑器窗口并回到MT4主窗口。单击导航窗格中的“导航”,然后在常规选项卡下,双击“自定义指标”文件夹。
找到并双击刚才保存的自定义指标程序,它应该会被安装在您的MT4平台中。
三、使用MQL4编写自动化交易程序
在MT4中,自动化交易程序通常称为“Expert Advisors(EA)”。EA是用代码编写的自动交易策略,可以执行一系列自定义命令并根据预定条件进行交易。
以下是编写EA的步骤:
步骤1:编写交易算法
首先需要决定你的交易系统的参数和策略。MQL4提供了许多内置的函数和指令,最常用的是可以在行情窗格中获取索引值的函数和可以发送订单的函数。为您的EA定义参数和变量,以便可以轻松地随时更改它们。
步骤2:创建新项目
通过选择“新建”项目或快捷键Ctrl + N来创建新EA项目。
步骤3:编写EA主体代码
这是一个简单的样例:
“`
void OnTick()
{
double price = Ask; // 获取当前询价
double takeprofit=price+10*Point; // 这个操作将给你一个10点的TakeProfit, Point是pip的单位
double stoploss=price-10*Point; // 这个操作将给你一个10点的StopLoss
int ticket=OrderSend(Symbol(),OP_BUY,1,price,3, stoploss,takeprofit,””,0,0,Blue); // 这个操作将执行一个买入交易
if(ticket>0){
Print(“成功:订单 #”,ticket,” 已开单”);
}
}
“`
步骤4:测试EA
在MT4中上载和运行EA的最简单方法是打开“自动交易按钮”(或按F5)。选择您的EA,并将其拖放到行情窗格中。MT4将开始自动交易。
测试后,您可以将EA安装在MT4中,在任何图表上使用,对多个品种执行并应用测试结果与实时市场运动相匹配。
结论
使用MQL4可以编写自定义指标和自动化交易程序,其中包括确定算法和条件并将它们转换为代码。这对于那些想要在高度竞争的投资领域中变得更有效并且使用一些没有聘请额外人员的小型团队或极客和专业交易者的个人而言都是非常有用的。