波动性质量指数 - 页 60

 

你好,Gfuchs。

你可以在你的iCustom行中添加PRINT 和COMMENT语句,以确保你从你的指标中获得正确的值......这些也将有助于确认你的买入/卖出策略是否正常工作。

另外......在你添加的新指标的iCustom行中,你只显示了3个externs。

该指标有11个外部指标......它们都需要被添加到iCustom线中......。

希望这有帮助。

罗伯特

 
cosmiclifeform:
嗨,Gfuchs。

你可以在你的iCustom行中添加PRINT和COMMENT语句,以确保你从你的指标中获得正确的值......这些也将有助于确认你的买入/卖出策略是否正常工作。

另外......在你添加的新指标的iCustom行中,你只显示了3个externs。

该指标有11个外部指标......它们都需要被添加到iCustom线中......。

希望这有帮助。

罗伯特

嗨,罗伯特,谢谢你的快速回复!我希望我能理解你的话。我希望我能够理解你的话...

我不是一个程序员。我只是在 "复制和粘贴 "的帮助下努力工作。

"11个外部设备 "是关键部分吗?哦,天哪。不知道。你是说这个吗?

"Volatility quality - zero line alrt",PriceSmoothing,PriceSmoothingMethod,Filter,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertNotification,soundfile,alertPrefix,3,i)。

 
Gfuchs:
嗨,罗伯特,谢谢你的快速回复!我希望我能够理解你的话。我希望我能够理解你的话...

我不是一个编码员。我只是在 "复制和粘贴 "的帮助下努力工作。

"11个外部因素 "是关键部分吗?哦,天哪。我不知道。

Gfuchs

找出趋势变化的条件应该是这样的。

if(CntO(OP_BUY,Magic)>0)TL=1;if(CntO(OP_SELL,Magic)>0)TL=-1;for(int i=1;i<=limit;i++){

VQ1=iCustom(NULL,0,"Volatility quality - zero line alrt",PriceSmoothing,PriceSmoothingMethod,Filter,4,i);

VQ2=iCustom(NULL,0,"Volatility quality - zero line alrt",PriceSmoothing,PriceSmoothingMethod,Filter,4,i+1);

if(VQ2!= 1&&VQ1==1 ){if(Reverse)SV=1;else BV=1;break;}

if(VQ2!=-1&&VQ1==-1){if(Reverse)BV=1;else SV=1;break;}}

趋势缓冲区只能包含2个值,+1代表趋势上升,-1代表趋势下降。当该缓冲区的值发生变化时,意味着有一个新的信号。

 
mladen:
Gfuchs

找出趋势变化的条件应该是这样的:

if(CntO(OP_BUY,Magic)>0)TL=1;if(CntO(OP_SELL,Magic)>0)TL=-1;for(int i=1;i<=limit;i++){

VQ1=iCustom(NULL,0,"Volatility quality - zero line alrt",PriceSmoothing,PriceSmoothingMethod,Filter,4,i);

VQ2=iCustom(NULL,0,"Volatility quality - zero line alrt",PriceSmoothing,PriceSmoothingMethod,Filter,4,i+1);

if(VQ2!= 1&&VQ1==1 ){if(Reverse)SV=1;else BV=1;break;}

if(VQ2!=-1&&VQ1==-1){if(Reverse)BV=1;else SV=1;break;}}

趋势缓冲区只能包含2个值,+1代表趋势上升,-1代表趋势下降。当该缓冲区的值发生变化时,意味着有一个新的信号。

亲爱的Mladen,非常感谢你的帮助。我做了建议的修改,看来是成功了!我将做更多的测试并报告。我将做更多的测试和报告。

是时候给你送一瓶香槟酒了......一旦我不做演示了

 
mladen:
Gfuchs

找出趋势变化的条件应该是这样的。

if(CntO(OP_BUY,Magic)>0)TL=1;if(CntO(OP_SELL,Magic)>0)TL=-1;for(int i=1;i<=limit;i++){

VQ1=iCustom(NULL,0,"Volatility quality - zero line alrt",PriceSmoothing,PriceSmoothingMethod,Filter,4,i);

VQ2=iCustom(NULL,0,"Volatility quality - zero line alrt",PriceSmoothing,PriceSmoothingMethod,Filter,4,i+1);

if(VQ2!= 1&&VQ1==1 ){if(Reverse)SV=1;else BV=1;break;}

if(VQ2!=-1&&VQ1==-1){if(Reverse)BV=1;else SV=1;break;}}

趋势缓冲区只能包含2个值,+1代表趋势上升,-1代表趋势下降。当该缓冲区的值发生变化时,意味着有一个新的信号。

亲爱的Mladen,我对这个EA仍有一个小问题。你能不能再帮我一下?

第1条:做空信号(等待收盘时)。

第2条:做空

第3条:多头信号(现在我在EA中激活了 "反向=真 "+"添加仓位=真",然后按OK键)

现在,它没有准备在第4条上添加另一个头寸,而是关闭了第2条上的订单......

附加的文件:
problem2.jpg  85 kb
 
Gfuchs:
亲爱的Mladen,我对这个EA还有一个小问题。你能再次帮助我吗?

第1条:做空信号(等待条形收盘)。

第2条:做空

第3条:多头信号(现在我在EA中激活了 "反向=真 "+"添加仓位=真",并按OK键)

现在,它没有准备在第4条上添加另一个头寸,而是关闭了第2条上的订单......

疑问

也许只有一个解释:你不能把EA作为手动交易的延伸。问题是,当你改变EA中的参数 时,一些其他的内部变量可能被重置,或者它们仍然保持以前的交易方式的值。这就是为什么我们总是建议谨慎地改变EA的参数,或者只在没有开仓订单的情况下改变参数的原因之一--否则就会有EA行为不可预知的风险。

 
mladen:
Gfuchs 也许只有一个解释:你不能用EA作为手动交易的延伸。问题是,当你改变EA中的参数时,一些其他的内部变量可能被重置,或者它们仍然保持以前的交易方式的值。这就是为什么我们总是建议谨慎地改变EA的参数,或者只在没有开仓订单的情况下改变参数的原因之一--否则就会有EA行为不可预知的风险。

哦,我不知道这一点。我在到处玩设置。 非常感谢你的解释,Mladen。

顺便说一下。只要在两个信号之间有一个非信号柱,似乎就可以避免上述问题。

 
Gfuchs:
哦,我不知道这一点。我一直在到处玩设置。 非常感谢Mladen的解释。只要在两个信号之间有一个非信号条,似乎就可以避免上述问题。

是的,这也是一种方法,但为此你必须在你的屏幕上设置与EA中设置相同的内容(这样你就能直观地知道什么时候这样做是安全的)。

 
mladen:
波动率质量零线指标(来自本帖:https://www.mql5.com/en/forum/general),以图表栏的形式制作。

需要这个指标的EA,请...

规则见图片....

谢谢

附加的文件:
 

大家好,我的朋友 ,你能不能给我一个指标,它的名字是Volaritility qualtity nrs - alerts et arrows,但格式是mq4而不是ex4,谢谢你。你的朋友萨米尔