论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:1659回复:3
Smilodon
注册时间2005-05-13
[MT4指标]MT的KDJ指标怎么吧J线给删除掉啊?
楼主发表于:2005-07-19 07:04只看该作者倒序浏览
1楼 电梯直达
电梯直达
MT的KDJ指标怎么吧J线给删除掉啊?这是源代码,请高手帮修改一下。 //+------------------------------------------------------------------+ //| KDJ.mq4 | //| Copyright ?2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright ?2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Red #property indicator_color2 Yellow #property indicator_color3 Magenta //Aqua //---- input parameters extern int KPeriod=9; extern int DPeriod=3; extern int JPeriod=3; double ind_buffer1; double ind_buffer2; double ind_buffer3; double ind_buffer4; double HighesBuffer; double LowesBuffer; int draw_begin1=0; int draw_begin2=0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- 2 additional buffers are used for counting. IndicatorBuffers(6); SetIndexBuffer(4, HighesBuffer); SetIndexBuffer(5, LowesBuffer); SetIndexBuffer(3, ind_buffer1); //---- indicator lines SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0, ind_buffer2); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1, ind_buffer3); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2, ind_buffer4); //---- name for DataWindow and indicator subwindow label IndicatorShortName("KDJ("+KPeriod+","+DPeriod+","+JPeriod+")"); SetIndexLabel(1,"K"); SetIndexLabel(2,"D"); SetIndexLabel(3,"J"); //---- draw_begin1=KPeriod+JPeriod; draw_begin2=draw_begin1+DPeriod; SetIndexDrawBegin(0,draw_begin1); SetIndexDrawBegin(1,draw_begin2); return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int start() { int i,k; int counted_bars=IndicatorCounted(); double price; //---- if(Bars<=draw_begin2) return(0); //---- initial zero if(counted_bars<1) { for(i=1;i<=draw_begin1;i++) ind_buffer1[Bars-i]=0; for(i=1;i<=draw_begin2;i++) ind_buffer2[Bars-i]=0; } //---- minimums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double min=1000000; k=i+KPeriod-1; while(k>=i) { price=Low[k]; if(min>price) min=price; k--; } LowesBuffer=min; i--; } //---- maximums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double max=-1000000; k=i+KPeriod-1; while(k>=i) { price=High[k]; if(maxdraw_begin1) i=Bars-counted_bars-1; while(i>=0) { double sumlow=0.0; double sumhigh=0.0; for(k=(i+JPeriod-1);k>=i;k--) { sumlow+=Close[k]-LowesBuffer[k]; sumhigh+=HighesBuffer[k]-LowesBuffer[k]; } if(sumhigh==0.0) ind_buffer1=100.0; else ind_buffer1=sumlow/sumhigh*100; i--; } //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; //---- signal line is simple movimg average for(i=0; i
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
somersby
注册时间2005-02-04
发表于:2005-07-19 10:41只看该作者
2楼
调成黑色
Smilodon
注册时间2005-05-13
楼主发表于:2005-08-04 13:31只看该作者
3楼
以把J线删除了的公式 //+------------------------------------------------------------------+ //| KDJ.mq4 | //| Copyright ?2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright ?2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Yellow //Aqua //---- input parameters extern int KPeriod=9; extern int DPeriod=3; extern int JPeriod=2; double ind_buffer1; double ind_buffer2; double ind_buffer3; double ind_buffer4; double HighesBuffer; double LowesBuffer; int draw_begin1=0; int draw_begin2=0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- 2 additional buffers are used for counting. IndicatorBuffers(6); SetIndexBuffer(4, HighesBuffer); SetIndexBuffer(5, LowesBuffer); SetIndexBuffer(3, ind_buffer1); //---- indicator lines SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0, ind_buffer2); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1, ind_buffer3); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2, ind_buffer4); //---- name for DataWindow and indicator subwindow label IndicatorShortName("KDJ("+KPeriod+","+DPeriod+","+JPeriod+")"); SetIndexLabel(1,"K"); SetIndexLabel(2,"D"); //---- draw_begin1=KPeriod+JPeriod; draw_begin2=draw_begin1+DPeriod; SetIndexDrawBegin(0,draw_begin1); SetIndexDrawBegin(1,draw_begin2); return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int start() { int i,k; int counted_bars=IndicatorCounted(); double price; //---- if(Bars<=draw_begin2) return(0); //---- initial zero if(counted_bars<1) { for(i=1;i<=draw_begin1;i++) ind_buffer1[Bars-i]=0; for(i=1;i<=draw_begin2;i++) ind_buffer2[Bars-i]=0; } //---- minimums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double min=1000000; k=i+KPeriod-1; while(k>=i) { price=Low[k]; if(min>price) min=price; k--; } LowesBuffer=min; i--; } //---- maximums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double max=-1000000; k=i+KPeriod-1; while(k>=i) { price=High[k]; if(maxdraw_begin1) i=Bars-counted_bars-1; while(i>=0) { double sumlow=0.0; double sumhigh=0.0; for(k=(i+JPeriod-1);k>=i;k--) { sumlow+=Close[k]-LowesBuffer[k]; sumhigh+=HighesBuffer[k]-LowesBuffer[k]; } if(sumhigh==0.0) ind_buffer1=100.0; else ind_buffer1=sumlow/sumhigh*100; i--; } //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; //---- signal line is simple movimg average for(i=0; i
Pzxzx
注册时间2017-08-06
发表于:2017-08-07 12:00只看该作者
4楼
谢谢分享,学习学习
个性签名

韬客社区www.talkfx.co

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

本站免责声明:

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

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

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

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

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

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