编码帮助 - 页 222

 

谢谢你的代码和编码 Altoronto。

非常感谢,我已经准备好进行下一步工作了

 

谢谢你,Altoronto。

这个代码的下一步是确定所有时期的同一条线,在同一个点,在一天中没有变化,在一天中的00:00的蜡烛的第一分钟。

为了更好的理解,我附上了一张图片和说明。

你或其他人能帮助我编码,并将其编入指标吗?

再次感谢您。

如果这最终成功了,我将送一瓶漂亮的智利葡萄酒给那些帮助我的人。

再次感谢。

Daniel1983

附加的文件:
 
daniel1983:
谢谢你,Altoronto。

这段代码的下一步是确定所有时期的同一条线,在同一个点上,在一天中没有变化,在一天中的00:00的蜡烛的第一分钟。

为了更好的理解,我附上了一张图片和说明。

你或其他人能帮助我编码,并将其编入指标吗?

再次感谢您。

如果这最终成功了,我将送一瓶漂亮的智利葡萄酒给那些帮助我的人。

再次感谢。

Daniel1983

丹尼尔-1983

如果你使用的是第一个收盘价的高点和低点,白天会有变化。

 

姆拉登先生。

为什么白天会有变化? 我想只做一次微积分,而且只对每一天的第一支蜡烛进行计算。而不是后面的蜡烛,我不明白这一点

在第1天的t=1时,对第1天的t=0进行微积分,结果画一条线

只对你使用指标 的那一天,在当天的23:59停止工作,直到第二天的第一支蜡烛的指标价格。

第二天

在第2天的t=1时,对第2天的t=0进行微积分,结果是画一条线

希望这里更清楚

 
daniel1983:
姆拉登先生。

我想只做一次微积分,而且只对每一天的第一支蜡烛进行计算。而不是后面的蜡烛,我不明白。

在第1天的t=1,对第1天的t=0进行微积分,结果画出一条线

只对你使用指标的那一天,在当天的23:59停止工作,直到第二天的第一个蜡烛的指标价格。

第二天

在第2天的t=1时,对第2天的t=0进行微积分,结果是画线。

希望这里更清楚

daniel1983

High[1]和Low[1]是指当前图表中第一个收盘条的高点和低点。如果该图表不是日线图,你会得到一个日内的变化,因为高点和低点在变化。另外,在任何情况下,当你使用日线图时,你有不同时间框架的数据混合。

 

好的,Mladen,让我看看我是否明白,我想问题是我在同一代码中混合了两个时间段,所以如果我只使用一个时间段,例如所有的东西都用于1分钟图表,它应该工作。

让我们为一分钟的图表制作一切。

代码公式 por 价格,其中线应是 =

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

这样一来,我认为计算价格的水平线的代码应该是t=1,但它并不工作

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

//|自定义指标 初始化功能。

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

int init()

{

//----

return(0);

}

int deinit() {

Comment("")。

ObjectDelete("KeyLine")。

return(0);

}

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

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

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

int start()

{

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

Comment("Key Line: ",number);

ObjectDelete("KeyLine")。

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID)。

ObjectsRedraw();

return(0);

}

 
daniel1983:
好的,Mladen,让我看看我是否理解了,我想问题是我在同一代码中混合了两个时间段,所以如果我只使用一个时间段,例如1分钟制图的所有数据,它应该可以工作。

让我们为分钟图做一切准备。

代码公式 por 价格,其中线应是 =

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

这样一来,我认为计算价格的水平线的代码应该是t=1,但它并不工作

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

//| 自定义指标初始化功能。

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

int init()

{

//----

return(0);

}

int deinit() {

Comment("")。

ObjectDelete("KeyLine")。

return(0);

}

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

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

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

int start()

{

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

Comment("Key Line: ",number);

ObjectDelete("KeyLine")。

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID)。

ObjectsRedraw();

return(0);

}

没有

你应该像这样做。

double number = )iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3

这样你就可以从每日的数据中获得所有的数据(没有来自不同时间段的数据混合)。

 

谢谢你,姆拉登。

我想也许我走得太快了。让我们回头看看,不要输入任何公式,让我们从以前开始,让指标只做以下工作。

在每天第一支蜡烛的开盘价 处画一条水平线,即00:01分钟的蜡烛,并在23:59分钟时将其删除。

这条线的价格在所有时间段内不发生变化,直到23:59时被抹去,并在第二天的00:01时重新启动。

这将是怎样的?

 
daniel1983:
谢谢你,Mladen。

我想也许我走得太快了。让我们回头看看,不要输入任何公式,让我们从以前开始,让指标只做以下工作。

在每天第一支蜡烛的开盘价上画一条水平线,即00:01分钟的蜡烛,并在23:59分钟时将其删除。

这条线的价格在时间上没有变化,所有时段的价格都是一样的,直到23:59时被抹去,并在第二天的00:01时再次启动。

这是怎么一回事?

如果你使用我发布的公式,那么它的行为就会完全一样:只要日子一变,数值也会变,而且会一直固定到第二天

 

谢谢你,Mladen,我做了修改,指标看起来像这样,但在图表中仍然没有任何作用...

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

#属性版权 "www.forex-tsd.com"

#property link "www.forex-tsd.com"

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

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

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

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

int init()

{

//----

return(0);

}

int deinit() {

Comment("")。

ObjectDelete("KeyLine")。

return(0);

}

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

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

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

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("Key Line: ",number);

ObjectDelete("KeyLine")。

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID)。

ObjectsRedraw();

return(0);

}

我现在做错了什么?

谢谢你