韬客社区 收藏
草龙 14-10-20 07:17
1楼
[MT4指标] 趋势跟踪指标
主图指标,趋势跟踪指标 mt4指标类型:趋势指标 是否能用在mt4手机版上:否 是否含有未来函数:无 //+------------------------------------------------------------------+ //| CheckPower.mq4 | //| Copyright 2013, [email protected] | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright \"Copyright 2013, [email protected]\" #property link \"http://www.metaquotes.net\" #property indicator_chart_window #property indicator_buffers 4 #property indicator_color1 Aqua #property indicator_color2 FireBrick #property indicator_color3 Aqua #property indicator_color4 Yellow #property indicator_width1 0 #property indicator_width2 0 #property indicator_width3 0 #property indicator_width4 0 double Bulls; double Bears; double LongEntry; double ShortEntry; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_NONE); SetIndexStyle(1,DRAW_NONE); SetIndexStyle(2,DRAW_ARROW); SetIndexStyle(3,DRAW_ARROW); SetIndexBuffer(0,Bulls); SetIndexBuffer(1,Bears); SetIndexBuffer(2,LongEntry); SetIndexBuffer(3,ShortEntry); SetIndexArrow(0,119); SetIndexArrow(1,119); SetIndexArrow(2,225); SetIndexArrow(3,226); SetIndexLabel(0,\"Bulls\"); SetIndexLabel(1,\"Bears\"); SetIndexLabel(2,\"LongEnt\"); SetIndexLabel(3,\"ShortEnt\"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit; limit = Bars-counted_bars; if(limit<0)limit=0; //----for for(int i=limit;i>=1;i--) { if(CheckPower(i,\"CheckBuy\")) { Bulls=Low; if(!UpBarCheck(i)) LongEntry[i-1]=Low[i+1]; } else Bulls=EMPTY_VALUE; if(CheckPower(i,\"CheckSell\")) { Bears=High; if(UpBarCheck(i)) ShortEntry[i-1]=High[i+1]; } else Bears=EMPTY_VALUE; }//end for //---- return(0); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool CheckPower(int i, string mode) { double Bull_power =Bullspower(i); double Bear_power =Bearspower(i); double Bull_power_LK =Bullspower(i)+Bullspower(i+1);//+Bullspower(i+2)+Bullspower(i+3)+Bullspower(i+4)+Bullspower(i+5); double Bear_power_LK =Bearspower(i)+Bearspower(i+1);//+Bearspower(i+2)+Bearspower(i+3)+Bearspower(i+4)+Bearspower(i+5); if(mode==\"CheckBuy\") { for(int x=i+1;x<=Bars;x++ ) { if(Bear_power > Bull_power_LK) {return(true); break;} else { if(Bull_power > Bear_power_LK) {return(false);break;} else { Bull_power=Bull_power+Bullspower(x); Bear_power =Bear_power+Bearspower(x); Bull_power_LK=Bull_power_LK+Bullspower(x+1); Bear_power_LK =Bear_power_LK+Bearspower(x+1); } }///else }//for }//if //---- if(mode==\"CheckSell\") { for(x=i+1;x<=Bars;x++ ) { if(Bull_power > Bear_power_LK) {return(true);break;} else { if(Bear_power > Bull_power_LK) {return(false); break;} else { Bull_power=Bull_power+Bullspower(x); Bear_power =Bear_power+Bearspower(x); Bull_power_LK=Bull_power_LK+Bullspower(x+1); Bear_power_LK =Bear_power_LK+Bearspower(x+1); } }///else }//for }//if }//if //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double Bullspower(int i) { double returnbullvalue = MathAbs(iBullsPower(NULL, 0, 1,PRICE_CLOSE,i)); return(returnbullvalue); } //---- double Bearspower(int i) { double returnbearvalue = MathAbs(iBearsPower(NULL, 0, 1,PRICE_CLOSE,i)); return(returnbearvalue); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool UpBarCheck(int i) { if(CloseClose[i+1]) return(true);///up bar if(Close==Close[i+1]) { if(CloseClose[i+2]) return(true);///up bar } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+
隐形人w
2楼
14-12-21 09:37 回复
谢谢楼主分享,可惜不会导入。
天利豹
3楼
14-12-31 16:36 回复
谢谢分享
JackChen
4楼
15-03-13 02:16 回复
谢谢分享
oky
5楼
15-04-07 16:05 回复
谢谢分享
tanqingyuye
6楼
15-05-26 11:16 回复
看看再说
尘缘在此
7楼
16-06-20 08:21 回复
谢谢分享
Pzxzx
8楼
17-08-09 08:42 回复
缺钱,灌水赚通宝,谢谢分享!!
Jerrybaba
9楼
18-04-11 20:58 回复
通宝是个问题
uihnkljoi
10楼
18-04-24 12:19 回复
为什么我编辑出错呀
zhapeng
11楼
21-01-04 08:20 回复
谢谢分享
zhapeng
12楼
21-01-04 08:23 回复
谢谢分享