|
|
Merhabalar uufuk hocam ve arkadaşlar, şu ifadeyi nasıl yazabilirim.
1.Şuanki fiyat kendinden önceki en yüksek fiyatttan %1 düşükse sat,
2.1.nolu işlem gerçekleştikten sonra fiyat , 1 nolu işlemden sonra %50 yükselirse stop
3.Şuanki fiyat kendenden önceki en düşük fiyattan %1 yüksekse al.
4. 2 nolu işlem gerçekleştikten sonra fiyat tekrar düşerse 2 nolu işlemden sonrnaki fiyat %50 düşerse stop.
uufuk hocam, hala çalışıyorum, ama öncelikle şu ifadeler için nasıl bir formül kullanmam gerek onu öğrenmem lazım sanırım.
1.anlık fiyatı gösteren formül =
2.anlık fiyat yukardan aşağı geliyorsa, kendinden önceki en yüksek fiyatı gösteren formül=
3.anlık fiyat aşağıdan yukarı gidiyorsa, kendinden önceki en düşük fiyat gösteren formül=
Şunu deniyorum LLV(L,period) VEYA HHV(H,period) ama anlık fiyattan önceki period, bazen period 1, bazen 5, bazen9, bazen 14, bazen 25 hatta daha çok period olabiliyor. Yani period sayısına bakmaksızın anlık fiyata göre en yüksek tepe, ve en düşük dip i bulmam gerekiyor sanırım. kafamda tasarlıyorum ama hangi formasyonu hangi formül içine nasıl monte edeceğimi bilmediğim için takılıyorum. hhv ve llv bunun için uygun değil sanırım.
ROC(H,period,%) veya ROC(L,period,%)
roc kullanayım dedim ama burada da sabit bir period girmek gerekiyor, bu da karşılamıyor. ((
Sayın Hocam sabah 5,39 oldu. artık göz kapaklarımı açık tutamıyorum.
sanırım 2.anlık fiyat yukardan aşağı geliyorsa, kendinden önceki en yüksek fiyatı gösteren formül= diye belirttiğim yere aşağıdaki yapılardan birini kullanmalıyım. Sizce uygun mudur?
Highest Since : Yazım : highestsince(N.,koşul,Data)
Koşulun gerçekleştiği en yakın “Nâ€inci olaydan bu yana data serisinin aldığı en yüksek değeri hesaplar.
* highestsince(2 , RSI()>80 ,C) fonksiyonunda, RSI değerinin 2. sefer 80 in üzerinde olduğu bardan
bugüne kadar gerçekleşen en yüksek kapanış değerini verir.
Highest High Since Bars : Yazım: highestsincebars(N.,koşul,Data)
Koşulun gerçekleştiği en yakın “Nâ€inci olaydan bu yana data serisinin aldığı en yüksek değeri gördüğü
bardan son bara kadar geçen bar sayısını hesaplar.
* highestsincebars(2 , RSI()>80 ,C) fonksiyonunda, RSI değerinin 2. sefer 80 in üzerinde olduğu
bardan bugüne kadar gerçekleşen en yüksek kapanış değerinden son bara kadar olan bar sayısını
verir.
|
|
İZ SÜREN STOP
var C = Sistem.GrafikFiyatSec("Kapanis");
var L = Sistem.GrafikFiyatSec("Dusuk");
var H = Sistem.GrafikFiyatSec("Yuksek");
var SonYon = "";
float StopPuan = 0.05f;
bool SartAl = .....; //Alış şartınız
float SonStop = 0f;
var IzleyenStop = Sistem.Liste(0);
int p1 = 4; //Son kaç barın düşüğüne bakacaksanız onu yazın
var LLV = Sistem.LLV(p1);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if (SartAl && SonYon!="A")
{
Sistem.Yon[i] = "A";
SonYon = "A";
SonStop = L[i] - StopPuan; //Alış koşulunun gerçekleşmesiyle stopu belirledik
IzleyenStop[i] = SonStop;
continue;
}
if ( SonYon =="A")
{
if (C[i] < IzleyenStop[i - 1] || C[i] < LLV[i-1])
//Stop altında veya Son 4 barın en düsügünün altında kapatırsa
{
Sistem.Yon[i] = "F"; // yön flate döner
SonYon = "F";
IzleyenStop[i] = IzleyenStop[i - 1];
//Burayı sadece sonstop seviyelerini grafikte görebilmek için yazdım
continue;
}
else if (C[i]>=IzleyenStop[i-1]&& H[i]<=H[i-1])
//Kapanış izleyenstop üstü ve yeni yüksek görülmediyse
{
IzleyenStop[i] = SonStop; //Stop seviyesi değişmez
continue;
}
else if (C[i] >= IzleyenStop[i - 1] && H[i] > H[i - 1]) //yeni yüksek görüldüğünde
{
SonStop = L[i] - StopPuan; //Stop güncellenir
IzleyenStop[i] = SonStop;
}
}
}
Sistem.Cizgiler[0].Deger = IzleyenStop;
Sistem.Cizgiler[1].Deger = LLV;
Yer İmleri