for(i=Bars; i >= 0; i--)
{
val3=iFractals(NULL, 0, MODE_UPPER,i);
if(val3>0)
{
v3[1]=High[i];
double v3[9];
// if I put v3[1]=High[i]; here in stead of above it will not draw the line, probably because of this buffer topic againPrint ("v1[", 1, "]= ", v3[1]);
}
}
好吧,这是我得到的东西,有一些结果,我不完全理解这些结果,但我想我可以从那里弄清楚,并理解为什么我永远无法得到一个结果。
谢谢
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3312
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3315
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3301
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3301
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3302
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3296
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3293
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3292
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3293
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3292
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3284
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3299
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3306
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3325
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3361
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3343
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3399
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3419
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3422
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3422
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3398
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3374
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3375
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3378
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3387
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3389
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3389
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3383
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3373
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3372
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3368
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3356
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3366
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3369
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3386
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3361
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3301
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3296
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3297
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3297
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3297
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3301
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3303
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3314
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3307
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3307
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3302
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3301
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3294
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3297
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3292
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3292
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]=1.3292
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.3293
2011.09.21 10:54:46 2011.01.03 02:28 Agent86_5min EURUSD,M5: v1[5]= 1.329
。
谢谢
是的,指标缓冲区的处理方式与普通数组不同。
v[i]不是在声明数组,它只是其中的一个元素 ......但是double v[]; 是一个零元素的数组 ......所以 v[anything] 总是 = 0
所以你实际上可以把值放进数组,但由于它没有被声明,所以在不知道它是哪个元素的情况下,是没有办法访问这些元素的。
那么,如果数组中的元素为零,缓冲器如何知道如何画出v1[i]的线。?
是不是因为它真的只是一个静态的bool,而不是真的像一个数组一样在这一点上行事。
但在绘制时,元素中没有实际的值,只是True,而且在那一刻可以绘制High[i]?
如果我没有说清楚,请澄清。
谢谢你的指导
指示器缓冲区 是特殊的Arrays ......不要把Arrays和Buffers混为一谈,它们是相似而又不同的。
在原来的代码中,v1[]和v2[]是缓冲区,在你最新的代码中,它们是数组,当你声明一个数组时,你必须给它一个大小,例如,v1[50]有50个元素,从v1[0]到v1[49]。当需要更多的元素时,缓冲区会自动调整大小,并且数值会在缓冲区内自动移动。 考虑到当前形成的条形图,即条形图0,当这个条形图完成后,与该条形图相关的指标值必须转移到索引1 ......这是用缓冲区自动完成的,如果你想用数组做类似的事情,你可以,但你必须自己编码。
谢谢
无论如何,我想我现在可能取得了一些好的进展
我看到我可以把这一行放在数组声明的上面,它显示了指标,但只打印0,如果我把它放在下面,就会打印出数值
我假设这意味着==True,然后继续
那么在这一点上,我怎么能知道这个值,因为只要是真的,简单的打印会打印出一个正在变化的值
,而且还声明了数组,然后声明了数组中的一个元素,比如v1[3]=High[i]打印结果也会随着val1>0而继续变化
所以我试图理解这一点,以及我如何可能在此刻冻结时间,它将是val1>0,或者我如何在不使用缓冲区中的[i]值的情况下知道实际的分形 值是什么,因为我无法从缓冲区中获得该值,因为我们之前讨论过,[i]没有声明数组,而且本身是未宣布的。好吧,是部分未声明。
所以我想,声明数组并赋值为High[i]会产生我想要的打印结果,然而,它并不像指标那样是固定的,那么指标如何有一个固定的值,我如何重现这个值,以便使用这个值或将它重命名为其他变量,使之有用。
请指教
谢谢
也许你应该先解释一下你想做什么 ......完全不提任何代码 ......只是简单的英语。 这可能会使我们双方都更清楚地了解情况 . . ;-)
我想我只是想学会参考信号本身会在图表上显示的分形。
不是所有的,而是选择一个,或之前的一个,高点和/或低点,并选择它们来使用。
以一种ABCD的命名方法来使用
由于iFractals似乎几乎可以做到我自己创建的这个用途,我希望能够给这些分形一个变量名称
这样我就可以设计代码来引用这些固定的iFractals,就像指标中显示的那样,也像v1[i]=High[i]中显示的那样,在新的分形形成之前一直显示。指示器显示的是保持固定的值
因此,我打算尝试创建一个代码,为当前的v1[i]=High[i]创建一个变量,这可能是A,但我想要一个像指标中那样的固定值,而不是像我的Print语句那样的一个移动值。
然后我可能想从以前的High[i]中选择,把它标记为A或B,如果(A>High[i]在那个时候)可能是C,等等。要试着想出一个好的ABCD方案,用于一个完全不同的策略的另一部分。但我注意到很多人在纤维和许多其他部分和指标中使用这种ABCD方案,但我只是想学习如何创建一个基本的ABCD方案,甚至可能以后让它根据这些ABCD画出趋势线 等等。
还有其他很多东西,但现在只是一个ABCD类型的东西。
谢谢