论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
  • 1
  • 2
前往
共 34 条
查看:6817回复:33
arthurlord
注册时间2005-03-13
请高手帮助把优化的Ichimoku编成MT公式
楼主发表于:2005-06-19 16:17只看该作者倒序浏览
1楼 电梯直达
电梯直达
ichimoku 指标在判断大势的时候,很有用处。我在使用中,对MT原来的ichimoku公式做了一下优化,使用起来更加直观明确,更符合实际操作的需要。不过,很遗憾,我对MT公式编程一窍不通。尽管努力的学习,还是一头雾水。 希望高手能把它编成MT4.0公式。 优化原则: 将指标线分别用Ema和Sma进行优化处理,同时,对个别突然的剧烈波动进行加权优化处理。 转换线Tenkan Sen : (EMA(9日内的最高价)+EMA(9日内最低价))/2 基准线Kijun Sen: (EMA(26日内的最高价)+EMA(26日内最低价))/2 星云A{SpanA} : (转换线+基准线)/2,画点状线; 星云B {SpanB} :(EMA(52日内的最高价)+EMA(52日内最低价))/2,画点状线 提前线:将原来的延迟线改为提前线,并作SMA处理。 具体如下: 首先取得3日内收盘价线的SMA值 ,然后将26周期前的SMA值,作为当前周期的提前值。其中,SMA权重设为1 当指标线下凹时,不论此时汇价是否上升,汇价必将大幅下跌; 当指标线上凹时,不论此时汇价是否下跌,汇价必将大幅上扬; 同时,汇价总是趋向接近并穿越提前线。一旦穿越成功,未来上升或下降的幅度,基本就是汇率与提前线波峰波谷之间的最大差值。 结合Stochastic指标,趋势更加明确。 [ Last edited by arthurlord on 2005-6-20 at 00:23 ]EUR.gifEUR.gif
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
hawkie
注册时间2004-06-21
发表于:2005-06-20 13:47只看该作者
2楼
转换线Tenkan Sen : (EMA(9日内的最高价)+EMA(9日内最低价))/2 是9天内的一个最高价还是把9天内high作ema处理呢?其它的类似 基准线Kijun Sen: (EMA(26日内的最高价)+EMA(26日内最低价))/2 星云A{SpanA} : (转换线+基准线)/2,画点状线; 星云B {SpanB} :(EMA(52日内的最高价)+EMA(52日内最低价))/2,画点状线 提前线:将原来的延迟线改为提前线,并作SMA处理。 具体如下: 首先取得3日内收盘价线的SMA值 ,然后将26周期前的SMA值,作为当前周期的提前值。其中,SMA权重设为1 ------------------------------ 这个公式我看看怎么编吧。当然上面的问题得搞清楚才能编
arthurlord
注册时间2005-03-13
楼主发表于:2005-06-20 14:02只看该作者
3楼
再看一图。 可惜我只会编飞狐公式,请高手把它编成MT4.0的公式.EURUSD.gifEURUSD.gif
个性签名

韬客社区www.talkfx.co

