[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 33

 
xruss >> :
你知道我额外问题的答案吗?

下面的条件是好的,但我没有使用更新功能,所以我不能告诉你。

P.S. 我也是一个初学者。

 
xruss писал(а)>>
但有谁知道,在if()操作符的一行中,通过几个(&&)列出条件的这种顺序是否可以接受?

可以接受,尽管我会多加一些括号--在不同的语言中,操作有不同的优先级--以便不考虑琐碎的事情--类似这样。

if ((Max_price_1>EMA20_Open) && (Min_price_1>EMA20_Open) && (Heiniken_Red>Heiniken_Blue))
   {
    Opn_B=true;
   }
 
zfs >> :

你在指标的x个最近的邻居中寻找高点,并对它们进行比较。

搜索RSI上最后两个最大值的功能是什么样子的?

谁能给我看看这个代码?

 
xruss писал(а)>>

...(必须用RefreshRates()刷新吗?)...

RefreshRates的目的是什么?重点是,在一个新的tick出现后,内置变量(如Ask, Bid等)被读取并传递给start()函数。如果启动时间过长,可能会有新的刻度线出现,但变量不会被更新。这就是你调用RefreshRates的时候。

当启动时间过长?通常当一个交易操作正在进行时--有一个网络交换,需要服务器对该操作的许可,并期待一个响应。因此,通常RefreshRates是在一个tick上有超过1个订单被打开/关闭时使用。它是在操作之间使用的。

 
amur писал(а)>>

RSI上最后两个高点的搜索功能是什么样子的?

谁能给我看看代码?

尽管看起来很奇怪,但这项任务并不容易。从技术上讲,你必须回到过去,寻找这样的点。

y(x-1)<y(x),y(x)>y(x+1)。

但这将找到局部极值,这就有点牵强了--你不会对结果感到满意。

 
Itso >> :

尽管看起来很奇怪,但这项任务并不容易。从技术上讲,你必须回到过去,寻找这样的点。

y(x-1)<y(x),y(x)>y(x+1)。

但这将找到局部极值,这就有点不对劲了--你不会对结果感到满意。

我的想法大致相同,但对一些想法感到困惑:如何将第1个最大值与第2个最大值区分开来。

因为这个条件既符合第一个最大值,也符合第二个和第三个最大值....。

 
amur писал(а)>>

我也是这么想的,但我对一些想法感到困惑:第1个最大值和第2个最大值将如何区分。

因为第一个最大值和第二个及第三个最大值都符合这个条件....。

我可以推荐你去搜索和阅读有关ZigZag的资料(有大量的文献)。我推荐罗切夫之字形--'Zigzag R'

 
Itso >> :

我可以推荐你搜索和阅读有关ZigZag的资料(有大量的文献)。我推荐罗切夫之字形--'Zigzag R'

>>谢谢你,我去看看。

看了一下....()() 我什么都没听清楚......数组被填入,然后shifft函数不清楚它到底做什么。

 
amur писал(а)>>

谢谢,我会看看的。

看了....((((,我什么都不明白......数组被填满,那么shifft函数的具体作用就不清楚了。

这就是问题所在--事情相当复杂--但这个之字形的工作没有错误。你可以用它来治疗RSI。

 
amur >> :

RSI上最后两个高点的搜索功能是什么样子的?

谁能以代码形式展示一下?

它看起来像这样。

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;  
}
原因: