论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:1167回复:12
笨笨炒汇
注册时间2005-07-25
maningok 请进
楼主发表于:2005-08-05 04:33只看该作者倒序浏览
1楼 电梯直达
电梯直达
你好,我刚才在你帖子中发的指标我可能没有说的明白. 那个MACD的指标为什么会带红色柱线,是因为我对它是这样定义的.当柱线的数值大于它前一根柱线的数值时,将当前柱线描绘为红色,反之描绘为绿色.也就是红色表示作多,绿色表示作空. 下面是清楚点的图片.qiuzhu.GIFqiuzhu.GIF
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
笨笨炒汇
注册时间2005-07-25
楼主发表于:2005-08-05 04:36只看该作者
2楼
我想编写的指标是这三个指标综合以后的指标.只有在这三个指标都指示作多时,这个指标才指示作多,只有在这三个指标都指示作空时,这个指标才指示作空.
笨笨炒汇
注册时间2005-07-25
楼主发表于:2005-08-05 04:37只看该作者
3楼
我的操作方法主要有3个指标组成.第一个是均线 (MA(C,21)+MA(C,34))/2,既是21日和34日移动平均线的算术平均. 第二个是KDJ指标的变形,原码如下. //+------------------------------------------------------------------+ //| BENBEN-KD.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 Silver #property indicator_color2 Yellow extern int N1=60; extern int N2=10; double buffer1; double buffer2; double buffer3; double buffer4; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(4); SetIndexBuffer(0, buffer3); SetIndexBuffer(1, buffer4); SetIndexBuffer(2, buffer1); SetIndexBuffer(3, buffer2); SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); IndicatorShortName("BENBEN-KD("+N1+","+N2+")"); SetIndexLabel(0,"Q"); SetIndexLabel(1,"KK"); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int i,limit; //---- limit=Bars-counted_bars; for(i=0;ihttp://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 Silver #property indicator_color2 Yellow extern int N1=60; extern int N2=10; double buffer1; double buffer2; double buffer3; double buffer4; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(4); SetIndexBuffer(0, buffer3); SetIndexBuffer(1, buffer4); SetIndexBuffer(2, buffer1); SetIndexBuffer(3, buffer2); SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); IndicatorShortName("BENBEN-KD("+N1+","+N2+")"); SetIndexLabel(0,"Q"); SetIndexLabel(1,"KK"); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int i,limit; //---- limit=Bars-counted_bars; for(i=0;i均线,KDJ变形指标中灰线>黄线并且灰线>0,MACD中柱线为红时,发出作多信号,并且给出报警的声音. 反之,当收盘价<均线,KDJ变形指标中灰线<黄线并且灰线<0,MACD中柱线为绿线时,发出作空信号,并且给出报警的声音.
笨笨炒汇
注册时间2005-07-25
楼主发表于:2005-08-05 04:46只看该作者
4楼
图片中第一个红圈处发出作空信号,因为此时收盘价<均线,MACD柱线为绿色,变形KDJ指标中灰线小于黄线并且灰线<0, 第二个红圈处发出作多信号,因为此时收盘价>均线,MACD柱线为红色,变形KDJ指标中灰线>于黄线并且灰线>0.qiuzhu2.GIFqiuzhu2.GIF
maningok
注册时间2004-12-06
发表于:2005-08-05 04:59只看该作者
5楼
//+------------------------------------------------------------------+ //| //| Copyright [email protected] //| http://man2078.home4u.china.com //+------------------------------------------------------------------+ #property copyright "[email protected]" #property link "http://man2078.home4u.china.com" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red //---- buffers double buy,sell; extern int N1=60; extern int N2=10; //---- buffers //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233); SetIndexBuffer(0,buy); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234); SetIndexBuffer(1,sell); SetIndexEmptyValue(1,0.0); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double ma1,ma2,ma,macd,macd1,sto1,sto2,HuiXian,HuangXian; int LastSignal=0; for (int i=Bars-1;i>=0;i--) { ma1=iMA(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,i); ma2=iMA(NULL,0,34,0,MODE_SMA,PRICE_CLOSE,i); ma=(ma1+ma2)/2; sto1=iStochastic(NULL,0,N1,3,3,MODE_SMA,0,MODE_SIGNAL,i); sto2=iStochastic(NULL,0,N2,3,3,MODE_SMA,0,MODE_SIGNAL,i); HuiXian=sto1-50; HuangXian=sto1-sto2; macd=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i); if ( Close>ma && HuiXian>HuangXian && HuiXian>0 && macd>macd1 && LastSignal!=1 ) { buy=Low; LastSignal=1; } if ( Closec.gif
maningok
注册时间2004-12-06
发表于:2005-08-05 05:02只看该作者
6楼
1,两个均线我默认使用的是简单平均,你可以根据自己需要改为指数平均或者其他平均方式 2, MACD的指数我默认设定为12,26,9。你可以根据你的需要更改
笨笨炒汇
注册时间2005-07-25
楼主发表于:2005-08-05 05:11只看该作者
7楼
厉害,多谢maningok
笨笨炒汇
注册时间2005-07-25
楼主发表于:2005-08-05 06:14只看该作者
8楼
maningok ,你好,我使用了一下,发现还有一点小问题,如图所示,图中另有两出作多信号,也就是在变形KDJ指标中灰线上穿黄线部分还有作多信号没有指示出来.qiuzhu.GIFqiuzhu.GIF
maningok
注册时间2004-12-06
发表于:2005-08-05 06:23只看该作者
9楼
我本来想按照你的条件编出程序,但是却发现满足你的条件的是往往是一个区间,而不仅仅是一个单独的信号。 参见下面的图。 所以我加了两条语句,把重复的的相同信号去掉了。,所以就出现了你所讲的情况。如果你希望要以前的程序的话,就 把源程序中两条下面的语句删掉吧 && LastSignal!=1d.gifd.gif
个性签名

