顺水外汇EA交易网MT4
标题:
[测试组]发一个测试狂赚实盘不开单的EA,附心得在内
[打印本页]
作者:
zdj229
时间:
2018-1-11 00:39
标题:
[测试组]发一个测试狂赚实盘不开单的EA,附心得在内
首先此EA告诉我们要熟悉MT4存储结构了(结构如下:)
MT4的数据的排序结构:最左最是0 最右边是FileSize(handle),注意handle是计算出来的,本身并不是系统变量结构如下
-用Binary Viewer打开该类型的文件,做了一些分析:
0-147字节,为文件头:
struct Header
{
00 int version; // 版本号
04 char copyright[64]; // 版权信息
68 char symbol[12]; // 货币对名称,如"EURUSD"
80 int period; // 数据周期:15代表 M15周期
84 int digits; // 数据格式:小数点位数 //例如5,代表有效值至小数点5位,1.
88 time_t time sign; // 文件的创建时间
... ...
... ...
};
从148字节开始,是数据排列,每项数据为44字节,结构如下:
第一项数据
struct RateInfo
{
148 time_t ctm; // 以秒计算当前时间
152 double open;
160 double low;
168 double high;
176 double close;
184 double vol;
};
第二项数据:
192 time_t ctm;
196 double open;
... ......
... ......
注:mt4终端关闭后,针对mt4终端已打开的图表,历史数据会保存于相应的hst文件中。
本EA中,由于开始测试的时间不同,任者在初始化的时间必须将指针定位到要测试的时间处,定位方法如下:
打开句柄后,从左右两边分别开始搜索,这时时间肯定在范围之内,这时将时间段砍一半,由于砍了以后指针
不处于一个柱的开始位置,就用Pos = (Left + Right) / 2; Pos -= Pos % BARSIZE; 方法可以轻松定位
至一个柱的开头,重新比较搜索的时间在哪个范围内,确定左或右后再循环除2搜索,直到指标定位到开始时间
则init执行完毕,这时指标已经到达我们要开始定位的时间了下面进入主程序
主程序给我最大的提醒是static的使用注意如下 static定义的变量只能被一次定义放在静态变量存储区,当遇
重新刷新定义时,如果检测到静态变量存储区已经定义,则不改变原变量值,即无视定义,掌握这个规则,再介绍
主程序的规则
主程序首先检测是否已经定位到了要搜索的时间段,如果定位到,继续向下执行
第一次开单程序会去定位一个最低价,现去定位一个最高价,当最高价和最低价的差达到extern int Pips = 5; // BEST: (Pips = Spread + 1)
时定位结束,返回最低价时间,然后记录最高价时间,当时间到最低价时间且价且现价等于最低价,马上重新
定位到下一个高价时间,为的是到出现高价时间且到最高价时出货,所以第一单永远是买单,当下过买单之后
因为下一步最高价时间和价格已经定位出来,到最高价时间和价格以后,在未自动执行了平仓命令前又重新定位
下一个高价或低价,这样就形成了循环,因此此EA下单永远是第一张单是买单,以后是卖单来往重复。
注意的是(此处曾经让我百思不得其解):作者在使用循环的时候为了防止在下一根K线直接搜索到低价或高价,在搜索到高低点时间返回之前
直接将以前搜索到最新的低点或高点的时间重新做了赋值,为的就是将以前的高点做为低点,以前的低点做为高
点,因此在回测时会出现出局后马上入局反向进场的情况。NTime = PriceTime;(这句就是赋值的地方了)
其它的地方我曾经疑惑的地方我在文中也全都做了标注,希望有兴趣的朋友一起研究咯
作者:
幸福℡代言人
时间:
2018-1-11 01:53
68 char symbol[12]; // 货币对名称,如"EURUSD"
80 int period; // 数据周期:15代表 M15周期
84 int digits; // 数据格式:小数点位数 //例如5,代表有效值至小数点5位,1.
88 time_t time sign; // 文件的创建时间
作者:
梦不觉
时间:
2018-1-11 02:46
这个EA的亮点只有两个,一个是文件操作,另一个是二分法查询,整个开单逻辑都是建立在对市场一切情况已知的条件下的。所以用来学习文件操作和查询的算法还有点用,其它部分就没有必要去浪费时间和精力了。
作者:
小火
时间:
2018-1-11 04:24
实盘不看单,八成是平台编的几句话导致的。
作者:
人民币
时间:
2018-1-11 04:39
路过。。看看读取速度。
作者:
gbz
时间:
2018-1-11 05:06
谢谢分享
作者:
zw0806
时间:
2018-1-11 05:25
520FX有你更精彩!:
作者:
寒江雪2013
时间:
2018-1-11 06:36
靠,这样的搞啥?
作者:
yunyun-35
时间:
2018-1-11 07:35
谢谢楼主分享
作者:
zhangpacer
时间:
2018-1-11 08:57
不明觉厉。
作者:
天街小雨
时间:
2018-1-11 09:15
这样啊 那还是先不研究这个EA了
作者:
xzhxie
时间:
2018-1-11 10:47
这样啊 那还是先研究这个EA了
作者:
koko1180
时间:
2018-1-11 12:13
学习学习
作者:
lanhun6348
时间:
2018-1-11 13:13
实在是看不懂的
作者:
moopxy
时间:
2018-1-11 14:40
实在是看不懂的
[attach]12167[/attach]
作者:
qq370666675
时间:
2018-1-11 15:00
我的金币呢?
欢迎光临 顺水外汇EA交易网MT4 (http://waterforex.com/)
Powered by Discuz! X3.2