下载MetaTrader 5
要添加评论,请登录注册
发布您的文章,提高您的等级!
b8866
25
b8866 2008.03.15 14:59 

请高手编个库文件?我不知道是不是叫库文件,意思就是象系统函数一样。比如在国内期货自动交易上有CROSS()称交叉函数比如CROSS(MA10,MA30)就是MA10上交叉MA30,如果CROSS(MA30,MA10)就是MA10下交叉MA30

再如:COUNT()统计N周期总数的函数例如COUNT(CROSS(MA10,MA30),30)>2就是在30个周期内MA10上交叉MA30的次数大于2 可是在MT4上描述这句可能就是很长的一句话,本来对编程就不很懂,没这样的函数就更难了

希望高手把国内的常用函授编个系统文件函数,方便国内的代码转移到MT上。能方便对应文华,飞狐等的相关函数 以下是国内的常用函数:

count()统计N周期总数的函数,比如:count(close>open,30)>15//表示30个周期内收阳线根数大于15

every()周期内是否一直满足条件:every(close>open,30)表示30个周期内一直收阳

REF()返回前值,比如REF(MA10,3)就是MA10均线的前3个值,有人会说给前3个MA10赋个值(MA10=iMA(NULL,PERIOD_M5,10,0,MODE_SMA,PRICE_CLOSE,3);),可有时我用这样的值太多了,有MA10前1个2个3个...和MA30前1个2个3个....我用均线就用了8条每条都要赋3个值,还有MACD的3条,每条再赋3个值,我还要用其他指标哪?

HHV()求N周期的最高值比如HHV(ABS(MA10-MA30),50)<20就是50周期内MA10,MA30的最大偏离值小于20,我就认为是盘整行情,应为是两线没太大波动吗个人观点(其中ABS是求绝对值)。在MT4能用这样精短的话描述吗?

我认为还是函数,有了关键函数在复杂的也能量化

LLV求N周期的最低值 ..... 能将上面的直接作成系统函数就好了。另外希望发点如何编系统函数的教程自己根据需要编,多好呀。谢谢

Rashid Umarov
管理员
6606
Rashid Umarov 2008.03.17 14:15  
See for HHV() and LLV() the Timeseries access functions.
b8866
25
b8866 2008.03.18 13:35  

能不能编个自定义函数:为取N周期内满足条件的次数,就象股票中的COUNT()函数

例如我要表示在N周期内均线的交叉次数大于等于2时为均线的2次交叉(或死叉) 首先我已经自定义交叉函数: double cross(double ma1,double ma2)

{ double ma10,ma11,ma20,ma21; int css=2;

ma10=iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,0);

ma11=iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,1);

ma20=iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,0);

ma21=iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,1);

if(ma10>ma20 && ma11 ma21) {css=1;}

return(css); }

如果有统计总数自定义函数,N周期内满足条件的次数的话我会很方便2次交叉的 假如COUNT()为统计函数则:COUNT(CROSS(ma1,ma2),N)>=2 就可方便表示在N周期内均线的2次交叉 当然用循环也可,但我用的统计函数用的非常多,每次都要循环太麻烦,测试时也影响速度,比如我可能用MACD的2次金插或KDJ或其他指标,总之用的多,如果能自定义个统计函数是很方便的

另外取N周期内最高最低值,你可能没太了解,比如我想取N周期的均线的最大值,不是用iHighest()所能表示的,我要N周期的MACD的最大值哪?其他指标的最大值哪?或者比如我要(MA10-MA30)两均线之差的绝对值的在N周期内的最大值又如何表示?这很重要的代表均线的乖离程度...所以能不能编个自定义函数来表示N周期内的最高最低值

/
要添加评论,请登录注册