PHP Code:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Drawing;
using System.IO;
namespace ideal
{
public class Lib
{
public void GetiriCizdir(dynamic Sistem)
{
try
{ int teminat = 1450; float kom = 0.10f; float kayma = 0.150f;
string syspertrh = "01/01/2021";
float kaykom = (kom + kayma);
Sistem.GetiriHesapla(syspertrh , kaykom);
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
double KarCount = 0;
double ZararCount = 0;
int PrevBarNo = 0;
var PrevYon = ""; int lsay = 0; int ssay = 0;
for (int i = 0; i < V.Count; i++)
{
if (PrevBarNo > 0)
{
if (PrevYon == "A" && (Sistem.Yon[i] == "F" || Sistem.Yon[i] == "S"))
{
if (C[i] > C[PrevBarNo]) KarCount++;
if (C[i] < C[PrevBarNo]) ZararCount++; ssay++;
}
if (PrevYon == "S" && (Sistem.Yon[i] == "F" || Sistem.Yon[i] == "A"))
{
if (C[i] < C[PrevBarNo]) KarCount++;
if (C[i] > C[PrevBarNo]) ZararCount++; lsay++;
}
}
if (Sistem.Yon[i] != "")
{
PrevYon = Sistem.Yon[i];
PrevBarNo = i;
}
}
var TradeCount = KarCount + ZararCount;
double Oran = 100 * KarCount / (KarCount + ZararCount);
Sistem.Cizgiler[10].Deger = Sistem.GetiriKZGunSonu;
Sistem.Cizgiler[11].Deger = Sistem.GetiriKZGun;
Sistem.DolguEkle(10, 11, Color.FromArgb(120, 0, 255, 0), Color.FromArgb(120, 255, 0, 0));
Sistem.Cizgiler[12].Deger = Sistem.GetiriKZAy;
var Sure = (DateTime.Now - V[0].Date).TotalDays / 30.4;
var gunkz = Sistem.GetiriKZGunSonu[Sistem.GetiriKZGunSonu.Count - 1] - Sistem.GetiriKZGun[Sistem.GetiriKZGun.Count - 1];
Sistem.GradientYaziEkle(Sure.ToString("0.0") + " Ay", 2, 10, 10, Color.Silver, Color.Silver, "Calibri", 10);
Sistem.GradientYaziEkle(Sistem.GetiriKZ[Sistem.GetiriKZ.Count - 1].ToString("0.00"), 2, 100, 10, Color.Gold, Color.Gold, "Calibri", 10);
Sistem.GradientYaziEkle("Bu Gün", 2, 10, 25, Color.Silver, Color.Silver, "Calibri", 10);
Sistem.GradientYaziEkle(gunkz.ToString("0.00"), 2, 100, 25, Color.Gold, Color.Gold, "Calibri", 10);
Sistem.GradientYaziEkle("İşlem Sayısı", 2, 10, 40, Color.Silver, Color.Silver, "Calibri", 10);
Sistem.GradientYaziEkle((TradeCount / 2).ToString("0"), 2, 100, 40, Color.Gold, Color.Gold, "Calibri", 10);
Sistem.GradientYaziEkle("Short " + ssay.ToString("0") + "\r\n" +"İşlemSayı. " + (ssay+lsay).ToString("0") + "\r\n" +"Long " + lsay.ToString("0") , 2, 145, 30, Color.Red, Color.Lime, "Calibri", 8);
Sistem.GradientYaziEkle("Ortalama", 2, 10, 55, Color.Silver, Color.Silver, "Calibri", 10);
Sistem.GradientYaziEkle(((TradeCount / 2) / Sure).ToString("0"), 2, 100, 55, Color.Gold, Color.Gold, "Calibri", 10);
Sistem.GradientYaziEkle("Karlılık", 2, 10, 70, Color.Silver, Color.Silver, "Calibri", 10);
Sistem.GradientYaziEkle(Oran.ToString("0.00"), 2, 100, 70, Color.Gold, Color.Gold, "Calibri", 10);
var KarZarar = Sistem.GetiriKZ;
Sistem.Cizgiler[6].Deger = KarZarar;
Sistem.Cizgiler[6].Stil=1;
Sistem.Cizgiler[6].Panel = 2;
Sistem.Cizgiler[6].Aciklama = "NET_K/Z";
Sistem.Cizgiler[6].ActiveBool = true; // var isay = Sistem.GetiriToplamIslem;
var isay = lsay+ssay;
//Sistem.ZeminYazisiEkle(syspertrh +" den bu güne istatistikler ", 2, 1, 85, Color.White , "Calibri", 10);
Sistem.ZeminYazisiEkle("Bear___" , 2, 210, 100, Color.Red , "Vladimir Script", 16);
Sistem.ZeminYazisiEkle("___ Bull" , 2, 210, 100, Color.Lime , "Vladimir Script", 16);
Sistem.ZeminYazisiEkle("Grf B.Tarih = "+ V[1].Date.ToString("dd.MM.yy - HH:mm") + " BarSayısı = " + (Sistem.BarSayisi).ToString() , 2 , 1, 85, Color.White , "Tahoma", 8);
Sistem.ZeminYazisiEkle("Net Kâr_Zarar 1 lot = "+ (10*KarZarar[KarZarar .Count-1]).ToString("C0") , 2, 1, 115, KarZarar[KarZarar.Count-1] > 0 ? Color.Green : Color.Red , "Calibri", 10);
Sistem.ZeminYazisiEkle("Teminat = " + teminat.ToString("C0") + " Getiri = " + (( 10*KarZarar[KarZarar.Count-1]) / teminat ).ToString("0.00") + " kat", 2, 1, 100, Color.White , "Calibri", 10);
Sistem.ZeminYazisiEkle("işl.fiyat Kayma maliyeti= "+ kayma + " puan " + (kayma * 10).ToString("C1") + " Toplam = " + (kayma * 10 * isay).ToString("C0") , 2, 1, 130, Color.Red , "Calibri", 10);
Sistem.ZeminYazisiEkle("işl. Komisyon maliyeti = "+ kom + " puan " + (kom * 10).ToString("C1") + " Toplam = " + (kom * 10 * isay).ToString("C0") , 2, 1, 145, Color.Red , "Calibri", 10);
Sistem.ZeminYazisiEkle("Kayma+Kom.Toplam = " + ((kayma+kom) * 10 * isay).ToString("C0"), 2, 160, 160, Color.Yellow , "Calibri", 10);
}
catch (Exception ex){ Sistem.Mesaj(ex.Message); }
}
}
}
Yer İmleri