arthurlord
注册时间2005-03-13
楼主发表于:2005-06-20 14:03只看该作者
4楼
Tenkan Sen : (EMA(9日最高价)+EMA(9日最低价))/2,Color8888FF; Kijun Sen : (EMA(26日最高价)+EMA(26日最低价))/2,ColorFFFF00; Span A : (转换+基准)/2,Color55AAFF; Span B : (EMA(52日最高价)+EMA(52日最低价))/2,ColorCBB0CE; Chinkou Sen改为提前线 : SMA(3日收盘价,权重为1,把26日前的该值作为今天的数值 ,colorgreen; STICKLINE(星云A>星云B,星云A,星云B,0,1),Color55AAFF; STICKLINE(星云A<星云B,星云A,星云B,0,1),ColorCBB0CE; [ Last edited by arthurlord on 2005-6-20 at 22:56 ]
arthurlord
注册时间2005-03-13
楼主发表于:2005-06-20 14:10只看该作者
5楼
是把9天内high作ema处理 提前 :REF(SMA(CLOSE,3,1),26),是将3日内收盘价做SMA处理,MT中的对应的指标是MODE_SMMA;然后再将此值向前赋值,求得26日前的该值 [ Last edited by arthurlord on 2005-6-20 at 22:20 ]
hawkie
注册时间2004-06-21
发表于:2005-06-21 01:13只看该作者
6楼
不知道这个是不是你要的,应该差不多。:) //+------------------------------------------------------------------+ //| Ichi-talkforex.mq4 | //| Copyright ?2004, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright ?2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 SandyBrown #property indicator_color4 Thistle #property indicator_color5 Lime #property indicator_color6 SandyBrown #property indicator_color7 Thistle //---- input parameters extern int Tenkan=9; extern int Kijun=26; extern int Senkou=52; extern int Chinkou=26; extern int ChinkouMA=3; //---- buffers double Tenkan_Buffer; double Kijun_Buffer; double SpanA_Buffer; double SpanB_Buffer; double Chinkou_Buffer; double SpanA2_Buffer; double SpanB2_Buffer; //---- int a_begin; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Tenkan_Buffer); SetIndexDrawBegin(0,Tenkan-1); SetIndexLabel(0,"Tenkan Sen"); //---- SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Kijun_Buffer); SetIndexDrawBegin(1,Kijun-1); SetIndexLabel(1,"Kijun Sen"); //---- a_begin=Kijun; if(a_beginTenkan) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Tenkan,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Tenkan,0,MODE_EMA,PRICE_LOW,i); Tenkan_Buffer=(high+low)/2; i--; } //---- Kijun Sen i=Bars-Kijun; if(counted_bars>Kijun) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Kijun,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Kijun,0,MODE_EMA,PRICE_LOW,i); Kijun_Buffer=(high+low)/2; i--; } //---- Senkou Span A i=Bars-a_begin+1; if(counted_bars>a_begin-1) i=Bars-counted_bars-1; while(i>=0) { price=(Kijun_Buffer+Tenkan_Buffer)/2; SpanA_Buffer=price; SpanA2_Buffer=price; i--; } //---- Senkou Span B i=Bars-Senkou; if(counted_bars>Senkou) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Senkou,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Senkou,0,MODE_EMA,PRICE_LOW,i); price=(high+low)/2; SpanB_Buffer=price; SpanB2_Buffer=price; i--; } //---- Chinkou Span i=Bars-1; if(counted_bars>1) i=Bars-counted_bars-1; while(i>=0) {Chinkou_Buffer=iMA(NULL,0,ChinkouMA,0,MODE_SMMA,PRICE_CLOSE,i); i--; } //---- return(0); } //+------------------------------------------------------------------+
个性签名

韬客外汇论坛

arthurlord
注册时间2005-03-13
楼主发表于:2005-06-21 05:20只看该作者
7楼
非常感谢hawkie ! 另外,有2处还需要改动一下。 1。将原来的延迟线ChinkouMA向左位移26周期,改为向右位移26周期。即,应从现在的位置向右位移52周期位置; 2。 星云Span A和Span B 不做向右的位移。即,从现在的位置向左返回26个周期。 请见下图。4.jpg4.jpg
个性签名

韬客社区www.talkfx.co

