编码帮助 - 页 112

 
mladen:
不要对rsi和cci使用iCustom(),而是使用内置的函数。

RSI需要的参数 :

shift)[/TD] [/[ T iCCI([TD]string symbol,int timeframe,int period, int applied_price,int shift)
double iRSI([/TD]string symbol,int timeframe,int period,int applied_price,int

TABLE]

/

ABLE]

CCI需要的参数:

[TABLE="class: docvar" ]

[TR]

[TD]double

而对于CMO,第一个参数是LastBarOnly,第二个参数是CMO_Range,所以iCustom()的调用应该是这样的。

iCustom(NULL,0, "cmo",false,CMORange,0,i)。

其中CMORange将是一些参数

我是一个mql4的新手,你能写一下吗?

 
anonimm:
我是一个mql4的新手,你能写一下吗?请

做这样的事情。

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Crimson

#property indicator_color2 RoyalBlue

extern int barsToProcess=100;

extern int RsiPeriod = 14;

extern int RsiPrice = PRICE_CLOSE;

extern int CciPeriod = 14;

extern int CciPrice = PRICE_TYPICAL;

extern int CmoRange = 14;

//

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init()

{

SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233);

SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234);

return(0);

}

int deinit() { return(0); }

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars>0)counted_bars--;

int limit=Bars-counted_bars; if(limit>barsToProcess)limit=barsToProcess;

for(int i=limit;i>=0;i--)

{

double rsi=iRSI(NULL,0,RsiPeriod,RsiPrice,i);

double cci=iCCI(NULL,0,CciPeriod,CciPrice,i);

double cmo=iCustom(NULL,0,"cmo",false,CmoRange,0,i);

if(rsi>60.0 && cci>150.0 && cmo>30.0)

ExtMapBuffer1=High+5*Point;

else ExtMapBuffer1=EMPTY_VALUE;

if(rsi<40.0 && cci<-150.0 && cmo<-30.0)

ExtMapBuffer2=Low-5*Point;

else ExtMapBuffer2=EMPTY_VALUE;

}

return(0);

}

附上一个测试指标(和上面的代码一样)。

附加的文件:
_test.mq4  2 kb
 

我在此发布我所见过的FX5最好的随机背离之一(我试过很多这样的指数)。

它显示了 "正常背离 "和非常有趣的 "隐藏背离"

谁能在代码中加入改变图形上趋势线和随机指标的颜色的可能性?

谁能用这段代码做一个如此漂亮的RSI背离,因为我从来没有发现它。

非常感谢那些能做到这一点的编码员。

祝你有个愉快的一天

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

诗。感谢版主把这个帖子改到了正确的位置;-)

附加的文件:
 
zilliq:
我在这里发布了我所见过的FX5最好的随机指数背离之一(我试过很多这样的指数)。

它显示了 "正常背离 "和非常有趣的 "隐藏背离"

谁能在代码中加入改变图形上趋势线和随机指标的颜色的可能性?

谁能用这段代码做一个如此漂亮的RSI背离,因为我从来没有发现它。

非常感谢那些能做到这一点的编码员。

祝你有个愉快的一天

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

诗。感谢版主把这个帖子改在正确的地方;-)

zilliq

现在就试试吧:颜色可以通过参数来设置

附加的文件:
 

非常感谢Mladen

我立即尝试

Zilliq

 

嗨,Mladen

高级精英的相关指标值没有出现,你能帮助吗?

 
nevar:
嗨,Mladen Correlation Indicators values from advanced elite does not appear, can you help?

你好,Nevar,如果是这个https://www.mql5.com/en/forum/180028,你是否也得到了dll并启用了dll导入?

 

谢谢 MrTools

是的,它是用dll文件解决的。

 

需要编码帮助....

我正在玩OBJ_VLINE,但进展不快。使用下面的代码,我可以在两条移动平均线的交叉点上画一条VLINE,作为一个例子。

{

string name="vline "+DoubleToStr(i,0)。

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i) ,0)。

}

我真正想做的是在MA从正数变为负数的地方创建一条VLINE和水平线。水平线显示发生变化的实际价格。我正在使用以下代码来改变斜率的颜色。

fasttrend=fasttrend。

如果(MABuf>MABuf)fasttrend=1。

如果(MABuf<MABuf)fasttrend=-1。

如果(fasttrend>0)

{

FastUpBuffer = MABuf;

如果(fasttrend<0)FastUpBuffer=MABuf。

FastDnBuffer = EMPTY_VALUE。

}

否则,如果(fasttrend<0)

{

FastDnBuffer = MABuf;

如果(fasttrend>0)FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

我的第一次尝试只是导致在每个条形上都画出了vlines,这很有色彩,但并不是我所想的那样。我也不知道如何在创建一个新的 "十字线 "时删除旧的 "十字线"。有什么功能可以做到这一点吗?我想把它设置为箭头的替代品,以表示斜率的变化,我们可以看到指标实际改变方向的条形上的实际价格。

谢谢你的帮助。

亚历克斯

 
hughesfleming:
需要编码帮助....

我正在玩OBJ_VLINE,但进展不快。使用下面的代码,我可以在两条移动平均线的交叉点上画一个VLINE,作为例子。

{

string name="vline "+DoubleToStr(i,0)。

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i) ,0)。

}

我真正想做的是在MA从正数变为负数的地方创建一条VLINE和水平线。水平线显示发生变化的实际价格。我正在使用以下代码来改变斜率的颜色。

fasttrend=fasttrend。

如果(MABuf>MABuf)fasttrend=1。

如果(MABuf<MABuf)fasttrend=-1。

如果(fasttrend>0)

{

FastUpBuffer = MABuf;

如果(fasttrend<0)FastUpBuffer=MABuf。

FastDnBuffer = EMPTY_VALUE。

}

否则,如果(fasttrend<0)

{

FastDnBuffer = MABuf;

如果(fasttrend>0)FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

我的第一次尝试只是导致在每个条形上都画出了vlines,这很有色彩,但并不是我所想的那样。我也不知道如何在创建一个新的 "十字线 "时删除旧的 "十字线"。有什么功能可以做到这一点吗?我想把它设置为箭头的替代品,以表示斜率的变化,我们可以看到指标实际改变方向的条形上的实际价格。

谢谢你的帮助。

冯小刚

亚历克斯

你是否尝试过像这样的东西(对于水平线 的添加)。

{

string name="vline"+Time;ObjectCreate(name,OBJ_VLINE,0,Time,0);

name="hline"+Time;ObjectCreate(name,OBJ_HLINE,0,Time,MABuff);

}

原因: