
Originally Posted by
Hector Salamanca
bars[i].Date.Month olmalý, hata bu.
yazdýðým çözüm baþka bir düzenleme gerektirmeyen bir çözümdür. copy paste yapmanýz yeterli.
aksiyon alacaðýnýz yerde if(VadeSonu) .... yapmanýz yeterli olur.
Copy-paste yapmýþtým zaten, Date yazýmý atlanmýþ, þuan çözüldü bu problem teþekkürler hýzlý geri dönüþünüz için. Yalnýz gönderdiðiniz kod vadenin son gününün 9.30 baþlangýç mumunda kapatýyor sistemi.
Biraz geliþtirmeye çalýþtým. Vadenin son günü son mumda sistemi flate geçirebildim fakat yeni vadenin ilk mumunun açýlýþ fiyatýndan önceki vadenin son yönünde devam ettiremedim sistemi.
vade geçiþi.jpg
PHP Code:
var V = Sistem.GrafikVerileri;
var SonYon = "F";
bool VadeSonu = false;
TimeSpan timeSpan1 = new TimeSpan(09, 30, 00);
TimeSpan timeSpan2 = new TimeSpan(18,14,00);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if ( V[i-1].Date.Month!=V[i].Date.Month && V[i].Date.Month%2==1 && V[i].Date.TimeOfDay == timeSpan1)
//Yeni vade baþý saat 9.30 ise 2 bar önceki yönden devam et
{
Sistem.Yon[i] = Sistem.Yon[i-2];
SonYon = Sistem.Yon[i];
continue;
}
if(AL SAT KOÞUL)
{
....
}
DateTime AyinSonGunu = new DateTime(V[i].Date.AddMonths(1).Year,
V[i].Date.AddMonths(1).Month,1).AddDays(-1);
// Çift bir ayda ise && ayýn tatil olmayan son günü ise
if ( (V[i].Date.Month % 2) == 0 &&
V[i].Date >= (AyinSonGunu.DayOfWeek == DayOfWeek.Sunday ? AyinSonGunu.AddDays(-2) :
AyinSonGunu.DayOfWeek == DayOfWeek.Saturday ? AyinSonGunu.AddDays(-1) : AyinSonGunu))
VadeSonu = true;
else VadeSonu = false;
if (VadeSonu && V[i].Date.TimeOfDay==timeSpan2) //Vadenin son günüyse ve saat 18.14 ise flat
{
Sistem.Yon[i] = "F";
SonYon = Sistem.Yon[i];
}
}
Burada ilk if bloðunun ilk satýrýnda " Sistem.Yon[i] = Sistem.Yon[i-2]; " bir problem varmýþ gibi. [i-1] deðil [i-10] da alsam Flat yönünde devam ediyor. "Sistem.Yon[i] = "S" veya "A" þeklinde elle yön belirttiðimde kod çalýþýyor.
Vadenin ilk mumunda açýlýþ fiyatýndan son yönde devam ettirmek istiyorum sistemi, yardýmcý olabilirseniz sevinirim.
Yer Ýmleri