韬客社区 收藏
老正 07-05-08 23:28
1楼
[MT4指标] 两个变色版本的均线指标
不知道哪个是新版的 //+------------------------------------------------------------------+ //| MTF_MovingAverage.mq4 | //| Copyright ?2006, Keris2112 | //| | //+------------------------------------------------------------------+ #property copyright "Copyright ?2006, Keris2112" //MTF version #property link "http://www.forex-tsd.com" #property copyright "MT4 release WizardSerg ForexMagazine #104" //Original version #property link "[email protected]" #property indicator_chart_window #property indicator_buffers 8 #property indicator_color1 Silver #property indicator_color2 Silver #property indicator_color3 Silver #property indicator_color4 Silver #property indicator_color5 Silver #property indicator_color6 Silver #property indicator_color7 Blue #property indicator_color8 Red #define MODE_SATL 8 //---- input parameters /************************************************************************* PERIOD_M1 1 PERIOD_M5 5 PERIOD_M15 15 PERIOD_M30 30 PERIOD_H1 60 PERIOD_H4 240 PERIOD_D1 1440 PERIOD_W1 10080 PERIOD_MN1 43200 You must use the numeric value of the timeframe that you want to use when you set the TimeFrame' value with the indicator inputs. --------------------------------------- PRICE_CLOSE 0 Close price. PRICE_OPEN 1 Open price. PRICE_HIGH 2 High price. PRICE_LOW 3 Low price. PRICE_MEDIAN 4 Median price, (high+low)/2. PRICE_TYPICAL 5 Typical price, (high+low+close)/3. PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4. You must use the numeric value of the Applied Price that you want to use when you set the 'applied_price' value with the indicator inputs. --------------------------------------- MODE_SMA 0 Simple moving average, MODE_EMA 1 Exponential moving average, MODE_SATL 2 SATL moving average, MODE_LWMA 3 Linear weighted moving average. You must use the numeric value of the MA Method that you want to use when you set the 'ma_method' value with the indicator inputs. **************************************************************************/ extern int TimeFrame=0; extern int MAPeriod=36; extern int ma_method=MODE_SATL; extern int applied_price=PRICE_CLOSE; extern bool UseLevels=False; extern int Level0=0; extern int Level1=0; extern int Level2=0; extern int Level3=0; extern int Level4=0; extern int Level5=0; double ExtMapBuffer1; double ExtMapBuffer2; double ExtMapBuffer3; double ExtMapBuffer4; double ExtMapBuffer5; double ExtMapBuffer6; double ExtMapBuffer7; double ExtMapBuffer8; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- indicator line SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_LINE,STYLE_DOT); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_LINE,STYLE_DOT); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(2,DRAW_LINE,STYLE_DOT); SetIndexBuffer(3,ExtMapBuffer4); SetIndexStyle(3,DRAW_LINE,STYLE_DOT); SetIndexBuffer(4,ExtMapBuffer5); SetIndexStyle(4,DRAW_LINE,STYLE_DOT); SetIndexBuffer(5,ExtMapBuffer6); SetIndexStyle(5,DRAW_LINE,STYLE_DOT); SetIndexBuffer(6,ExtMapBuffer7); SetIndexStyle(6,DRAW_LINE); SetIndexBuffer(7,ExtMapBuffer8); SetIndexStyle(7,DRAW_LINE); //---- name for DataWindow and indicator subwindow label switch(ma_method) { case 1 : short_name="MTF_HMA_EMA("; break; case 2 : short_name="MTF_HMA_SATL("; break; case 3 : short_name="MTF_HMA_LWMA("; break; default : short_name="MTF_HMA_SMA("; } switch(TimeFrame) { case 1 : string TimeFrameStr="Period_M1"; break; case 5 : TimeFrameStr="Period_M5"; break; case 15 : TimeFrameStr="Period_M15"; break; case 30 : TimeFrameStr="Period_M30"; break; case 60 : TimeFrameStr="Period_H1"; break; case 240 : TimeFrameStr="Period_H4"; break; case 1440 : TimeFrameStr="Period_D1"; break; case 10080 : TimeFrameStr="Period_W1"; break; case 43200 : TimeFrameStr="Period_MN1"; break; default : TimeFrameStr="Current Timeframe"; } IndicatorShortName(short_name+MAPeriod+") "+TimeFrameStr); } //---- return(0); //+------------------------------------------------------------------+ //| MTF Moving Average | //+------------------------------------------------------------------+ int start() { datetime TimeArray; int i,shift,limit,y=0,counted_bars=IndicatorCounted(); // Plot defined timeframe on to current timeframe ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame); limit=Bars-counted_bars; for(i=0,y=0;i
老正
2楼
07-05-08 23:28 回复
三个颜色的 //+------------------------------------------------------------------+ //| XP Moving Average | //| xpMA.mq4 | //| Developed by Coders Guru | //| http://www.xpworx.com | //+------------------------------------------------------------------+ #property link "http://www.xpworx.com" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Yellow #property indicator_color2 Red #property indicator_color3 Blue #define MODE_DEMA 4 #define MODE_TEMA 5 #define MODE_T3MA 6 #define MODE_JMA 7 #define MODE_SATL 8 /* Moving average types constants: ------------------------------------ MODE_SMA 0 Simple moving average, MODE_EMA 1 Exponential moving average, MODE_SMMA 2 Smoothed moving average, MODE_LWMA 3 Linear weighted moving average. MODE_DEMA 4 Double Exponential Moving Average. MODE_TEMA 5 Triple Exponential Moving Average. MODE_T3MA 6 T3 Moving Average. MODE_JMA 7 Jurik Moving Average. MODE_SATL 8 SATL Moving Average. ------------------------------------*/ /* Applied price constants: ------------------------------- PRICE_CLOSE 0 Close price. PRICE_OPEN 1 Open price. PRICE_HIGH 2 High price. PRICE_LOW 3 Low price. PRICE_MEDIAN 4 Median price, (high+low)/2. PRICE_TYPICAL 5 Typical price, (high+low+close)/3. PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4. --------------------------------- */ extern int MA_Period = 34; extern int MA_Type = MODE_SATL; extern int MA_Applied = PRICE_CLOSE; extern double T3MA_VolumeFactor = 0.8; extern double JMA_Phase = 0; double UpBuffer; double DownBuffer; double Buffer3; double buffer; double tempbuffer; double matriple; int init() { IndicatorBuffers(6); SetIndexStyle(2,DRAW_LINE,STYLE_DOT,2); SetIndexBuffer(2,UpBuffer); SetIndexStyle(1,DRAW_LINE,STYLE_DOT,2); SetIndexBuffer(1,DownBuffer); SetIndexStyle(0,DRAW_LINE,STYLE_DOT,2); SetIndexBuffer(0,Buffer3); SetIndexBuffer(3,buffer); SetIndexBuffer(4,tempbuffer); SetIndexBuffer(5,matriple); return(0); } int deinit() { return(0); } void start() { int limit; int i = 0; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); //if(counted_bars>0) counted_bars--; limit=Bars-counted_bars-1; switch (MA_Type) { case 0: case 1: case 2: case 3: { for(i=0; ibuffer[shift+1] ) { DownBuffer[shift] = EMPTY_VALUE; } else { UpBuffer[shift] = CLR_NONE; DownBuffer[shift] = CLR_NONE; } } return(0); }
zhouzhouqu
3楼
07-05-09 11:50 回复
两个指标 能 加入 但 K线上 不能显示出来 大家 行吗???
老正
4楼
07-05-09 17:58 回复
应该也是不行..........我再研究研究........
爆爆熊
5楼
07-05-09 21:26 回复
第一个指标中: [CODE] ExtMapBuffer7=iCustom(NULL,TimeFrame,"xpMA_v2SATL",MAPeriod,ma_method,applied_price,0,y); ExtMapBuffer8=iCustom(NULL,TimeFrame,"xpMA_v2SATL",MAPeriod,ma_method,applied_price,1,y); [/CODE] 以上语句缺少名为"xpMA_v2SATL"的自定义指标 第二个指标中: [CODE] case 6: buffer = iCustom(NULL,0,"T3MA",MA_Period,T3MA_VolumeFactor,0,i); case 7: buffer = iCustom(NULL,0,"JMA",MA_Period,JMA_Phase,0,i); case 8: buffer = iCustom(NULL,0,"SATL",MA_Period,JMA_Phase,0,i); [/CODE] 以上语句分别缺少名为"T3MA"、"JMA"、"SATL"的自定义指标 看来这两个指标是和别的指标一起使用的,不能单独使用