bool exit_for=false;int max_1=0;int max_2=0;for(int k=0; k<Bars; k++){if(iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k)<iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k+1)&&iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k+1)>iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k+2)){//Если это первый максимум:if( max_1==0)
max_1= k+1;//Записываем номер бара экстремумаelse//Если первый найден, записываем второй{
max_2= k+1;
exit_for=true;}}//Выход из цикла, когда найдены оба максимумаif( exit_for==true) k=Bars+1;}
你知道我额外问题的答案吗?
下面的条件是好的,但我没有使用更新功能,所以我不能告诉你。
P.S. 我也是一个初学者。
但有谁知道,在if()操作符的一行中,通过几个(&&)列出条件的这种顺序是否可以接受?
可以接受,尽管我会多加一些括号--在不同的语言中,操作有不同的优先级--以便不考虑琐碎的事情--类似这样。
你在指标的x个最近的邻居中寻找高点,并对它们进行比较。
搜索RSI上最后两个最大值的功能是什么样子的?
谁能给我看看这个代码?
...(必须用RefreshRates()刷新吗?)...
RefreshRates的目的是什么?重点是,在一个新的tick出现后,内置变量(如Ask, Bid等)被读取并传递给start()函数。如果启动时间过长,可能会有新的刻度线出现,但变量不会被更新。这就是你调用RefreshRates的时候。
当启动时间过长?通常当一个交易操作正在进行时--有一个网络交换,需要服务器对该操作的许可,并期待一个响应。因此,通常RefreshRates是在一个tick上有超过1个订单被打开/关闭时使用。它是在操作之间使用的。
RSI上最后两个高点的搜索功能是什么样子的?
谁能给我看看代码?
尽管看起来很奇怪,但这项任务并不容易。从技术上讲,你必须回到过去,寻找这样的点。
y(x-1)<y(x),y(x)>y(x+1)。
但这将找到局部极值,这就有点牵强了--你不会对结果感到满意。
尽管看起来很奇怪,但这项任务并不容易。从技术上讲,你必须回到过去,寻找这样的点。
y(x-1)<y(x),y(x)>y(x+1)。
但这将找到局部极值,这就有点不对劲了--你不会对结果感到满意。
我的想法大致相同,但对一些想法感到困惑:如何将第1个最大值与第2个最大值区分开来。
因为这个条件既符合第一个最大值,也符合第二个和第三个最大值....。
我也是这么想的,但我对一些想法感到困惑:第1个最大值和第2个最大值将如何区分。
因为第一个最大值和第二个及第三个最大值都符合这个条件....。
我可以推荐你去搜索和阅读有关ZigZag的资料(有大量的文献)。我推荐罗切夫之字形--'Zigzag R'。
我可以推荐你搜索和阅读有关ZigZag的资料(有大量的文献)。我推荐罗切夫之字形--'Zigzag R'。
>>谢谢你,我去看看。
看了一下....()() 我什么都没听清楚......数组被填入,然后shifft函数不清楚它到底做什么。
谢谢,我会看看的。
看了....((((,我什么都不明白......数组被填满,那么shifft函数的具体作用就不清楚了。
这就是问题所在--事情相当复杂--但这个之字形的工作没有错误。你可以用它来治疗RSI。
RSI上最后两个高点的搜索功能是什么样子的?
谁能以代码形式展示一下?
它看起来像这样。