论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:1138回复:3
dqj8848
注册时间2003-12-03
再请Wesley前辈!
楼主发表于:2004-10-24 06:52只看该作者倒序浏览
1楼 电梯直达
电梯直达
前辈您好, 受您的影响我在做一个机械交易系统, 现在需要将一个飞狐公式转为MT的 我现在写好了,但从MT上调试不出来,不知道错在哪里,请前辈帮忙校对一下!小弟多谢了! /*[[ Name := ama Author := Copyright ?2004, MetaQuotes Software Corp. Link := http://www.metaquotes.net/ Separate Window := No First Color := Blue First Draw Type := Line First Symbol := 217 Use Second Data := No Second Color := Red Second Draw Type := Line Second Symbol := 218 Direction:=CLOSE - REF( CLOSE , N ) &#59; XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) &#59; Volatility:=SUM( XX , N ) &#59; ER:=ABS( Direction / Volatility ) &#59; FastC:= 2 / ( p + 1 ) &#59; SlowC:= 2 / ( q + 1 ) &#59; SSC:=ER * ( FastC - SlowC ) + SlowC &#59; Constant :=SSC * SSC &#59; AMA:DMA(C, Constant)&#59; FFilter:=( K / 100 ) * Std( AMA - REF( AMA , 1 ) , N ) &#59; XA:=IF( AMA<REF( AMA , 1 ) , AMA , 0 ) &#59; XN:=BarsLast( XA>0 ) &#59; AMALow :=REF( AMA , XN ) &#59; YA:=IF( AMA>REF( AMA , 1 ) , AMA , 0 ) &#59; YN:=BarsLast( YA>0 ) &#59; AMAHigh :=REF( AMA , YN ) &#59; RR:=IF( AMAHigh - AMA > FFilter , -1 , 0 ) &#59; TT:=IF( AMA - AMALow > FFilter , 1 , RR ) &#59; PartLine(TT=1,AMA) &#59; PartLine(TT= -1,AMA) &#59; PartLine(TT= 0,AMA) &#59; ]]*/ Variable : shift(0)&#59; defines: n(10),p(2),Q(30),K(15)&#59; Variable: direction(0),xx(0),volatility(0),er(0),fastc(0),slowc(0),ssc(0),constant(0),stdama(0),amax(0)&#59; Variable: ama(0),ffilter(0),xa(0),XN(0),xnshift(0),amalow(0),ya(0),yn(0),ynshift(0),amahigh(0),rr(0),tt(0)&#59; SetLoopCount(0)&#59; //变量参数 //n 10 ,p 2 ,Q 30, K 15 For shift=Bars-1 Downto 0 Begin //Direction:=CLOSE - REF( CLOSE , N ) &#59; direction=Close-close[shift-N]&#59; //XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) &#59; xx=abs(close-close[shift-1])&#59; //Volatility:=SUM( XX , N ) &#59; for i = n downto 1 { volatility = volatility + xx[shift-i] } &#59; //ER:=ABS( Direction / Volatility ) &#59; er=abs(direction/volatility)&#59; //FastC:= 2 / ( p + 1 ) &#59; fastc=2/(p+1)&#59; //SlowC:= 2 / ( q + 1 ) &#59; slowc=2/(q+1)&#59; //SSC:=ER * ( FastC - SlowC ) + SlowC &#59; ssc=er*(fastc-slowc)+slowc&#59; //Constant :=SSC * SSC &#59; constant=ssc*ssc&#59; //AMA:DMA(C, Constant)&#59; //DMA(X,A) 动态移动平均 //算法:若 Y=DMA(X,A) 则有 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1, ama=constant*Close+(1-constant)*ama[shift-1]&#59; //FFilter:=( K / 100 ) * Std( AMA - REF( AMA , 1 ) , N ) &#59; //STD(X,N)估算标准差。 //用途:返回X的N日估算标准差 //算法:STD(X,N) = SQRT(DEVSQ(X,N)/(N-1)) //DEVSQ(X,N)数据偏差平方和。 //算法:Y=∑(Xi-Z), i=1->N, Z=MA(X,N) amax=ama-ama[shift-1]&#59; for i=n down to 1 { stdama=stdama+amax[shift,i]-iMA(N,mode_sma,0) }&#59; ffilter=(k/100)*sqrt(stdama/n-1) &#59; //XA:=IF( AMA<REF( AMA , 1 ) , AMA , 0 ) &#59; if ama<ama[shift-1] then xa=ma else xa=0&#59; //XN:=BarsLast( XA>0 ) &#59; //BARSLAST(X) 上一次条件成立到当前的周期数。 //用法: //BARSLAST(X):上一次X不为0到现在的天数 if xa>0 then xnshift=shift&#59; xn=shift-xnshift&#59; //AMALow :=REF( AMA , XN ) &#59; amalow=ama[shift-xn]&#59; //YA:=IF( AMA>REF( AMA , 1 ) , AMA , 0 ) &#59; if ama>ama[shift-1] then ya=ama else ya=0&#59; //YN:=BarsLast( YA>0 ) &#59; if ya>0 then ynshift=shift&#59; yn=shift-ynshift&#59; //AMAHigh :=REF( AMA , YN ) &#59; amahigh=ama[shift-yn]&#59; //RR:=IF( AMAHigh - AMA > FFilter , -1 , 0 ) &#59; if amahigh-ama>ffilter then rr=-1 else rr=0&#59; //TT:=IF( AMA - AMALow > FFilter , 1 , RR ) &#59; if ama-amalow>ffilter then tt=1 else tt=rr&#59; //PartLine(TT=1,AMA) &#59; 红 if tt=1 then SetIndexValue(shift, ama)&#59; //PartLine(TT= -1,AMA) &#59;绿 if tt=-1 then SetIndexValue2(shift, ama)&#59; //PartLine(TT= 0,AMA) &#59;白 End&#59;
TK29帖子1楼右侧xm竖版广告90-240
个性签名

若再重仓,乌龟王八!

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
wesley
注册时间2003-06-26
发表于:2004-10-24 16:16只看该作者
3楼
这个AMA以前做过,但是,我在MT上是作不出来的了,当时,我认为是MT平台不支持运算 太多数据,因为MT里面的函数运算不强,要改为陷套循环,才能表达AMA的用意,最后,我不搞了.原因是,第一,AMA的效果跟简单的10天均线差不多;第二,这个指标也用到了未来数据;如果你希望搞,我给些个人的建议你,第一,把AMA好好理解,简单化,不翻译飞狐公式,按照自己的想法,自己一边写,一边调试出来;第二,写好了,记得,它就是一个入市信号,记得,利润永远与风险同在;最后,写好了,给我学习一下.[em75]
dqj8848
注册时间2003-12-03
楼主发表于:2004-10-25 05:07只看该作者
4楼
我用飞狐检测了呀,AMA不含未来数据吧 http://www.talkforex.com/old-attachments/2004102513916.jpg [此帖子已被 dqj8848 在 2004-10-25 13:09:59 编辑过]
个性签名

若再重仓,乌龟王八!

广告
论坛谏言--外汇交易不应是你投资的全部,交易外汇也不应是你生活的全部

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]