韬客社区www.talkfx.co

广告
论坛谏言--外汇交易不应是你投资的全部,交易外汇也不应是你生活的全部
maningok
注册时间2004-12-06
发表于:2005-08-05 06:31只看该作者
10楼
我的建议是,你把原来的条件改成MACD的交叉,或者是KDJ的交叉作为买卖信号,而不是依靠他们的值作为交易信号。我已经把MACD交叉作为交易信号的程序写在了下面。还附有图示,你看看这次如何? [ 本帖最后由 maningok 于 2005-8-5 14:33 编辑 ]d.gifd.gif
maningok
注册时间2004-12-06
发表于:2005-08-05 06:34只看该作者
11楼
//+------------------------------------------------------------------+ //| Copyright ? [email protected] | //| http://man2078.home4u.china.com/ | //+------------------------------------------------------------------+ #property copyright "Copyright [email protected]" #property link "http://man2078.home4u.china.com/" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red //---- buffers double buy,sell; extern int N1=60; extern int N2=10; //---- buffers //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233); SetIndexBuffer(0,buy); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234); SetIndexBuffer(1,sell); SetIndexEmptyValue(1,0.0); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double ma1,ma2,ma,macd,macd1,macd2,sto1,sto2,HuiXian,HuangXian; for (int i=Bars-1;i>=0;i--) { ma1=iMA(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,i); ma2=iMA(NULL,0,34,0,MODE_SMA,PRICE_CLOSE,i); ma=(ma1+ma2)/2; sto1=iStochastic(NULL,0,N1,3,3,MODE_SMA,0,MODE_SIGNAL,i); sto2=iStochastic(NULL,0,N2,3,3,MODE_SMA,0,MODE_SIGNAL,i); HuiXian=sto1-50; HuangXian=sto1-sto2; macd=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i); macd1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1); macd2=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+2); if ( Close>ma && HuiXian>HuangXian && HuiXian>0 && macd>macd1 && macd1macd2 ) { sell=High; } } //---- return(0); } //+------------------------------------------------------------------+ [ 本帖最后由 maningok 于 2005-8-5 14:37 编辑 ]
笨笨炒汇
注册时间2005-07-25
楼主发表于:2005-08-05 08:32只看该作者
12楼
好,讲的太透彻了,多谢.
楚天
注册时间2005-07-29
发表于:2005-08-06 01:49只看该作者
13楼
学到了很多东西,谢谢。

本站免责声明:

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

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

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

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

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

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