Alıntı Originally Posted by JordanBelfort Yazıyı Oku
bymehmet ve fasem teşekkür ederim, ilettiğiniz şekilde oldu.

Ana damara volatilite ve aşırı alım indikatörleri ile eklentiler yapmaya çalışıyorum. Ana amacım çok ani yükseliş ve düşüşlerde daha küçük parametreler ile yakından takip etmesi. Bunları bool fonksiyonu ile halletmeye çalışıyorum. Aşağıdaki şekilde oluyor gibi.

bool RSI70üstü = false;

for (int i = 1; i < Sistem.BarSayisi; i++)
{

if (RSI[i] > 700)
{
RSI70üstü = true;
}

if (RSI70üstü == true)
{
if (C[i] < MA1[i]) Sinyal = "F";
}
}
Bu şekilde yaptığımda, ani yükselişten sonra çok düşüş gerçekleşmeden (TERS V ŞEKLİNDE HAREKET) tepeye yakın sattırabiliyorum ama en ufak harekette hemen işleme girmemesi için "sattığın fiyattan önce 60 bardaki tepe geçilmeden VEYA sattığın fiyattan %2 düşmeden alış yapma" demesini ve o aralıkta alış şartlarını pasife almasını istiyorum.

if (Sinyal == "F" && SonYon != "F")
{
Sistem.Yon[i] = "F";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
BarNo = i;


}
Kısmında sattığı fiyat belirtilebiliyor ama bu şartı nasıl yazabilirim ufkumu açabilecek olan veya daha önce bu tarz bir çalışma yapmış olan var mı?
Öncelikle RSI70üstü değişkeni bir kere true olduktan sonrada döngü içerisinde onu tekrar false yapacak bir satır var ama siz buraya yapıştırmadınız diye tahmin ediyorum eğer yoksa else bloku ile ekleyin.


Sattıktan sonra 60 barın yükseğini aşmadan alımı engelleyebilirsiniz. Sistem.HHV kullanarak hh60 diye bir indikatör tanımlayın. Sonrasında için alış şartının olduğu if blokuna ( ....&& hh60[i] > hh60[i-1]) eklemeniz yeterli olacaktır. Tabi sisteminiz cross kullanıyorsa bunu tavsiye etmem bu durumda sistemde stop tarzı başka bir sistem yönü değiştiren şart yoksa uzunca bir süre sisteminiz askıda kalabilir.