咨詢內容:
請老師把這個MT4指標改為博易大師的 謝謝了
//+------------------------------------------------------------------+
//| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VoltyChannel_Stop_v2.1.mq4 |
//| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Copyright ?2007, TrendLaboratory |
//| ? ? ? ? ? ?http://finance.groups.yahoo.co ... atory |
//| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? E-mail: igorad2003@yahoo.co.uk |
//+------------------------------------------------------------------+
//2008fxtsd mod
#property copyright "Copyright ?2007, TrendLaboratory"
#property link ? ? ?"http://finance.groups.yahoo.co ... ot%3B
//----
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Aqua
#property indicator_color2 Magenta
#property indicator_color3 Aqua
#property indicator_color4 Magenta
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 1
//---- input parameters
extern int ? ? MA_Price ? =0; //Applied Price: 0-C,1-O,2-H,3-L,4-Median,5-Typical,6-Weighted
extern int ? ? MA_Length ?=5; //MA's Period?
extern int ? ? MA_Mode ? ?=2; //MA's Method:0-SMA,1-EMA,2-SMMA,3-LWMA ?
extern int ? ? ATR_Length =10;//ATR's Period
extern double ?Kv ? ? ? ? =4; //Volatility's Factor or Multiplier
extern double ?MoneyRisk ?=1; //Offset Factor?
extern bool ? ?usePrice_HiLoBreak ? ?=false;
extern bool ? ?useMA_HiLoEnvelope ? ?=false;
extern int ? ? AlertMode ?=0; //0-alert off,1-on
extern int ? ? VisualMode =1; //0-lines,1-dots?
extern string Applied_Price_ ="0-C,1-O,2-H,3-L,4-Median(H+L)/2,5-Typical(H+L+C)/3,6-Weighted(H+L+C+C)/4";
extern string MAmethod_mode_ ="0-SMA,1-EMA,2-SMMA,3-LWMA";
extern string Visual_Mode___ ="0-lines,1-dots ";
//---- indicator buffers
double UpBuffer[];
double DnBuffer[];
double UpSignal[];
double DnSignal[];
double smin[];
double smax[];
double trend[];
bool ? UpTrendAlert=false, DownTrendAlert=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function ? ? ? ? ? ? ? ? ? ? ? ? |
//+------------------------------------------------------------------+
? int init()
? {
? ?string short_name;
//---- indicator line
? ?IndicatorBuffers(7);
? ?SetIndexBuffer(0,UpBuffer);
? ?SetIndexBuffer(1,DnBuffer);
? ?SetIndexBuffer(2,UpSignal);
? ?SetIndexBuffer(3,DnSignal);
? ?SetIndexBuffer(4,smin);
? ?SetIndexBuffer(5,smax);
? ?SetIndexBuffer(6,trend);
//----
? ?if(VisualMode==0)
? ? ?{
? ? ? SetIndexStyle(0,DRAW_LINE);
? ? ? SetIndexStyle(1,DRAW_LINE);
? ? ?}
? ?else
? ? ?{
? ? ? SetIndexStyle(0,DRAW_ARROW);
? ? ? SetIndexStyle(1,DRAW_ARROW);
? ? ? SetIndexArrow(0,159);
? ? ? SetIndexArrow(1,159);
? ? ?}
//----
? ?SetIndexStyle(2,DRAW_ARROW);
? ?SetIndexStyle(3,DRAW_ARROW);
? ?SetIndexArrow(2,108);
? ?SetIndexArrow(3,108);
//---- name for DataWindow and indicator subwindow label
? ?short_name="VoltyChannel_Stop("+MA_Length+","+ATR_Length+","+DoubleToStr(Kv,3)+")";
? ?IndicatorShortName(short_name);
? ?SetIndexLabel(0,"UpTrend");
? ?SetIndexLabel(1,"DnTrend");
? ?SetIndexLabel(2,"UpSignal");
? ?SetIndexLabel(3,"DnSignal");
//----
? ?SetIndexDrawBegin(0,MA_Length+ATR_Length);
? ?SetIndexDrawBegin(1,MA_Length+ATR_Length);
? ?SetIndexDrawBegin(2,MA_Length+ATR_Length);
? ?SetIndexDrawBegin(3,MA_Length+ATR_Length);
//----
? ?return(0);
? }
//+------------------------------------------------------------------+
//| VoltyChannel_Stop_2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
//+------------------------------------------------------------------+
int start()
? {
? ?int shift,limit, counted_bars=IndicatorCounted();
//----
? ?if(counted_bars > 0) limit=Bars-counted_bars;
? ?if(counted_bars < 0) return(0);
? ?if(counted_bars ==0) limit=Bars-MA_Length-1;
? ?for(shift=limit;shift>=0;shift--)
? ? ?{
? ? ? if(useMA_HiLoEnvelope)
? ? ? ? {
? ? ? ? ?double bprice=iMA(NULL,0,MA_Length,0,MA_Mode,2,shift);
? ? ? ? ?double sprice=iMA(NULL,0,MA_Length,0,MA_Mode,3,shift);
? ? ? ? }
? ? ? else
? ? ? ? {
? ? ? ? ?bprice=iMA(NULL,0,MA_Length,0,MA_Mode,MA_Price,shift);
? ? ? ? ?sprice=iMA(NULL,0,MA_Length,0,MA_Mode,MA_Price,shift);
? ? ? ? }
? ? ? smax[shift]=bprice + Kv*iATR(NULL,0,ATR_Length,shift);
? ? ? smin[shift]=sprice - Kv*iATR(NULL,0,ATR_Length,shift);
? ? ? trend[shift]=trend[shift+1];
? ? ? if(usePrice_HiLoBreak)
? ? ? ? {
? ? ? ? ?if(High[shift] > smax[shift+1])trend[shift]= 1;
? ? ? ? ?if(Low[shift] ?< smin[shift+1])trend[shift]=-1;
? ? ? ? }
? ? ? else
? ? ? ? {
? ? ? ? ?if(bprice > smax[shift+1])trend[shift]= 1;
? ? ? ? ?if(sprice < smin[shift+1])trend[shift]=-1;
? ? ? ? }
? ? ? if(trend[shift] >0)
? ? ? ? {
? ? ? ? ?if(smin[shift] < smin[shift+1]) smin[shift]=smin[shift+1];
? ? ? ? ?UpBuffer[shift]=smin[shift] - (MoneyRisk - 1)*iATR(NULL,0,ATR_Length,shift);
? ? ? ? ?if(UpBuffer[shift] < UpBuffer[shift+1] && UpBuffer[shift+1]!=EMPTY_VALUE) UpBuffer[shift]=UpBuffer[shift+1];
? ? ? ? ?if(trend[shift+1]!=trend[shift]) UpSignal[shift]=UpBuffer[shift];
? ? ? ? ?else UpSignal[shift]=EMPTY_VALUE;
? ? ? ? ?DnBuffer[shift]=EMPTY_VALUE;
? ? ? ? ?DnSignal[shift]=EMPTY_VALUE;
? ? ? ? }
? ? ? else
? ? ? ? ?if(trend[shift] <0)
? ? ? ? ? ?{
? ? ? ? ? ? if(smax[shift]>smax[shift+1]) smax[shift]=smax[shift+1];
? ? ? ? ? ? DnBuffer[shift]=smax[shift] + (MoneyRisk - 1)*iATR(NULL,0,ATR_Length,shift);
? ? ? ? ? ? if(DnBuffer[shift] > DnBuffer[shift+1]) DnBuffer[shift]=DnBuffer[shift+1];
? ? ? ? ? ? if(trend[shift+1]!=trend[shift]) DnSignal[shift]=DnBuffer[shift];
? ? ? ? ? ? else DnSignal[shift]=EMPTY_VALUE;
? ? ? ? ? ? UpBuffer[shift]=EMPTY_VALUE;
? ? ? ? ? ? UpSignal[shift]=EMPTY_VALUE;
? ? ? ? ? ?}
? ? ?}
//---- ??
? ?string Message;
? ?if(trend[2]<0 && trend[1]>0 && Volume[0]>1 && !UpTrendAlert)
? ? ?{
? ? ? Message=" "+Symbol()+" M"+Period()+": VCS Signal for BUY";
? ? ? if(AlertMode>0)Alert (Message);
? ? ? UpTrendAlert=true; DownTrendAlert=false;
? ? ?}
? ?if(trend[2]>0 && trend[1]<0 && Volume[0]>1 && !DownTrendAlert)
? ? ?{
? ? ? Message=" "+Symbol()+" M"+Period()+": VCS Signal for SELL";
? ? ? if(AlertMode>0)Alert (Message);
? ? ? DownTrendAlert=true; UpTrendAlert=false;
? ? ?}
//----?? ?
? ?return(0);
? }
//+------------------------------------------------------------------+
?
?來源:程序化99網( m.kzuj.com.cn )
博易技術人員:
您好,這樣的公式無法修改。
來源 程序化久久網