Yalnız bu topik beleş sistemlerin paylaşıldığı yere dönmekten daha öteye de geçmeli..mesela mtx veya ms de kod yazım yeteneklerinin gelişeceği bir yere..çok basit alıştırmalarla başlanabilir..
mesela; son 20 barın en düşüğünü son 40 barın en düşüğü ile karşılaştıran ve son 20 barın en düşüğü son 40 barın en düşüğünden büyükse 1, aksi durumda 0 üreten kod satırını nasıl yazarsınız…:) bu soru basit güzel bir sorudur 🙂 bakalım en kısa kodu kim yazacak:..:
-Belirli bir dönemdeki en düşük değeri bulmaya yarayan komut LLV’dir. Yani
LLV(H,10) dediğimizde son 10 barın yüksek değerlerinin enn düşüğünü buluruz. Ya da LLV(rsi(12), 20) dersek, son 20 barın her birinde hesaplanmış olan rsi(12) nin en düşük değerini buluruz.
-Bir koşulun olmasına veya olmamasına bağlı olarak iki ayrı sonuç üreten komut IF’dir. IF(c>ref(c,-1),1,0) dediğimizde son bardaki kapanış bir öncekinden büyükse 1 değilse 0 elde edilir.
Sorumuza dönelim:
Son 20 barın en düşüğü; LLV(L,20)
(dikkat, kapanışların en düşüğünü arıyor olsaydık LLV(C,20) derdik)
Son 40 barın en düşüğü : LLV(L,40)
ve sonuç;
ÇÖZÜM1: IF(LLV(L,20)>LLV(L,40),1,0) olur..
Ancak daha şık bir çözüm daha vardır. Şöyleki;soru aslında şudur ; Son 40 barın en düşük değerinin görülmesinden bu yana geçen bar sayısı 20 den küçükse 1, değilse 0…
Bir koşulun oluşmasından bu yana geçen bar sayısını Barssince komutu verir. Yapısı Barssince(Koşul-Veri) şeklindedir..Barssince kullanarak çözümü de ilgilisi yazsın
Yukarıdaki çözümden, basit bir sistem nasıl tasarlanıra geçersek; kafanıza göre bir boğa piyasası tanımı yapın kafanızdan. Mesela son 4 barın en düşük değeri, son 8 barın en düşüğünün altına düşmüyorsa boğa piyasası sürüyor dersiniz. Bu tek başına bir sistemdir ama bunu sadece anlaşılması açısından örnek veriyorum
yani;
1nci ADIM;
AL: IF(LLV(L,4)>LLV(L,8),1,0) =1
SAT : IF(LLV(L,4)>LLV(L,8),1,0) =0
bu yaklaşım, 1nci kuşak sistemlerin alfabesinin anlaşılması için önemlidir..