[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 33

 
xruss >> :
Ek sorumun cevabını biliyor musun?

Aşağıdaki koşul pahasına yapabilirsiniz, ancak veri güncelleme işlevi pahasına - kullanmıyorum, bu yüzden size söyleyemem.

PS ben de acemiyim..

 
xruss писал(а) >>
if () ifadesinin bir satırında birkaç (&&) yoluyla bu sıralama koşullarının kabul edilebilir olup olmadığını bilen var mı?

Kabul edilebilir, ancak daha fazla parantez koysam da - işlemler farklı dillerde farklı önceliğe sahiptir - küçük şeyler hakkında ne düşünürseniz düşünün - şöyle bir şey:

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

Gösterge değerlerinin en yakın x komşuları arasında maksimumları arama ve karşılaştırma

RSI'daki son 2 tepe için arama işlevi neye benziyor?

biri kodda gösterebilir mi?

 
xruss писал(а) >>

...( RefreshRates() ile güncelleme yapmak gerekli mi?)...

Yenileme Hızları ne için? Mesele şu ki, yeni bir onay işareti geldikten sonra, yerleşik değişkenler (Ask, Bid vb. gibi) okunur ve start() işlevine beslenir. Başlamanız çok uzun sürerse, yeni bir onay işareti gelebilir, ancak değişkenler güncellenmeyecektir. Ardından RefreshRates'i aramanız gerekir.

Başlangıç ne zaman çok uzun sürer? Genellikle bir ticaret işlemi gerçekleştirildiğinde - bir ağ değişimi var, işlem için sunucunun izni gerekiyor, bir yanıt bekleniyor. Bu nedenle RefreshRates, genellikle bir tık üzerinde 1'den fazla sipariş açıldığında/kapatıldığında kullanılır. İşlemler arasına koyun.

 
amur писал(а) >>

RSI'daki son 2 tepe için arama işlevi neye benziyor?

biri kodda gösterebilir mi?

İşin tuhafı, sorun basit değil. Resmi olarak, geri dönüp şu noktaları aramanız gerekir:

y(x-1)<y(x) ve y(x)>y(x+1)

Ancak bu, yerel aşırı uçları bulacaktır ve bu biraz farklıdır - sonuç sizi memnun etmeyecektir.

 
Itso >> :

İşin tuhafı, sorun basit değil. Resmi olarak, geri dönüp şu noktaları aramanız gerekir:

y(x-1)<y(x) ve y(x)>y(x+1)

Ancak bu, yerel aşırı uçları bulacaktır ve bu biraz farklıdır - sonuç sizi memnun etmeyecektir.

Ben de aynı şeyi düşünüyorum, ancak bazı düşünceler kafa karıştırıyor: 1. maksimum, 2. maksimumdan nasıl ayırt edilecek,

çünkü bu koşul altında hem birinci maksimumun altına hem de 2. ve 3.'nün altına sığar ....

 
amur писал(а) >>

Ben de aynı şeyi düşünüyorum, ancak bazı düşünceler kafa karıştırıyor: 1. maksimum, 2. maksimumdan nasıl ayırt edilecek,

çünkü bu koşul altında hem birinci maksimumun altına hem de 2. ve 3.'nün altına sığar ....

ZigZag (edebiyat - deniz) hakkında araştırma yapmanızı ve okumanızı tavsiye edebilirim. Roshevsky zikzak - 'Zigzag R' öneririm

 
Itso >> :

ZigZag (edebiyat - deniz) hakkında araştırma yapmanızı ve okumanızı tavsiye edebilirim. Roshevsky zikzak - 'Zigzag R' öneririm

Teşekkürler, bir bakacağım.

Baktım ....(((Hiçbir şey anlamadım ... dizi doldu, sonra shift işlevi tam olarak ne yaptığı belli değil.

 
amur писал(а) >>

Teşekkürler, bir bakacağım.

Baktım ....(((Hiçbir şey anlamadım ... dizi doldu, sonra shift işlevi tam olarak ne yaptığı belli değil.

Sadece mesele bu - mesele oldukça karmaşık - ama bu zikzak hatasız çalışıyor. RSI için kullanabilirsin gibi görünüyor

 
amur >> :

RSI'daki son 2 tepe için arama işlevi neye benziyor?

biri kodda gösterebilir mi?

Aşağı yukarı şöyle:

 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 ;  
}
Neden: