[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 23

 
Sergey2011:

我不明白如何在15分钟内,通过这个时间功能,组织一个按天计算的列举周期。

我希望这个问题是清楚的。

谢谢你的帮助


看看iBarShift的帮助,和/或你可以直接使用日线,像这样:iOpen(Symbol(),PERIOD_D1,1) - 前一天的开口,等等。
 
Ereke:
另一个Smartypants !
你不知道你对这个论坛的描述有多正确!你是一个很好的例子。我希望你也能对自己和你的询问质量得出正确的结论,因为你在这样的环境中。
 
granit77:
你不知道你对这个论坛的描述有多正确!你是一个很好的例子。我希望你也能对自己和你的询问质量得出正确的结论,因为你已经来到了这样一个环境。
+10 :)
 
granit77:
你不知道你对这个论坛的描述有多正确!你是一个很好的例子。我希望你能对自己和你的询问质量也得出正确的结论,因为你已经来到了这样的环境。

Artmedia70

谢谢你!"..................... 我已经得到了帮助 !

 
artmedia70: 维克多说得很对--在空中拍摄...
这让我想起了一个轶事......
两名楚科奇人在树林中迷路...
-向空中开枪,也许有人会听到并帮助......。
几分钟后...
-再拍一些。
-我不能,我没有箭了......
 
volshebnik:
收盘价可以远远高于分形图(如果分形图是向上的),那么潜在的利润就会丧失。我在每一个tick上检查价格的突破。


我同意,你可以这样做,因为买单在卖出价上打开,你可以将它与卖出价进行比较...

if (Ask > upfractal) { DO IT }

对于这个问题--为什么你的所有进入条件都没有被触发,我再详细解释一下--这是因为分形计算不正确......

为了正确计算最后一个分形的值,你应该使用这个结构,使用一个辅助变量...

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD_H1, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD_H1, MODE_LOWER, 3); 

在你的代码中,它不存在,而且分形已经出现,是的,你已经很好地记住了它的值。 你写得很正确--不是在第3条,而是在第2条,当我们在第0条已经知道它的值,接下来会发生什么...如果价格在下一个条形上没有突破最新的分形的值,而且,比如说,"小步走",在随后的每个条形上都移动到它的穿透力,而没有形成一个规则的分形(这通常会发生),那么你的情况是...你的计算分形值被自行重置为 "0"...而且没有必要像你的代码中那样另外归零(我不会引用你知道的地方)......这就是为什么 upfractal !=0 出现 在计算后的下一个柱子上(最新的分形在那里) ......

这就是为什么在形成后续条形时,只需输入一个辅助变量就能记住并保持最新分形的值,试着在你的代码中做这些改变,看看交易是在最新分形的突破处完成的,这个突破在多少条形之后发生都没有区别,如果你还是不明白,就输入打印,而不是你的警报,看看upfractal 变量在每个新条形 中的变化,你会明白一切--它自己重置为"0 "在新形成的条形上,分形被突破,例如在第8条形上--仅此而已,它的值在很长一段时间内都等于0。

这就是你的情况。


  
            
                upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3);
                Alert("upfractal вначале = ",upfractal);
if (Двверх==true && upfractal !=0 && Bid > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) // Условие открытия ордера при пробитии фрактала вверх

应该是这样的。

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3);
 if (Двверх==true && Ask > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) 
   

"罗曼,为什么?这不是同样的事情吗?例如,如果MA_8<MA_2与(MA_8-MA_2)<0相同?"

这是相同的,但为了现实世界的操作和100猜测的可靠性,为了没有可能的 "故障 "的理由--需要第二种选择。

P.S. 代替警报,使用 打印 并跟踪EA日志中测试器中产生的变量值,以分析你的猫头鹰的 "正确 "操作。

 
Roman.:


我同意,你可以这样做,因为买单在卖出价上打开,你可以与卖出价比较...

if (Ask > upfractal) { DO IT }

在视觉上,我分析图表是否有分形的渗透,并通过可见的价格,即出价来搜索依赖关系。这就是为什么我认为分形的突破是一个出价(而upfractal也给出了一个出价,而不是一个要价)。
 
例子。
  datetime some_time=D'2004.03.21 12:00'; int shift=iBarShift("EUROUSD",PERIOD_M1,some_time); Print("shift of bar with open time",TimeToStr(some_time)," is " ,shift);

我看了一下帮助,我不明白(我不明白)如何在变量 "some_time "中指定15分钟,我需要前一天的时间,即如果今天是1月25日。2011年我如何设置1月24日、23日、22日等进行搜索。

谢谢你的澄清。

 
volshebnik:
我直观地分析图表中分形的穿透力,并通过可见的价格,即买入价,搜索依赖关系。这就是为什么我认为分形断裂是一个出价(而upfractal也给出一个出价,而不是一个要价)。


你也可以这样做,这并不重要:-)))

你现在明白了吗?

 
Roman.:


我同意,你可以这样做,因为买单在卖出价上打开,你可以与卖出价比较...

对于你为什么没有触发所有进入条件的问题,我再详细解释一下--这是因为分形的计算方法不正确......

为了正确计算最后一个分形的价值,有必要使用这种结构,并使用辅助变量...

在你的代码中,它不存在,分形已经出现,是的,你很好地记住了它的值。 你写得很正确--不是在第3条,而是在第2条,当我们知道它在第0条的值,接下来会发生什么...如果价格在下一个条形上没有达到分形的值,而且,例如,"小步走",在随后的每个条形上,它使其穿透,而没有形成新的分形(这通常发生),那么你的情况是...你的计算分形值被自行重置为 "0"...而且没有必要像你的代码中那样另外归零(我不会引用你知道的地方)......这就是为什么 upfractal !=0 只在计算后的下一个条形(最新的分形在那里)。

这就是为什么在随后的条形图形成时,只需输入一个辅助变量,他们就能记住并保持最新的分形图的值,试着在你的代码中纠正这些变化,看看交易就在最新分形图的突破处完成,而这个突破在多少条形图之后发生并不重要。

是的,罗曼,非常感谢你。我为分形定义添加了一个辅助参数,现在所有的交易都开放了。