多时间框架指标 - 页 414

 

Mrtools

您是否可以在该指标中加入MTF选项?

谢谢

new_sfractals.mq4

附加的文件:
 

我想这个周末mrtools正在休息,所以这里是这个版本。

affandiz:
Mrtools

你是否有可能在这个指标中加入MTF选项?

谢谢

new_sfractals.mq4
附加的文件:
 

请求编程帮助

mladen:
T3随机指标的多时间框架版本(最初在这里发布的:随机振荡器),并解释了它到底是什么,如何工作的。

你好,Mladen。

我想用您其他指标代码中的相应例程,在主线越过该指标的信号线时添加箭头和警报,但我没能成功。

请您帮助我,我的尝试有什么问题吗?

请注意。

克里斯托夫

 

谢谢你

mrtools:
嗨,Chrisstoff,你很接近了,这是一个固定的版本。你可能会在代码中看到它,而不是我的解释,我的解释有时不是很好。

你好,MrTools。

谢谢你的帮助,非常感谢。好吧,我已经查看了代码并看到了我的一些错误......

谢谢。

Chrisstoff

[删除]  
mrtools:
嗨,Chrisstoff,你很接近了,这是一个固定的版本。你可能会在代码中看到它,而不是我的解释,我的解释有时不是很好。

谢谢你的帮助

 
mladen:
我想这个周末mrtools正在休息,所以这里是这个版本

非常感谢...

 
mladen:
我想这个周末mrtools正在休息,所以这里是这个版本。

嗨,MILADEN,是否可以让指标显示更多的箭头,就像第二张图片中的那样?

我尝试使用附件中的icustom创建mtf指标,但它使我的笔记本电脑挂起。

谢谢

mtf_sfractals_alert.mq4

附加的文件:
[Deleted]  

多对多时间框架

MLaden,MrTools和其他任何人?

我有一个我写的多对多时间框架的自定义指标。我把我的交易对存储在一个交易对数组中,把时间框架存储在一个会话数组中。 我想做的是最初计算我写的一个特殊MACD的iCustom调用的前十条,0到12条,然后确定这段时间的MACD零交叉和MACD信号交叉。 此后,我只需要对未计算的条数进行iCustom调用。

因此,我以标准方式计算计数条数和极限,然后对极限和12做MathMin。 接下来设置了3个循环,一个为交易对,一个为时间框架,一个为要计算的条数。

我发现,一个交易对(不总是同一个交易对,也不是图表交易对)的初始极限12被调用了4次,然后图表交易对被调用了一次,然后计算被重置,时间框架极限从12变成了2。 然而,有很多情况下,有一个指数缺口或一个指数重置,甚至有时只有一行诊断程序。

谁能解释一下发生了什么? 这个问题是由图表窗口或两个iCustom调用的传入刻度引起的吗。 当一个指标在计算过程中,另一个刻度到达时会发生什么? 我认为指标完成后,当下一个刻度到来时,这个刻度被忽略了。

我考虑的另一种可能性是,由于打印输出的速度相对较慢,专家标签上有缓冲区溢出。 然而,从检查指标来看,这是很不可能的。

最后,是否有可能从init()函数中调用一次计算函数,并消除start()函数中的特殊情况的需要。

以下是相关代码

如果有人有任何建议,我想知道,可以在这个主题或通过私人信息。 你的想法和建议将得到赞赏,因为我已经花了相当多的时间来识别和解决这个问题。

void Calculate_MAsAndMACDs(int index, int session, int bar,int limit, int counted_bars)

{

字符串对。

pair=Symbols.Pair;

int previous=bar+1;

macd= iCustom(pair,Session.Period[session],File.MACD, 3,4,3,8,13,false,1,bar)。

signal=iCustom(pair,Session.Period[session],File.MACD, 3,4,3,8,13,false,0,bar);

Print(Symbols," Counted Bars-b ",index," ",bar," ",Bars," ", IndicatorCounted()," ",limit," ",counted_bars);

MACD.Trend=1。

如果(macd<signal) MACD.Trend=-1;

如果(macd>signal && macd[previous] < signal[previous]) {MACD.CrossOverTime=Time; MACD.CrossOverTimeValue=1; }

如果(macd signal[previous]) {MACD.CrossOverTime=Time; MACD.CrossOverTimeValue=-1;}

如果(MACD.CrossOverTime == 0) MACD.CrossOverTime=Time[ActiveCrossOverBars+1];

如果(macd >0. && macd[previous] <0.) {MACD.CrossedTime=Time; MACD.CrossedTimeValue=1; }// Print("crossed up ",bar," " MACD.CrossedTimeValue);}

如果(macd 0.) {MACD.CrossedTime=Time; MACD.CrossedTimeValue=-1;}// Print("crossed dn " ,bar," " ,MACD.CrossedTimeValue);}

//if(Symbols == "XAUUSD")

Print(Symbols," Counted Bars-b ",index," ",bar," ",Bars," ",IndicatorCounted()," ",limit," ",counted_bars," ",DoubleToStr(macd,7)," ",DoubleToStr(macd[previous],7)," " ,TimeToStr(MACD.CrossedTime,TIME_MINUTES)," ",TimeToStr(Time,TIME_MINUTES)," ",MACD.CrossedTimeValue)。

如果(MACD.CrossedTime == 0) MACD.CrossedTime=Time[ActiveCrossOverBars+1];

if(macd >= macd[previous]) MACD.Slope=1; else MACD.Slope=-1;

MACD.Signal.Trend=1。

if(signal<signal[previous]) MACD.Signal.Trend=-1;

}

开始()

{

int Y.Height,session,index,xpos,counted_bars=IndicatorCounted(), elements=ActiveCrossOverBars+2;

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

如果(counted_bars>0) counted_bars--。

int limit = MathMin(Bars-counted_bars,Bars-1);

limit = MathMin(limit,elements);

for(int i=0;i<Session.Order.Number;i++)

{

session=Session.Order;

for(index=0;index<Symbols.Number;index++)

{

Print(Symbols," Counted Bars-a ",index," ",-1," ",Bars," ",IndicatorCounted()," ",counted_bars," ",limit)。

ArrayResize(macd,elements); ArrayResize(signal,elements);

for(int k=limit;k>=0;k--) Calculate_MAsAndMACDs(index, session, k, limit, counted_bars);

}

}

return(0);

附加的文件:
diagnostics.jpg  216 kb
 

嗨,我需要你的帮助,使这个指标在MTF版本...

非常感谢您的帮助

附加的文件:
ut_fast.mq4  26 kb
 

亲爱的mladen和mrtools

你们能不能在所附的两个指标中加入MTF选项?

的两个指标?

非常感谢您的时间

附加的文件: