多时间框架指标 - 页 558

 

我一定会去看看的。 谢谢!

mrtools:
Wccmcd,只是想补充一下,MegaTrend是一个Hull移动平均线,这里有一个4Tf的版本https://www.mql5.com/en/forum/181187/page6,它也是根据Hull的斜率来着色的。
 

各位朋友,大家好

我想把下面的mq4设置为MTF。

我希望你能改写它。

RVI mq4

//+------------------------------------------------------------------+

//| Relativ Vigor Index.mq4|

//| Copyright ゥ 2005, MetaQuotes Software Corp.|

//|MetaTrader 5 交易平台 / MetaQuotes Software Corp.|

//+------------------------------------------------------------------+

#property copyright "Copyright ゥ 2005, MetaQuotes Software Corp.

#property link "http://www.metaquotes.net/"

//---- 指标设置

#属性 indicator_separate_window

#属性 indicator_buffers 2

#属性 indicator_color1 绿色

#属性 indicator_color2 红色

//---- 指标参数

extern int ExtRVIPeriod=10;

//---- 指标缓冲区

double ExtRVIBuffer[]。

double ExtRVISignalBuffer[];

//+------------------------------------------------------------------+

//|自定义指标初始化函数|

//+------------------------------------------------------------------+

int init()

{

//---- 指标缓冲区的映射

SetIndexBuffer(0,ExtRVIBuffer)。

SetIndexBuffer(1,ExtRVISignalBuffer)。

//---- 指标线

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

//---- 绘图设置

SetIndexDrawBegin(0,ExtRVIPeriod+3);

SetIndexDrawBegin(1,ExtRVIPeriod+7);

//---- DataWindow和指标子窗口标签的名称

IndicatorShortName("RVI("+ExtRVIPeriod+")")。

SetIndexLabel(0, "RVI")。

SetIndexLabel(1, "RVIS")。

//---- 初始化完成

返回(0)。

}

//+------------------------------------------------------------------+

//|相对活力指数|

//+------------------------------------------------------------------+

int start()

{

int i,j,nLimit,nCountedBars;

双重dValueUp,dValueDown,dNum,dDeNum。

//----

if(Bars<=ExtRVIPeriod+8) return(0);

//----

nCountedBars=IndicatorCounted()。

//----,检查可能的错误

if(nCountedBars<0) return(-1);

//----,最后一个计数的柱子将被重新计数。

nLimit=Bars-ExtRVIPeriod-4;

如果(nCountedBars>ExtRVIPeriod+4)

nLimit=Bars-nCountedBars。

//---- 在第1个缓冲区中计算的RVI

for(i=0; i<=nLimit; i++)

{

dNum=0.0。

dDeNum=0.0。

for(j=i; j<i+ExtRVIPeriod; j++)

{

dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6;

dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6;

dNum+=dValueUp。

dDeNum+=dValueDown。

}

如果(dDeNum!=0.0)

ExtRVIBuffer=dNum/dDeNum。

否则

ExtRVIBuffer=dNum。

}

//---- 信号线在第2个缓冲区中被计数

nLimit=Bars-ExtRVIPeriod-7。

如果(nCountedBars>ExtRVIPeriod+8)

nLimit=Bars-nCountedBars+1。

for(i=0; i<=nLimit; i++)

ExtRVISignalBuffer=(ExtRVIBuffer+2*ExtRVIBuffer+2*ExtRVIBuffer+ExtRVIBuffer)/6。

//----

return(0);

}

//+------------------------------------------------------------------+

 
yhkbtdy:
嗨,我所有的朋友

我想把下面的mq4设为MTF。

我想让你重写一下。

RVI mq4

//+------------------------------------------------------------------+

//| Relativ Vigor Index.mq4|

//| Copyright ゥ 2005, MetaQuotes Software Corp.|

//|MetaTrader 5 交易平台 / MetaQuotes Software Corp.|

//+------------------------------------------------------------------+

#property copyright "Copyright ゥ 2005, MetaQuotes Software Corp.

#property link "http://www.metaquotes.net/"

//---- 指标设置

#属性 indicator_separate_window

#属性 indicator_buffers 2

#属性 indicator_color1 绿色

#属性 indicator_color2 红色

//---- 指标参数

extern int ExtRVIPeriod=10;

//---- 指标缓冲区

double ExtRVIBuffer[]。

double ExtRVISignalBuffer[];

//+------------------------------------------------------------------+

//|自定义指标初始化函数|

//+------------------------------------------------------------------+

int init()

{

//---- 指标缓冲区的映射

SetIndexBuffer(0,ExtRVIBuffer)。

SetIndexBuffer(1,ExtRVISignalBuffer)。

//---- 指标线

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

//---- 绘图设置

SetIndexDrawBegin(0,ExtRVIPeriod+3);

SetIndexDrawBegin(1,ExtRVIPeriod+7);

//---- DataWindow和指标子窗口标签的名称

IndicatorShortName("RVI("+ExtRVIPeriod+")")。

SetIndexLabel(0, "RVI")。

SetIndexLabel(1, "RVIS")。

//---- 初始化完成

返回(0)。

}

//+------------------------------------------------------------------+

//|相对活力指数|

//+------------------------------------------------------------------+

int start()

{

int i,j,nLimit,nCountedBars;

双重dValueUp,dValueDown,dNum,dDeNum。

//----

if(Bars<=ExtRVIPeriod+8) return(0);

//----

nCountedBars=IndicatorCounted()。

//----,检查可能的错误

if(nCountedBars<0) return(-1);

//----,最后一个计数的柱子将被重新计数。

nLimit=Bars-ExtRVIPeriod-4;

如果(nCountedBars>ExtRVIPeriod+4)

nLimit=Bars-nCountedBars。

//---- 在第1个缓冲区中计算的RVI

for(i=0; i<=nLimit; i++)

{

dNum=0.0。

dDeNum=0.0。

for(j=i; j<i+ExtRVIPeriod; j++)

{

dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6;

dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6;

dNum+=dValueUp。

dDeNum+=dValueDown。

}

如果(dDeNum!=0.0)

ExtRVIBuffer=dNum/dDeNum。

否则

ExtRVIBuffer=dNum。

}

//---- 信号线在第2个缓冲区中被计数

nLimit=Bars-ExtRVIPeriod-7。

如果(nCountedBars>ExtRVIPeriod+8)

nLimit=Bars-nCountedBars+1。

for(i=0; i<=nLimit; i++)

ExtRVISignalBuffer=(ExtRVIBuffer+2*ExtRVIBuffer+2*ExtRVIBuffer+ExtRVIBuffer)/6。

//----

return(0);

}

//+------------------------------------------------------------------+

嗨,Yhkbtdy。

制作了rvi mtf.

附加的文件:
rvi__mtf.mq4  5 kb
rvi_mtf.png  52 kb
 
mrtools:
你好,Yhkbtdy,做了rvi的mtf。

真够快的!

谢谢!

 
mrtools:
嗨,Niqcom,添加了mtf。

非常感谢您

 

你好,MLaden和mrTools。

你能在图表屏幕上添加箭头吗?我的图示附在后面。

谢谢你,马可

附加的文件:
 

嗨,mrtools。

信封 mtf ? ?

 

你好,Mladen...

你能帮助我增加这个指标的MTF设置和警报吗? 非常感谢你的出色工作。

附加的文件:
 
casaliss:
Hi mrtools, Envelopes mtf ???

嗨,Casaliss。

信封 上添加了mtf。

附加的文件:
 
koplak:
你好,Mladen......你能帮助我增加这个指标的MTF设置和警报吗? 非常感谢你所有的出色工作

寇普拉克

这里是这个版本。这个版本解决了一些可能的问题,现在你可以拥有整个历史的数值,而不会让CPU负担过重。

________________

PS:没有注意到 "警报 "的添加。这个指标是一个多时间框架,但它还没有警报(从它的工作方式来看,不太清楚警报到底应该是什么 - 我们可以想象有一个弱的和强的下跌和上涨水平的突破,但随后它也应该重新编码颜色)

附加的文件: