거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Facebook에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
당사 팬 페이지에 가입하십시오
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
- 조회수:
- 27381
- 평가:
- 게시됨:
- 2008.12.05 07:52
- 업데이트됨:
- 2014.04.21 14:53
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
//+------------------------------------------------------------------+ //| NonLagAMA.mq4 | //| Copyright © 2008, MetaQuotes Software Corp. | //| https://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, MetaQuotes Software Corp." #property link "https://www.metaquotes.net/"
#property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Yellow #property indicator_width1 2 #property indicator_color2 RoyalBlue #property indicator_width2 2 #property indicator_color3 Red #property indicator_width3 2 //---- input parameters extern int Price =0; extern int Length =25; extern int Displace =0; extern int Filter =0; extern int Color =1; extern int ColorBarBack =2; extern double Deviation =0; //---- double Cycle= 4; //---- indicator buffers double MABuffer[]; double UpBuffer[]; double DnBuffer[]; double price[]; double trend[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { int ft=0; string short_name; //---- indicator line IndicatorBuffers(5); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,MABuffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,UpBuffer); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,DnBuffer); SetIndexBuffer(3,price); SetIndexBuffer(4,trend); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)); SetIndexArrow(0,159); SetIndexArrow(1,159); SetIndexArrow(2,159); SetIndexArrow(3,159); //---- name for DataWindow and indicator subwindow label short_name="NonLagAma("+Length+")"; IndicatorShortName(short_name); SetIndexLabel(0,"NLD"); SetIndexLabel(1,"Up"); SetIndexLabel(2,"Dn"); //---- SetIndexShift(0,Displace); SetIndexShift(1,Displace); SetIndexShift(2,Displace);
SetIndexDrawBegin(0,Length*Cycle+Length); SetIndexDrawBegin(1,Length*Cycle+Length); SetIndexDrawBegin(2,Length*Cycle+Length); //---- return(0); } //+------------------------------------------------------------------+ //| NonLagMA_v4 | //+------------------------------------------------------------------+ int start() { int i,shift, counted_bars=IndicatorCounted(),limit; double alfa, beta, t, Sum, Weight, step,g; double pi=3.1415926535; //---- double Coeff= 3*pi; int Phase=Length-1; double Len=Length*Cycle + Phase; //---- if(counted_bars > 0) limit=Bars-counted_bars; if(counted_bars < 0) return(0); if(counted_bars ==0) limit=Bars-Len-1; if(counted_bars < 1) for(i=1;i<Length*Cycle+Length;i++) { MABuffer[Bars-i]=0; UpBuffer[Bars-i]=0; DnBuffer[Bars-i]=0; } for(shift=limit;shift>=0;shift--) { Weight=0; Sum=0; t=0; for(i=0;i<=Len-1;i++) { g=1.0/(Coeff*t+1); if (t<=0.5)g=1; beta=MathCos(pi*t); alfa=g * beta; price[i]=iMA(NULL,0,1,0,MODE_SMA,Price,shift+i); Sum+=alfa*price[i]; Weight+=alfa; if(t < 1)t+=1.0/(Phase-1); else if(t < Len-1) t+=(2*Cycle-1)/(Cycle*Length-1); } if (Weight > 0) MABuffer[shift]=(1.0+Deviation/100)*Sum/Weight; if (Filter>0) { if(MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter*Point)MABuffer[shift]=MABuffer[shift+1]; } if (Color>0) { trend[shift]=trend[shift+1]; if (MABuffer[shift]-MABuffer[shift+1] > Filter*Point) trend[shift]= 1; if (MABuffer[shift+1]-MABuffer[shift] > Filter*Point) trend[shift]=-1; if (trend[shift]>0) { UpBuffer[shift]=MABuffer[shift]; if (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack]; DnBuffer[shift]=EMPTY_VALUE; } if (trend[shift]<0) { DnBuffer[shift]=MABuffer[shift]; if (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack]; UpBuffer[shift]=EMPTY_VALUE; } } } return(0); } //+------------------------------------------------------------------+

The indicator displays what dominates in a time series: the trend or the flat component or the series acts randomly.

Simple EA to Close Orders

Indicator MultiStrend. It works only with the Supertrend indicator.

The indicator draws the dollar index on the chart. The indicator is intended to simplify the charts analysis.