编码帮助 - 页 58

 

Mtf绘画风格

嘿,伙计们。

你能解决这个问题,让它像你第一次在图表上加载它时那样继续画,每个HTF条都有平坦的Lev?

而不是在加载后变成斜线状。

也就是说,每个级别都是在收盘的时候,或者是通过HTF的一些时间划分来刷新?

这个指标来自于TSD,但我不知道用什么词来搜索这种mtf的画法,如果它已经被做过了。

欢呼声和良好的交易

附加的文件:
 

用这个吧。你不会有任何这些问题。

祝你周末愉快

zigflip:
嘿,伙计们。

你能解决这个问题,让它像你第一次在图表上加载它时那样继续画下去,每个HTF条都有平坦的Lev?

而不是在加载后出现斜线。

也就是说,每个级别都是在收盘的时候,或者是通过HTF的一些时间划分来刷新?

这个指标来自TSD,但我不知道该用什么词来搜索这种mtf的画法,如果它已经被做过了。

欢呼声和良好的交易
附加的文件:
 
mladen:
用这个吧。有了它,你就不会有那些问题了 祝你周末愉快

你是最棒的!

 

谢谢。那是一个EA还是一个指标?

 
zigflip:
你是最棒的!

嗨,Zigflip - 我有两个指标,我想编入EA,你能协助吗?请先谢谢。

 

自定义指标

朋友们好。

我试图制作我自己的自定义指标,但我不能让它编译。该指标应该在任何低于8小时的图表中绘制h8支撑和阻力位。我打算在1米时间框架上使用它,因为我厌倦了手动操作,而且我想用它制作一个EA。

谢谢

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

//| res1 8 hr.mq4 !

//| Copyright 2012, MetaQuotes Software Corp.|

//|Cway|

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

#property copyright "Copyright 2012, MetaQuotes Software Corp."

#property link"Cway"

#属性 indicator_chart_window

#属性 indicator_buffers 7

#属性 indicator_color1 MediumBlue //---- 指标颜色

#属性 indicator_color2 DarkGreen //---- 指标颜色

#属性 indicator_color3 FireBrick //---- 指示器颜色

#perty indicator_color4 DarkGreen //---- 指示器颜色

#属性指示器_color5 FireBrick //---- 指示器颜色

#perty indicator_color6 DarkGreen //---- 指示器颜色

#属性 indicator_color7 FireBrick //---- 指示器颜色

double Buf_0[],Buf_1[],Buf_2[],Buf_3[],Buf_4[],Buf_5[],Buf_6[]; //---- indicator line declared

//----

int init()

{

SetIndexBuffer (0,Buf_0);//---- 指标行的分配

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);//---- 指标线样式

SetIndexBuffer (1,Buf_1);//---- 指标行赋值

SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (2,Buf_2);//---- 指标行赋值

SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (3,Buf_3);//---- 指标行赋值

SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (4,Buf_4);//---- 指标行赋值

SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (5,Buf_5);//---- 指标行赋值

SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (6,Buf_6);//---- 指标行赋值

SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,1);

返回。

//----

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

//|自定义指标迭代函数|

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

int start()

{

if (Period() > 480) return(0); //Chart不能高于H8

int counted_bars=IndicatorCounted()。

如果(counted_bars >0) counted_bars--;

int limit=Bars-counted_bars;

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

int period = MathCeil(480 / Period()); //从H8开始绘制的时间框架

double prevH=0, prevC=0, prevO=0,prevL=0

prevO = 打开。

prevC = Close;

prevH = 高点。

prevL = Low [Lowest (NULL, 0, MODE_LOW, period, i+1)]。

{double X = (prevC < prevO -- prevH + (prevL*2) + prevC);

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL 。

Buf_1 = X /6 - prevL 。

Buf_0 = X /8 - prevL 。

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH 。

Buf_6 = X /2 - prevH 。

if X =( prevC > prevO -- ( (prevH*2) + prevL + prevC)); {

Buf_3 = X /2 - prevL 。

Buf_2 = X /4 - prevL 。

Buf_1 = X /6 - prevL 。

Buf_0 = X /8 - prevL 。

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH 。

Buf_6 = X /2 - prevH ;

if else X = (prevC = prevO -- ((prevH) + prevL + (prevC*2)) 。

Buf_3= X /2 - prevL 。

Buf_2 = X /4 - prevL 。

Buf_1 = X /6 - prevL 。

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH 。

Buf_6 = X /2 - prevH ;

}

}

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

return(0);

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

 

在独立的窗口中为自定义指标 设置移位栏

我有一个问题,当我为指标添加移位选项时,当我在负值中设置屎时,它显示的是一个数字的emty值。

如何编写指标的代码,使其与当前条形图一起移动,其中可以设置加号和减号。

 

cway

像这样的行:double X = (prevC < prevO -- prevH + (prevL*2) + prevC) 打算做什么?

首先,你必须重写这些,以符合mql的编码规则。

cway:
朋友们好。

我试图制作我自己的自定义指标,但我不能让它编译。该指标应该在任何低于8小时的图表中绘制H8支撑和阻力位。我打算在1米时间框架上使用它,因为我厌倦了手动操作,而且我想用它制作一个EA。

谢谢

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

//| res1 8 hr.mq4 !

//| Copyright 2012, MetaQuotes Software Corp.|

//|Cway|

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

#property copyright "Copyright 2012, MetaQuotes Software Corp."

#property link"Cway"

#属性 indicator_chart_window

#属性 indicator_buffers 7

#属性 indicator_color1 MediumBlue //---- 指标颜色

#属性 indicator_color2 DarkGreen //---- 指标颜色

#属性 indicator_color3 FireBrick //---- 指示器颜色

#perty indicator_color4 DarkGreen //---- 指示器颜色

#属性指示器_color5 FireBrick //---- 指示器颜色

#perty indicator_color6 DarkGreen //---- 指示器颜色

#属性 indicator_color7 FireBrick //---- 指示器颜色

double Buf_0[],Buf_1[],Buf_2[],Buf_3[],Buf_4[],Buf_5[],Buf_6[]; //---- indicator line declared

//----

int init()

{

SetIndexBuffer (0,Buf_0);//---- 指标行的分配

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);//---- 指标线样式

SetIndexBuffer (1,Buf_1);//---- 指标行赋值

SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (2,Buf_2);//---- 指标行赋值

SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (3,Buf_3);//---- 指标行赋值

SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (4,Buf_4);//---- 指标行赋值

SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (5,Buf_5);//---- 指标行赋值

SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (6,Buf_6);//---- 指标行赋值

SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,1);

返回。

//----

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

//|自定义指标迭代函数|

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

int start()

{

if (Period() > 480) return(0); //Chart不能高于H8

int counted_bars=IndicatorCounted()。

如果(counted_bars >0) counted_bars--;

int limit=Bars-counted_bars;

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

int period = MathCeil(480 / Period()); //从H8开始绘制的时间框架

double prevH=0, prevC=0, prevO=0,prevL=0

prevO = 打开。

prevC = Close;

prevH = 高点。

prevL = Low [Lowest (NULL, 0, MODE_LOW, period, i+1)]。

{double X = (prevC < prevO -- prevH + (prevL*2) + prevC);

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL 。

Buf_1 = X /6 - prevL 。

Buf_0 = X /8 - prevL 。

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH 。

Buf_6 = X /2 - prevH 。

if X =( prevC > prevO -- ( (prevH*2) + prevL + prevC)); {

Buf_3 = X /2 - prevL 。

Buf_2 = X /4 - prevL 。

Buf_1 = X /6 - prevL 。

Buf_0 = X /8 - prevL 。

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH 。

Buf_6 = X /2 - prevH ;

if else X = (prevC = prevO -- ((prevH) + prevL + (prevC*2)) 。

Buf_3= X /2 - prevL 。

Buf_2 = X /4 - prevL 。

Buf_1 = X /6 - prevL 。

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH 。

Buf_6 = X /2 - prevH ;

}

}

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

return(0);

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

解释

这很正常:应用负移位,你把所有过去的数据都移位了,由于你不知道未来的数值,所以在你的图表的最右边一定会有一个未存档的数值的缺口。

Premeus:
我在为指标添加移位选项时遇到了问题,当我在负值中设置狗屎时,它显示的是一个虚值。 如何为指标编码,使其与当前条形图一起移位,其中可以同时设置正数和负数。
 

我的指标

谢谢你,mladen。

如图所示,是否有其他方法可以像我在图片中显示的那样在特定的移位指标上输入。

谢谢你的提醒。

附加的文件:
shift_bars.png  10 kb
原因: