Sayin Caglar;
Zaman ayirdiginiz icin tesekkurler :ok:
Saygilar
Printable View
vadeli ve hissede izsuren karal take proit işlem olanağı sağlanana kadar sizinle çalışmayı düşünmüyorum directfn
dünya daki kullanılan data platformlara bakarsak inan 10 yıl geriden takip ediyoruz
matriks e-broker veya foreks den izsuren stop take profit grafik üzerinden yapılabiliyormu
bu ay sonu itibariyle bende ideal i sonlandırmayı düşünüyorum , cevap yazarsanız sevinirim
//izleyen1
//izleyen2PHP Code:
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var XX = C;
var X1 = Sistem.MA(XX, "Exp", 10);
var X2 = Sistem.MA(XX, "Exp", 50);
var YY = Sistem.RSI(100);
var Y1 = Sistem.MA(YY, "Exp", 10);
var Y2 = Sistem.MA(YY, "Exp", 200);
var ZZ = Sistem.IMI(80);
var Z1 = Sistem.MA(ZZ, "Exp", 10);
var Z2 = Sistem.MA(ZZ, "Exp", 200);
var IZLEYENSTOP = Sistem.Liste(0);
var KARAL = Sistem.Liste(0);
var SonYon = "";
var FlatOncesiYon = "";
var FlatFiyat = 0.0f;
for (int i = 1 ; i < Sistem.BarSayisi; i++)
{
var IndikatorAlis = X1[i] > X2[i] && Y1[i] > Y2[i] && Z1[i] > Z2[i];
var IndikatorSatis = X1[i] < X2[i] && Y1[i] < Y2[i] && Z1[i] < Z2[i];
IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(1.5, i);
if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = C[i];
KARAL[i] = Sistem.KarAlYuzde(2.0, i);
if (KARAL[i] == 0) KARAL[i] = C[i];
if (SonYon == "F" && FlatOncesiYon == "A" && C[i] > FlatFiyat * 1.005f ) // kar alındıktan sonra tekrar alış trendine girme
{
FlatOncesiYon = "";
SonYon = "A";
Sistem.Yon[i] = "A";
}
else if (SonYon == "F" && FlatOncesiYon == "S" && C[i] < FlatFiyat * 0.995f ) // kar alındıktan sonra tekrar alış trendine girme
{
FlatOncesiYon = "";
SonYon = "A";
Sistem.Yon[i] = "A";
}
else if ((C[i] < IZLEYENSTOP[i] || C[i] >= KARAL[i]) && SonYon == "A") // alıştan flate
{
FlatOncesiYon = SonYon;
FlatFiyat = C[i];
SonYon = "F";
Sistem.Yon[i] = "F";
}
else if ((C[i] > IZLEYENSTOP[i] || C[i] <= KARAL[i]) && SonYon == "S") // satıştan flate
{
FlatOncesiYon = SonYon;
FlatFiyat = C[i];
SonYon = "F";
Sistem.Yon[i] = "F";
}
else if (IndikatorAlis && SonYon != "A" && FlatOncesiYon != "A") // alış
{
FlatOncesiYon = "";
SonYon = "A";
Sistem.Yon[i] = "A";
}
else if (IndikatorSatis && SonYon != "S" && FlatOncesiYon != "S") // satış
{
FlatOncesiYon = "";
SonYon = "S";
Sistem.Yon[i] = "S";
}
}
Sistem.Cizgiler[0].Deger = X1;
Sistem.Cizgiler[1].Deger = X2;
Sistem.Cizgiler[2].Deger = IZLEYENSTOP;
Sistem.Cizgiler[3].Deger = C;
Sistem.Cizgiler[4].Deger = KARAL;
var Yesil = Sistem.Renk(80,0,200,0);
var Kirmizi = Sistem.Renk(80,200,0,0);
Sistem.DolguEkle(3, 2, Yesil, Kirmizi);
PHP Code:
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var XX = C;
var X1 = Sistem.MA(XX, "Weighted", 21);
var X2 = Sistem.Ref(X1,-1);
var IZLEYENSTOP = Sistem.Liste(0);
var SonYon = "";
for (int i = 1 ; i < Sistem.BarSayisi; i++)
{
IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(1.5, i);
if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = C[i];
if (X1[i] > X2[i] && SonYon != "A" ) // alış
{
SonYon = "A";
Sistem.Yon[i] = "A";
}
if (X1[i] < X2[i] && SonYon != "S" ) // satış
{
SonYon = "S";
Sistem.Yon[i] = "S";
}
}
Sistem.Cizgiler[0].Deger = X1;
Sistem.Cizgiler[1].Deger = X2;
Sistem.Cizgiler[2].Deger = IZLEYENSTOP;
Sistem.Cizgiler[3].Deger = C;
var Yesil = Sistem.Renk(80,0,200,0);
var Kirmizi = Sistem.Renk(80,200,0,0);
Sistem.DolguEkle(3, 2, Yesil, Kirmizi);
var Veriler = Sistem.GrafikVerileri;
var Bars = Sistem.GrafikVerileri;
var Listem = Sistem.Liste(0);
var Listem1 = Sistem.Liste(0);
for (int i = 1; i < Bars.Count; i++)
{
var Sayac= 0;
for (int j = i-1; j > 0; j--)
{
if (Bars[j].High < Bars[j-1].High)
Sayac++;
if (Sayac >=1)
{
Listem[i] = Bars[j].High;
break;
}
}
}
for (int i = 1; i < Bars.Count; i++)
{
var Sayac= 0;
for (int k = i-1; k > 0; k--)
{
if (Bars[k].Low > Bars[k-1].Low)
Sayac++;
if (Sayac1 >=1)
{
Listem1[i] = Bars[k].Low;
break;
}
}
}
(Listem+Listem1)/2 yapmaya çalışıyorum ama olmadı… Yardımcı olabilecek arkadaşa şimdiden teşekkür ederim.
Kodunuza baktım. Yazım hataları var gibi görünüyor.
Eğer doğru anladıysam Listem'e bir önceki High değeri küçük olan değeri, Listem1 için ise bir önceki Low'dan büyük olan değeri tutmak için kullandınız.
Bir de sizden dinlersem yapmak istediğiniz şeyi daha anlaşılır ve kolay bir şekilde yazılabilir.