论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:872回复:2
yzx
注册时间2003-12-10
[MT4指标]帮忙把这个指标改成 MT4的
楼主发表于:2006-05-18 05:32只看该作者倒序浏览
1楼 电梯直达
电梯直达
俺编程只有半桶水,MT3是用原有公式修改的,但现在MT4没有适合的可以改。 那位好心人帮帮俺。 Inputs : TIME_Period(10), MA_Period(4), SignalMAPeriod(4); Variables : shift(0), loopbegin1(0), loopbegin2(0),loopbegin3(0), loopbegin4(0), first(True), prevbars(0), cnt(0), sum(0); Variables : FastMA(0), SlowMA(0); SetLoopCount(0); If Bars < prevbars Or Bars-prevbars>1 Then first = True; prevbars = Bars; // loopbegin1 and loopbegin2 prevent couning of counted bars exclude current If first Then Begin loopbegin1 = Bars-MA_Period-1; If loopbegin1 < 0 Then Exit; // not enough bars for counting loopbegin2 = Bars-MA_Period-SignalMAPeriod-2; If loopbegin2 < 0 Then Exit; // not enough bars for counting loopbegin3 = Bars-MA_Period-SignalMAPeriod-3; If loopbegin3 < 0 Then Exit; // not enough bars for counting loopbegin4 = Bars-MA_Period-SignalMAPeriod-4; If loopbegin4 < 0 Then Exit; // not enough bars for counting first = False; // this block is to be evaluated once only End; // convergence-divergence loopbegin1 = loopbegin1+1; // current bar is to be recounted too For shift = loopbegin1 Downto 0 Begin FastMA = iADX(TIME_Period,MODE_MINUSDI,shift); SetIndexValue(shift,FastMA); loopbegin1 = loopbegin1-1; // prevent to previous bars recounting End; // signal line loopbegin2 = loopbegin2+1; // current bar is to be recounted too For shift = loopbegin2 Downto 0 Begin sum = 0; for cnt = 0 To MA_Period-1 Begin sum = sum + GetIndexValue(shift+cnt); End; SetIndexValue(shift,sum/MA_Period); loopbegin2 = loopbegin2-1; // prevent to previous bars recounting End; loopbegin3 = loopbegin3+1; // current bar is to be recounted too For shift = loopbegin3 Downto 0 Begin SlowMA = iADX(TIME_Period,MODE_PLUSDI,shift); SetIndexValue2(shift,SlowMA); loopbegin3 = loopbegin3-1; // prevent to previous bars recounting End; // signal line loopbegin4 = loopbegin4+1; // current bar is to be recounted too For shift = loopbegin4 Downto 0 Begin sum = 0; for cnt = 0 To SignalMAPeriod-1 Begin sum = sum + GetIndexValue2(shift+cnt); End; SetIndexValue2(shift,sum/SignalMAPeriod); loopbegin4 = loopbegin4-1; End; 在主版晾了很久,没回应。也在这里晾一下。:L
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
fcz
注册时间2006-03-29
发表于:2006-05-18 10:27只看该作者
2楼
ddddddddddddddddddd
yzx
注册时间2003-12-10

本站免责声明:

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

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

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

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

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

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