
Originally Posted by
Noyan
Getiri egrisi ile pozisyon kontrol sistemleri kurgularken örnegin 5dk grafik icin 51000 barda optimize ettigimizde getiriyi biraz torpulesede mdd ve pf daha guzel bir hal aliyor.fakat içinden çikamadiğim çozemediğim durum şu optimize ettigimiz bu sistemi robot calistirirken 2000 bar a dusurdugumuzde getiri egrisi uzerine atilan ott degerleri degistigi icin sistem 51000 barda optimize edilen sistemden daha farkli oluyor ....bunun çözüm yolu nedir.YARDIM PLS..
bu kod üzerinden ilerlersem doğru olurmu(kod forumdan alıntı)
//çok datada ki bir değeri (örneğin getiri eğirisi) az datada devam ettirme kodu
//Bazı sistemlerde bar sayısının fazla olduğu grafiklerinden elde ettiğimiz bir değeri (örneğin getiri eğrisi) değiştirmeden bar sayısının az olduğu grafiklerde kullanmak isteyebiliriz. Bu durumda ilişkin kod :
//İLK ÖNCE KISATLMAK İSTEDİĞİMİZ NOKTAYA GELİYORUZ UZUN BARDAKİ GKZ DEĞERİ VE TARİH BELİRLENİYOR.
var V = Sistem.GrafikVerileri;
var GrafikSistemAd= "LS_AKBNK";
var GrafikSistem = Sistem.SistemGetir(GrafikSistemAd, Sistem.Sembol, Sistem.Periyot);
var GetiriList = GrafikSistem.GetiriKZ;
var YeniGetiriList = Sistem.Liste(V.Count, 0);
var RefGetiriDate = new DateTime(2025, 10 , 16, 11, 25, 0); // yıl, ay, gün, saat, dakika, saniye // kendi grafiğinizden değer gireceksiniz
// çok data grafiğinden bakarak elde ettiğimiz referans barın bilgisi
// (az data grafiğinde getiri eğirisinin hesaplanmaya başladığı yerlere yakın olması tercih edilir)
var RefGetiri= 240.42f ; // kendi grafiğinizden değer gireceksiniz GKZ DEĞERİ
// çok data grafiğinden bakarak elde ettiğimiz referans barın getiri değeri
var farkgetiri = 0f ; //float
for (int i = 0; i < GetiriList.Count; i++)
{
if ( V[i].Date == RefGetiriDate ) farkgetiri = RefGetiri - GetiriList[i] ;
// referans bardaki çok data ve az data getiri farkı
YeniGetiriList [i] =
V[i].Date >= RefGetiriDate ? GetiriList[i] + farkgetiri : 0 ;
}
var OTT = Sistem.TTI(YeniGetiriList, 40, 1f, "Variable");
var OTT2 = Sistem.TTI(GetiriList, 40, 1f, "Variable");
Sistem.Cizgiler[0].Deger = GetiriList ; // panel 2
Sistem.Cizgiler[1].Deger = YeniGetiriList; // panel 3
Sistem.Cizgiler[2].Deger = OTT;
Sistem.Cizgiler[3].Deger = OTT2;
İDEAL KOD YAZMADA YENİYİM........YOL GÖSTERMENİZ YETERLİDİR TŞK...
Yer İmleri