15 Aralık 2014 Pazartesi

KOŞULLARIN BİRLEŞTİRİLMESİ

KOŞULLARIN BİRLEŞTİRİLMESİ:

Birden fazla sayıda koşulun birlikte uygulanabilmesi mümkündür.
Farklı koşulları, formüllerinin arasına AND veya OR koyarak birleştirebilirsiniz.
AND ile birleştirme: Her 2 koşulunda aynı zamanda doğrulanmış olmasını gerektirir.
Örnek:
C>MOV(C,5,E) AND RSI(C,14)<35
İpucu: Koşullar ile AND / OR arasında mutlaka 1 karakterlik boşluk olmalıdır.
Yukarıdaki koşulun anlamı şudur: Kapanış 5 barlık hareketli ortalamadan büyük olacak ve aynı zamanda 14 barlık RSI değeri de 35 ten küçük olacak.
Bu 2 koşulun her ikisi de geçerli olduğu anda sisteminiz sonuç verecektir.
OR ile birleştirme :
C>MOV(C,5,E) OR RSI(C,14)<35
Formülü bu şekilde OR ile yazarsak şunu demiş oluruz:
Yukarıdaki 2 koşuldan sadece bir tanesi bile geçerli olduğu anda sonuç ver.
Bu konuda dikkat edilmesi gereken bazı detaylar vardır.
Kesişme zamanlarını bulmak için koşulların önemli bir kısmı CROSS fonksiyonu ile yazılmaktadır.
Bu durumda 2 koşulun birleştirilmesinde karşımıza bir sorun çıkar. Birden fazla koşulumuz olsun ve her ikisinde de CROSS fonksiyonu kullandığımızı varsayalım. Bu 2 koşulu AND ile birleştirdiğimiz takdirde, her 2 kesişmenin aynı anda (aynı barda) gerçekleşmesi gerekir. Bu da pratikte pek mümkün değildir. Bu sebeple koşullardan birisini (veya her ikisini de) > < işaretlerini kullanarak yazmak gerekir.
Cross fonksiyonunun şablonu :
Cross(Data1,Data2) şeklindedir.

Buradaki koşulu kesişme yerine > / < şeklinde yazmak istersek yapılması gereken şudur :
Data1>Data2 şeklinde yazmak.


  
2 tane koşul varken hangisini > / < şekline dönüştüreyim derseniz aslında yapmanız gereken normalde ikisini de büyüktür - küçüktür şeklinde yazmak olmalıdır.

Yukarıdaki şekle bakınız.  13 Ekim gününde MACD’ye göre kesişme gerçekleşmiştir. Bununla beraber ortalamaların kesişmesi gerçekleşmemiştir.
MACD koşulunu kesişme şeklinde (CROSS ile) bıraktığınızı ve hareketli ortalama kesişmesini MAV(C,5,E)>MAV(C,15,E) şeklinde yazdığınızı düşünelim.
13 Ekim günü hareketli ortalama koşulu henüz gerçekleşmediği için sistemin bütünü sonuç vermeyecektir.
5 günlük hareketli ortalamanın 15 günlük hareketli ortalamanın üstüne çıktığı anda da MACD kesişmesi oluşmadığı için (daha önceden kesişme gerçekleşti çünkü) 15 Ekim gününde de 2 sistemin birlikte çalışması için gerçekleşme sonucu elde edemeyeceksiniz.
Eğer her 2 koşulu da > işareti ile yazarsanız 15 Ekim barında koşullarınız gerçekleşti sonucu alırsınız.
Burada belirleyici olan sizin beklentilerinizdir.
Koşullardan birisi sizin için daha önemli (belirleyici) olabilir. Ve kesişme olduğu anda (diğer koşullarda uygun ise) alırım, yoksa bir sonraki kesişmeyi beklerim diyebilirsiniz.
O zaman o koşulu kesişme kuralı ile tutmanız gerekir.


Koşulların birleştirilmesinde temel mantık bu şekildedir. Koşul sayısı arttıkça CROSS kullanımı zorlaşır. Bu sebeple CROSS içeren koşullarınızın formüllerini > veya < işareti kullanacak şekilde değiştirmenizde fayda vardır.

1 yorum:

  1. Merhabalar hocam kolay gelsin. PMAX ve sott koşulunu birleştirdim ikiside cross var ama >< işaretleri nereye koysam daha fayda sağları teşekkür ederim şimdiden.

    period:=OPT1;
    coeff:=OPT2;
    MovPeriod:=OPT3;
    K:=MOV((H+L)/2,MovPeriod,VAR);
    OFFSET:=coeff*ATRe(period);
    STR:=K+OFFSET;
    STS:=K-OFFSET;
    FUB:=IF(STRPREV,STR,PREV);
    FLB:=IF(STS>PREV OR REF(K,-1)FUB,FLB,IF(PREV=REF(FLB,-1) AND K>FLB,FLB,IF(PREV=REF(FLB,-1) AND K<FLB,FUB,FUB))));
    Cross(K,PMax) AND Cross(STOSK(opt1,opt2,33,VAR)+1000,OTT(STOSK(opt1,opt2,33,VAR)+1000,2,opt3))

    YanıtlaSil