PHP Code:
var V = Sistem.GrafikVerileri;
var VK = Sistem.GrafikFiyatSec("Kapanis");
var VY = Sistem.GrafikFiyatSec("Yuksek");
var VD = Sistem.GrafikFiyatSec("Dusuk");
var VV = Sistem.GrafikFiyatSec("OHLC/4");
var HH=Sistem.HHV(120,VY);
var LL=Sistem.LLV(120,VD);
var Lin=Sistem.MA(VV,"Exp",120);
var TOMA=Sistem.TOMA(Lin,1,1,"Exp");
var ma15=Sistem.MA(VV,"Exp",15);
Sistem.Cizgiler[13].Deger = Lin;
Sistem.Cizgiler[16].Deger = TOMA;
Sistem.Cizgiler[17].Deger = Lin;
var Smb = "DFN'SENTI1";// Sinyal üretecek sembol.
var V2 = Sistem.GrafikVerileriniOku(Smb, "1");
V2 = Sistem.GrafikVerilerindeTarihHizala(V, V2);
var SENTI1= Sistem.GrafikFiyatOku(V2, "Kapanis");
var SNTMA=Sistem.MA(SENTI1,"Exp",15);
var SNT_HH=Sistem.HHV(20,SENTI1);
var SNT_LL=Sistem.LLV(20,SENTI1);
var SNTTOMA=Sistem.TTI(SNTMA,15,10,"Variable");
var Smb3 = "DFN'SENTI60";// Sinyal üretecek sembol.
var V5 = Sistem.GrafikVerileriniOku(Smb3, "60");
var SENTI60 = Sistem.GrafikFiyatOku(V5, "Kapanis");
SENTI60 = Sistem.DonemCevir(V, V5,SENTI60);
V5 = Sistem.GrafikVerilerindeTarihHizala(V, V5);
Sistem.Cizgiler[0].Deger = SENTI1;
Sistem.Cizgiler[1].Deger = SNTTOMA;
// strateji
float stop=0.0f;
var SonYon = "";
var Sinyal = "";
var TradeCount = 0;
double SonFiyat = 0.0;
int Bar = 0;
int Bars = 0;
var IZLEYENSTOP = Sistem.Liste(0);
var KARAL = Sistem.Liste(0);
var FlatOncesiYon = "";
var IZLEYENSTOP1 = Sistem.Liste(0);
for(int i=100; i < Sistem.BarSayisi; i++)
{
Sinyal = "";
IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(2, i);
if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = VK[i];
// strateji
if (V[i].Date.Hour < 10) continue;
if (V[i].Date.Hour == 10 && V[i].Date.Minute < 05) continue;
if ( i>Bars+100 && Lin[i]>TOMA[i] && SNTMA[i]>SNTTOMA[i] && VY[i]>HH[i-1] && SENTI60[i]>0 ) Sinyal="A";
if ( SonYon == "A" && ma15[i]<TOMA[i] && SNTMA[i]<SNTTOMA[i] && SENTI1[i]<8f) {Sinyal="F"; Bars=i; }
if ( VK[i]>SonFiyat*1.05f && SonYon == "A" ) {Sinyal="F"; Bars=i+500; }
if ( VK[i]<SonFiyat*0.98f && SonYon == "A" ) {Sinyal="F"; Bars=i; }
if ( VK[i]<IZLEYENSTOP[i] && SonYon == "A" ) {Sinyal="F"; Bars=i; }
if ( i>Bar+100 && Lin[i]<TOMA[i] && SNTMA[i]<SNTTOMA[i] && VD[i]<LL[i-1] && SENTI60[i]<0 && SENTI1[i]<8f) Sinyal="S";
if ( SonYon == "S" && ma15[i]>TOMA[i] && SNTMA[i]>SNTTOMA[i] ) {Sinyal="F"; Bar=i; }
if ( VK[i]<SonFiyat*0.95f && SonYon == "S" ) {Sinyal="F"; Bar=i+500; }
if ( VK[i]>SonFiyat*1.02f && SonYon == "S" ) {Sinyal="F"; Bar=i; }
if ( VK[i]>IZLEYENSTOP[i] && SonYon == "S" ) {Sinyal="F"; Bar=i; }
if (i < V.Count - 1)
{
if (V[i].Date.Month != V[i + 1].Date.Month && V[i + 1].Date.Month % 2 == 1)
Sinyal = "F";
}
// Yön Kalıbı
if (Sinyal == "A" && SonYon != "A")
{
Sistem.Yon[i] = "A";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
}
if (Sinyal == "S" && SonYon != "S")
{
Sistem.Yon[i] = "S";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
}
if (Sinyal == "F" && SonYon != "F")
{
Sistem.Yon[i] = "F";
SonYon = Sistem.Yon[i];
}
}
var cizgino = 8;
var panel = 2;
Sistem.GetiriHesapla("01/01/1900", 0);
Sistem.Cizgiler[cizgino].Deger = Sistem.GetiriKZ;
var Renk1a = Sistem.Renk(150, 255, 255, 0);
var Renk2a = Sistem.Renk(255, 0, 255, 0);
var Renk3a = Sistem.Renk(255, 255, 0, 80);
var Sure = (DateTime.Now - V[0].Date).TotalDays / 30.4;
var gunkz = Sistem.GetiriKZGunSonu[Sistem.GetiriKZGunSonu.Count - 1] - Sistem.GetiriKZGun[Sistem.GetiriKZGun.Count - 1];
var Date2Ay = DateTime.Now.AddDays(-60);
var Date2AyBarNo = 0;
for (int i = V.Count - 1; i > 0; i--)
{
if (V[i].Date <= Date2Ay)
{
Date2AyBarNo = i;
break;
}
}
var Getiri2Ay = Sistem.GetiriKZ[Sistem.GetiriKZ.Count - 1] - Sistem.GetiriKZ[Date2AyBarNo];
var Date3Ay = DateTime.Now.AddDays(-90);
var Date3AyBarNo = 0;
for (int i = V.Count - 1; i > 0; i--)
{
if (V[i].Date <= Date3Ay)
{
Date3AyBarNo = i;
break;
}
}
var Getiri3Ay = Sistem.GetiriKZ[Sistem.GetiriKZ.Count - 1] - Sistem.GetiriKZ[Date3AyBarNo];
var Date6Ay = DateTime.Now.AddDays(-180);
var Date6AyBarNo = 0;
for (int i = V.Count - 1; i > 0; i--)
{
if (V[i].Date <= Date6Ay)
{
Date6AyBarNo = i;
break;
}
}
var Getiri6Ay = Sistem.GetiriKZ[Sistem.GetiriKZ.Count - 1] - Sistem.GetiriKZ[Date6AyBarNo];
Sistem.GradientYaziEkle(Sure.ToString("0.0") + " Ay", panel, 10, 20, Color.Silver, Color.Silver, "Tahoma", 12);
Sistem.GradientYaziEkle(Sistem.GetiriKZ[Sistem.GetiriKZ.Count - 1].ToString("0.000"), panel, 180, 20, Color.Gold, Color.Gold, "Tahoma", 12);
Sistem.GradientYaziEkle("30 Gün", panel, 10, 40, Color.Silver, Color.Silver, "Tahoma", 12);
Sistem.GradientYaziEkle(Sistem.GetiriBirAy.ToString("0.000"), panel, 180, 40, Color.Gold, Color.Gold, "Tahoma", 12);
Sistem.GradientYaziEkle("60 Gün", panel, 10, 60, Color.Silver, Color.Silver, "Tahoma", 12);
Sistem.GradientYaziEkle(Getiri2Ay.ToString("0.000"), panel, 180, 60, Color.Gold, Color.Gold, "Tahoma", 12);
Sistem.GradientYaziEkle("90 Gün", panel, 10, 80, Color.Silver, Color.Silver, "Tahoma", 12);
Sistem.GradientYaziEkle(Getiri3Ay.ToString("0.000"), panel, 180, 80, Color.Gold, Color.Gold, "Tahoma", 12);
Sistem.GradientYaziEkle("180 Gün", panel, 10, 100, Color.Silver, Color.Silver, "Tahoma", 12);
Sistem.GradientYaziEkle(Getiri6Ay.ToString("0.000"), panel, 180, 100, Color.Gold, Color.Gold, "Tahoma", 12);
Sistem.GradientYaziEkle("Bu Gün", panel, 10, 120, Color.Silver, Color.Silver, "Tahoma", 12);
Sistem.GradientYaziEkle(gunkz.ToString("0.000"), panel, 180, 120, Color.Gold, Color.Gold, "Tahoma", 12);
Sistem.ZeminYazisiEkle("Toplam İşlem Sayısı \t= " + " " + Sistem.GetiriToplamIslem.ToString("0"), panel, 270, 20, Renk1a, "Tahoma", 10);
Sistem.GradientYaziEkle("Ortalama \t\t= " + " " + (Sistem.GetiriIslemSayisiPoz[V.Count - 1] / Sure).ToString("0"), panel, 270, 35, Color.Gold, Renk1a, "Tahoma", 10);
Sistem.ZeminYazisiEkle("Kazandıran İşlem Sayısı \t= " + " " + Sistem.GetiriKarIslem.ToString("0"), panel, 270, 70, Renk1a, "Tahoma", 10);
Sistem.ZeminYazisiEkle("Kaybettiren İşlem Sayısı \t= " + " " + Sistem.GetiriZararIslem.ToString("0"), panel, 270, 85, Renk1a, "Tahoma", 10);
Sistem.ZeminYazisiEkle("Karlı İşlem Miktarı \t\t= " + " " + Sistem.GetiriKarMiktar.ToString("0.000"), panel, 270, 100, Renk1a, "Tahoma", 10);
Sistem.ZeminYazisiEkle("Zararlı İşlem Miktarı \t\t= " + " " + Sistem.GetiriZararMiktar.ToString("0.000"), panel, 270, 115, Renk1a, "Tahoma", 10);
Sistem.ZeminYazisiEkle("Karlı İşlem Oranı \t\t= " + "% " + Sistem.GetiriKarIslemOran.ToString("0.00"), panel, 270, 130, Renk1a, "Tahoma", 10);
Sistem.ZeminYazisiEkle("Net Kar \t= " + " " + Sistem.GetiriNetKar.ToString("0.000"), panel, 600, 20, Renk2a, "Tahoma", 12);
Sistem.ZeminYazisiEkle("Profit Factor \t= " + " " + Sistem.ProfitFactor.ToString("0.00"), panel, 600, 40, Renk2a, "Tahoma", 12);
Yer İmleri