【MQL4编程模版】1 快速编码范例
标签:
ea编程mql4教程模板指标编程ea |
分类: MQL4教程 |
1.1
提出交易规则
猜单双赌博游戏有一种玩法是:如果上一盘赢了,本次下注10元,如果上一盘输了,本次下注1元。
根据这个玩法,我们制定一个交易规则,就叫做“单挑”。规则如下:
1.
2.
3.
4.
1.2
程序准备
运行MetaEditor,打开模版程序,另存为“单挑[2016.01]”。
先修改程序封面:
#property
#property
#property
#property
#property
#property
#property
1.3
编写预设参数代码
编写初始建仓量、盈利倍数、止盈间隔以及MA相关参数,其他保留原样,点击F7编译无报错。
//=============================外部预设参数====================================
//
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
1.4
编写信号代码
在egTradingSignal模块中编写信号代码。
http://s6/mw690/001WpylDgy71zclabl305&690
void egTradingSignal(string
{
}
将计算的MA数据、中间报价和信号代码输出到主图验证核对数据是否准确:
http://s1/mw690/001WpylDgy71zcuXJV650&690
用历史测试快速验证信号1011、1012是否正确:
http://s13/mw690/001WpylDgy71zczJi7Gac&690
1.5
编写建仓代码
在egCreat模块中编写建仓代码。规则是:如果上一单亏损,则本次按照最小建仓单位执行,如果上一单盈利,则本次按照最小建仓单位N倍执行,N为预设参数。如果是新账号,没有历史交易记录,第一单则按照最小建仓单位执行。
bool egCreat()
{
点击F7编译无报错,验证主程序执行建仓:
http://s14/mw690/001WpylDgy71zcKO1NH1d&690
仪表盘红框表示有1张Buy单处于控制中。测试日志栏有建仓信息输出。
1.6
编写平仓代码
本规则成交持仓单是通过止盈止损平仓出局的。在egReduce模块中编写止盈止损代码:
bool egReduce()
{
//--- Sell单止盈止损
//--- Buy
}
编译无误后,验证主程序执行止盈止损:
http://s2/mw690/001WpylDgy71zcVSPVD61&690
1.7
历史数据测试
http://s11/mw690/001WpylDgy71zd5lo5I0a&690
既有Buy单也有Sell单执行了规则。
逻辑正确,编码完成。
完成后的主程序共计551行,而真正需要我们编码的只有上述几十行。这个编程模版集成了基本控单功能,杜绝了语法错误,极少有逻辑错误,让编码人员把更多精力投放到规则逻辑的有效组合上,从而大大地提高了编码效率和编码质量。
这个范例源码下载地址:http://pan.baidu.com/s/1mhC81hm。
1.8
关于“概率游戏”
猜大小游戏单从结果概率来说各占50%,但是过程中却不是盈亏相间出现的,往往会有连赢连亏的情况。如果我们能做到赢3亏1,那就意味着即使胜率不足50%,也有机会获取盈利,由此可见,单纯玩概率游戏也有非常值得深究之处。毕竟本文是模版手册,就不再展开。

加载中…