hawkie
注册时间2004-06-21
发表于:2005-06-21 06:06只看该作者
8楼
ok,那就这样咯。不对,提出再改。 :lol //+------------------------------------------------------------------+ //| Ichi-talkforex.mq4 | //| Copyright ?2004, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright ?2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 SandyBrown #property indicator_color4 Thistle #property indicator_color5 Lime #property indicator_color6 SandyBrown #property indicator_color7 Thistle //---- input parameters extern int Tenkan=9; extern int Kijun=26; extern int Senkou=52; extern int Chinkou=26; extern int ChinkouMA=3; //---- buffers double Tenkan_Buffer; double Kijun_Buffer; double SpanA_Buffer; double SpanB_Buffer; double Chinkou_Buffer; double SpanA2_Buffer; double SpanB2_Buffer; //---- int a_begin; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Tenkan_Buffer); SetIndexDrawBegin(0,Tenkan-1); SetIndexLabel(0,"Tenkan Sen"); //---- SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Kijun_Buffer); SetIndexDrawBegin(1,Kijun-1); SetIndexLabel(1,"Kijun Sen"); //---- a_begin=Kijun; if(a_beginTenkan) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Tenkan,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Tenkan,0,MODE_EMA,PRICE_LOW,i); Tenkan_Buffer=(high+low)/2; i--; } //---- Kijun Sen i=Bars-Kijun; if(counted_bars>Kijun) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Kijun,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Kijun,0,MODE_EMA,PRICE_LOW,i); Kijun_Buffer=(high+low)/2; i--; } //---- Senkou Span A i=Bars-a_begin+1; if(counted_bars>a_begin-1) i=Bars-counted_bars-1; while(i>=0) { price=(Kijun_Buffer+Tenkan_Buffer)/2; SpanA_Buffer=price; SpanA2_Buffer=price; i--; } //---- Senkou Span B i=Bars-Senkou; if(counted_bars>Senkou) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Senkou,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Senkou,0,MODE_EMA,PRICE_LOW,i); price=(high+low)/2; SpanB_Buffer=price; SpanB2_Buffer=price; i--; } //---- Chinkou Span i=Bars-1; if(counted_bars>1) i=Bars-counted_bars-1; while(i>=0) {Chinkou_Buffer=iMA(NULL,0,ChinkouMA,0,MODE_SMMA,PRICE_CLOSE,i); i--; } //---- return(0); } //+------------------------------------------------------------------+
arthurlord
注册时间2005-03-13
楼主发表于:2005-06-21 06:48只看该作者
9楼
是的,就是这个样子。高人就是高人。 不过,下面2个还没有改过来。云彩飞到线外面去了。:P 麻烦你再辛苦一下。 double SpanA2_Buffer; double SpanB2_Buffer; [ Last edited by arthurlord on 2005-6-21 at 14:51 ]5.jpg5.jpg
hawkie
注册时间2004-06-21
发表于:2005-06-21 07:15只看该作者
10楼
这回云图就不会跑到外面去了:lol //+------------------------------------------------------------------+ //| Ichi-talkforex.mq4 | //| Copyright ?2004, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright ?2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 SandyBrown #property indicator_color4 Thistle #property indicator_color5 Lime #property indicator_color6 SandyBrown #property indicator_color7 Thistle //---- input parameters extern int Tenkan=9; extern int Kijun=26; extern int Senkou=52; extern int Chinkou=26; extern int ChinkouMA=3; //---- buffers double Tenkan_Buffer; double Kijun_Buffer; double SpanA_Buffer; double SpanB_Buffer; double Chinkou_Buffer; double SpanA2_Buffer; double SpanB2_Buffer; //---- int a_begin; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Tenkan_Buffer); SetIndexDrawBegin(0,Tenkan-1); SetIndexLabel(0,"Tenkan Sen"); //---- SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Kijun_Buffer); SetIndexDrawBegin(1,Kijun-1); SetIndexLabel(1,"Kijun Sen"); //---- a_begin=Kijun; if(a_beginTenkan) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Tenkan,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Tenkan,0,MODE_EMA,PRICE_LOW,i); Tenkan_Buffer=(high+low)/2; i--; } //---- Kijun Sen i=Bars-Kijun; if(counted_bars>Kijun) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Kijun,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Kijun,0,MODE_EMA,PRICE_LOW,i); Kijun_Buffer=(high+low)/2; i--; } //---- Senkou Span A i=Bars-a_begin+1; if(counted_bars>a_begin-1) i=Bars-counted_bars-1; while(i>=0) { price=(Kijun_Buffer+Tenkan_Buffer)/2; SpanA_Buffer=price; SpanA2_Buffer=price; i--; } //---- Senkou Span B i=Bars-Senkou; if(counted_bars>Senkou) i=Bars-counted_bars-1; while(i>=0) { high=iMA(NULL,0,Senkou,0,MODE_EMA,PRICE_HIGH,i); low =iMA(NULL,0,Senkou,0,MODE_EMA,PRICE_LOW,i); price=(high+low)/2; SpanB_Buffer=price; SpanB2_Buffer=price; i--; } //---- Chinkou Span i=Bars-1; if(counted_bars>1) i=Bars-counted_bars-1; while(i>=0) {Chinkou_Buffer=iMA(NULL,0,ChinkouMA,0,MODE_SMMA,PRICE_CLOSE,i); i--; } //---- return(0); } //+------------------------------------------------------------------+
arthurlord
注册时间2005-03-13
楼主发表于:2005-06-21 07:35只看该作者
11楼
hawkie ,你真是救苦救难的活菩萨。非常感谢。 应该将版权Copyright改成hawkie,干吗总给MetaQuotes Software Corp脸上贴金。 :p
hawkie
注册时间2004-06-21
发表于:2005-06-21 07:42只看该作者
12楼
既然是人家开发免费供大家使用的,挂着他名字好了。呵呵
shenhai115
注册时间2005-05-07
hawkie
注册时间2004-06-21
发表于:2005-06-22 02:23只看该作者
14楼
应某朋友要求,把指标改成在附图显示。 不过附图显示有问题,把公式删了。 [ Last edited by hawkie on 2005-6-22 at 10:27 ]
老正
注册时间2003-09-21
365热心助人奖
发表于:2005-06-22 05:00只看该作者
15楼
继续做打手 嘿嘿 . . . 打下手啦talkforex-IchimokuNEW-BYhawkie.zip
manyllnn
注册时间2005-05-18
发表于:2005-09-29 07:08只看该作者
16楼
能不能弄个mt3.83的公式?
linkey100
注册时间2006-03-22
发表于:2006-06-02 04:05只看该作者
17楼
非常历害的一个人啊,高手,佩服之至
hehua01
注册时间2005-05-17
发表于:2006-07-20 08:36只看该作者
18楼
谢谢hawkie的提供,学习学习!!
Zukunft
注册时间2005-05-12
发表于:2006-07-21 05:06只看该作者
19楼
hawkie是好人啊!!鼓掌!
个性签名

韬客社区www.talkfx.co

2苹果
注册时间2005-05-12
发表于:2006-07-22 10:01只看该作者
20楼
太好了真是,早没发现还有这么好的东西,谢谢
  • 1
  • 2
前往
共 34 条

本站免责声明:

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

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

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

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

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

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