Yazı tura attım, Messinin forması mı, Bistin yarısı mı.. yazı geldi.. :oleyo:
43 tane hissem var canısını..
Printable View
Yazı tura attım, Messinin forması mı, Bistin yarısı mı.. yazı geldi.. :oleyo:
43 tane hissem var canısını..
https://i.hizliresim.com/oqyb11s.png
275 USD (OLMADI 270) yakın vadeli stop - 45 cengaver tam techizat + kuş lastiklerimiz :ok:
https://i.hizliresim.com/jzx286h.png
https://i.hizliresim.com/1qkaokr.png
Macit Abi sıfırdan dönme..
https://i.hizliresim.com/iqf1vdz.png
Haftanın bitmesine 3 gün kaldı.. Ayın bitimine 2 gün. Bu ay bitik.. önümüzdeki ayda.. güzel bir hareket olmazsa pek iç açıcı gözükmüyor.. STOP belli.. 275 - 270
https://i.hizliresim.com/datk55i.png
Noel baba gelirse; bir kaç ay konuk etmek gerekecek; çayı kahveyi pastayı böreği esirgememek lazım.. hatta iki tane de noel nene oturtmak lazım yanı başına..
Kritik; çok kritik; bir yerde duruyor.
Yukarı beklentim var .. ama durum da kabak gibi ortada.
Macit Abinin EMA9unun ucu aşağı döndü dönecek.
Ay kapanışı HMA değerlerinin altında olacak gibi.
Aralık ayına şelale gelebilir
Aralık ayı sonunda 280 - 300 arasında kapatmazsa nanik..
iç açıcı gözükmüyor.. Yakın vadeli STOP belli.. 275 - 270
Bu günün kapanışı:
Heikin bar değeri 271,6
Gerçek değer 279,9
2007 aralık Noel baba gelmedi.. sonra bir sene sürekli; hem de sapasağlam; düştü.
2010 aralık gelmedi.. bir sene sürekli düştü.
2014 aralık gelmedi.. bir sene sürekli düştü.
2017 aralık gelir gibi yaptı.. sonra bir sene sürekli düştü.
2019 aralık gelir gibi yaptı.. sonra düştü.
https://i.hizliresim.com/lvl3ll2.png
Kötü bir kapanış
Ama teknik taktik çekmecesinde her zaman iyi bi şeyler bulunabilir.. :oleyo:
https://i.hizliresim.com/eyn9j1g.png
3 günlük barların tadı bi değişikmiş(ti).. :one:
https://i.hizliresim.com/n4lymzg.png
:oleyo:
https://i.hizliresim.com/ohul08r.png
Bi değişik.. :wu:
Dün gece iDeal uygulamasını indirdim. Pek fazla kurcalayamadım lisans olmadığı için. UI beklediğim gibi değildi. Çok uğraş verilmiş ama beğenmedim.
Yarın ayın başı, bir aylık lisans alıp deneyeceğim. İlk izlenimim şu oldu: bilemedim, sanki kullanıcısını iflas ettirmeye yönelik kodlama var.. :evil: Tehlikeli bir uygulama neyi nasıl yaptığını tam bilme şansın yok.. çok fazla seçenek sunulmuş ama içinde kaybolup yanlış bir şeyler yapma durumları var gibi. Görebildiğim kadarıyla dokümantasyonu da derli toplu değil.. youtube videolarıyla destek verilmeye çalışılmış daha çok.. pratik yapmak lazım, iyi bakalım.
Temel fonksiyonlarını bi öğreneyim de sonradan kodlara dışarıdan ekleme yapılabilir gibi.
https://i.hizliresim.com/ibi35dx.png
Yarın başlıyorum, oğlana da söyledim; bu hafta sonu gereken kodlamayı yapacak.. :ok: umarım iyi olur.
Oğlum sağlam yaz kodları çocuum :rules:
https://i.hizliresim.com/kg6rqif.png
OYAK'ın tötünü gördüm.. :kahkah:
275'e dayandık, o iş tamam.. :ok: Sırada 270 var. Orayı da kırdık mı.. Uuuu Uçtuk :wave:
https://i.hizliresim.com/1yxy0ow.png
Forumda grafiklerimi sevmiyolar.. alay konusu ediyolar. İyi yoldayım demek. :one:
Buradan ayrılmayayım.
Şimdi okullu olduk.. :ok: gece gece kaptırdık paraları.
İlk deneyim ve ilk izlenim: olacak.. gibi..
Uğraşılmış, emek harcanmış tamam.
Ben amatörüm, istediğim gibi boyar çizerim, fakat
iDeal UI daha kullanışlı - daha profesyonel olabilirdi..
Kod yazma modülü ise berbat ötesi..
Yani bi VS2022 olmasını beklemiyorum ama tab tuşunun fonksiyonu olsaydı hiç olmazsa.
Bildiğiniz mundar işte.. :oleyo:
https://i.hizliresim.com/45x2xlp.png
Derme çatma ilk sistem görüntüsü:
https://i.hizliresim.com/1mx76oa.png
https://i.hizliresim.com/l06iwme.png
PHP Code:
var PeriyotHMA = Sistem.Parametreler[0];//18
var PeriyotWMAL = Sistem.Parametreler[1];//21
var PeriyotWMAH = Sistem.Parametreler[2];//9
var BarKapanis = Sistem.GrafikFiyatSec("Kapanis");
var BarYuksek = Sistem.GrafikFiyatSec("Yuksek");
var BarDusuk = Sistem.GrafikFiyatSec("Dusuk");
var BarAcilis = Sistem.GrafikFiyatSec("Acilis");
var HMA = Sistem.HullMA(BarKapanis, PeriyotHMA);
var WMAH = Sistem.MA(BarYuksek,"Weighted", PeriyotWMAH);
var WMAL = Sistem.MA(BarDusuk,"Weighted", PeriyotWMAL);
Sistem.Cizgiler[0].Deger = HMA;
//Sistem.Cizgiler[1].Deger = WMAH;
Sistem.Cizgiler[2].Deger = WMAL;
var YON = "";
for (int i = 0; i<Sistem.BarSayisi; i++)
{
if (YON != "A")
{
if (BarKapanis[i] >= HMA[i] && BarYuksek[i] >= WMAH[i] && YON != "A")
{
if (BarKapanis[i] >= BarAcilis[i])
{
Sistem.Yon[i] = "A";
YON="A";
}
}
}
else if (YON != "S")
{
if (BarKapanis[i] < HMA[i] || (BarYuksek[i] < WMAH[i] && BarDusuk[i]< HMA[i]))
{
Sistem.Yon[i] = "S";
YON="S";
}
}
}
Bugün seans sırasında denedim, aldım sattım.
Anlık veri ve masaüstü uygulama olunca kuenbinin web tabanlı uygulamasından daha verimli oldu.
Masaüstü uygulama olmasına rağmen pencereleri monitörlere dağıtamıyorum ama.. eksikleri çok.
https://i.hizliresim.com/mlo2yc8.png
Dün gece sabaha kadar uğraştım.. ense köküme vurdu, ağrıyo.. Bu akşam erken yatıp bütün hafta sonu biraz uğraşayım kodlarla.
Pazartesi salı günü seans sırasında denemeler yaparım.. sonra bas bas paraları robota, bi daha mı gelecek.. gömsün paraları..
Kaç zamandır tatlı kaşığıyla biriktirdiğimi hanımın Ayaş domatesi kaynattığı o 20 litrelik aluminyum tencereyle geri verip duruyorum elalemin kodlarına.. çabalarım çok da işe yaramıyor yani.
Belki yeni robot kızım benden daha iyi sonuç alır.
https://i.hizliresim.com/ekxwdug.png
Hele ki bi harvesting yapan kodoğlusu var azrailin tırpanıyla dolaşıp duruyo hisseleri
https://i.hizliresim.com/a3iww17.png
https://i.hizliresim.com/a3562jn.png
Bist için
https://i.hizliresim.com/74bjvd2.png
yön tayini
https://i.hizliresim.com/4slrn35.png
yapılmadı henüz..
https://i.hizliresim.com/5slffjh.png
Benim için 275 USD stop elzem.
https://i.hizliresim.com/jaxxc7w.png
Yükselemiyor bir türlü.. YÜKSELMİYOR.
https://i.hizliresim.com/11zj7nz.png
Aşağı doğru gitmeye başlarsa; ki artık yavaş yavaş yukarıdaki 500 USD bölgesi hedefine inancım azalmaya başladı; nereye kadar gideceğini kestirmek.. şu an için erken.. gibi..
Başımı ağrıtacak, anladım.
Zamanında çok balonlar görüldü..
https://i.hizliresim.com/5q55ejg.png
Bu da bebelere balon..
https://i.hizliresim.com/qpe2cbm.pngPHP Code:
var Increment = 0.065; // Sistem.Parametreler[0];
var AccelerationFactor = 0.43; // = Sistem.Parametreler[1];
var SonYon = string.Empty;
var Sinyal = string.Empty;
var C = Sistem.GrafikFiyatSec("Kapanis");
var PSAR = Sistem.Parabolic(C, Increment, AccelerationFactor);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if (PSAR[i] > C[i]) Sinyal = "S";
if (PSAR[i] < C[i]) Sinyal = "A";
if (SonYon != "A" && Sinyal == "A")
{
Sistem.Yon[i] = "A";
SonYon = "A";
}
if (SonYon != "S" && Sinyal == "S")
{
Sistem.Yon[i] = "S";
SonYon = "S";
}
}
Sistem.Cizgiler[0].Deger = PSAR;
https://i.hizliresim.com/5csxi88.png
PHP Code:
var C = Sistem.GrafikFiyatSec("Kapanis");
var SonYon = string.Empty;
var Sinyal = string.Empty;
for (float AF = 0.05f; AF <= 1.0f; AF += 0.001f)
{
for (float INC = 0.001f; INC <= 0.5f; INC += 0.01f)
{
var PSAR = Sistem.Parabolic(C, INC, AF);
for (int i = 0; i < Sistem.BarSayisi; i++)
Sistem.Yon[i] = string.Empty;
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if (PSAR[i] > C[i]) Sinyal = "S";
if (PSAR[i] < C[i]) Sinyal = "A";
//YÖN KALIBI
if (SonYon != "A" && Sinyal == "A")
{
Sistem.Yon[i] = "A";
SonYon = "A";
}
if (SonYon != "S" && Sinyal == "S")
{
Sistem.Yon[i] = "S";
SonYon = "S";
}
}
Sistem.Optimizasyon("Acceleration Factor, Increment", AF, INC);
}
}
https://i.hizliresim.com/5t4jbri.png
https://i.hizliresim.com/s5io79w.png
Böyle hesaplanır..
Böyle kazandırır.PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
namespace INVENTOR_Analiz_CS
{
public class clsCalculate_PSar
{
// CurrentSAR = PriorSAR + Prior AF * ( PriorEP - PriorSAR)
List<clsBar> Barlar = new List<clsBar>();
int barID;
bool isUpTrend;
int upTrendStartBarID;
int downTrendStartBarID;
double priorAF;//Acceleration Factor
double priorEP;//Extreme Point
double priorSAR;
double maxOfInitialBars;
double minOfInitialBars;
int searchCount;
public void CalculatePSAR_PIVOT(int cloudId, strIndicatorPeriods_PSAR periods, List<clsBar> BARLAR)
{
enuGrafikDovizTipi DOVIZ = enuGrafikDovizTipi.GrafikDovizTipi_TL;
if (!App.BIST.boolShowTLGraph)
DOVIZ = enuGrafikDovizTipi.GrafikDovizTipi_USD;
List<clsBar> xBarlar = new List<clsBar>();
clsBar virtualBar = new clsBar(null)
{
};
xBarlar.Add(virtualBar);
for (int i = 0; i <= 2 * periods.SearchCount + 1; i++)
{
clsBar xbar = new clsBar(null)
{
GercekKapanis = BARLAR[i].GercekKapanis,
GercekAcilis = BARLAR[i].GercekAcilis
};
xbar.PSAR.ParSar = BARLAR[i].PSAR.ParSar;
xBarlar.Add(xbar);
}
double barOneRealClose = xBarlar[1].GercekKapanis;
double barOnePSarValue= xBarlar[1].PSAR.ParSar;
//Son gün kapanış değeri virtual bara ( 0 numaralı bar) aktarılıyor
//Eğer son gün kapanış >= açılış ise kapanış - 2 * PriceStep kadar aşağıdan kapanış ver
//Eğer son gün kapanış < açılış ise kapanış + 2 * PriceStep kadar aşağıdan kapanış ver
if (xBarlar[1].GercekKapanis >= xBarlar[1].GercekAcilis)
xBarlar[0].GercekKapanis = xBarlar[1].GercekKapanis - 2 * App.BIST.GraphTool.PriceStep(xBarlar[1].GercekKapanis, DOVIZ);
else
xBarlar[0].GercekKapanis = xBarlar[1].GercekKapanis + 2 * App.BIST.GraphTool.PriceStep(xBarlar[1].GercekKapanis, DOVIZ);
//Açılış değeri olarak son gün kapanış değerini kullan
xBarlar[0].GercekAcilis = xBarlar[1].GercekKapanis;
CalculatePSAR(periods, xBarlar, true, 1);
BARLAR[0].PSAR_Cloud[cloudId].VirtualNextDayPivotValue = xBarlar[0].PSAR.ParSar;
//YUKARIDAKİ İKİ SATIR PİVOT DEĞERİN HESAPLANMASI İÇİN YETERLİ
BARLAR[0].PSAR_Cloud[cloudId].VirtualNextDayPivotValue =
App.BIST.GraphTool.RegulatePriceToNearestPriceValue(BARLAR[0].PSAR_Cloud[cloudId].VirtualNextDayPivotValue, DOVIZ);
}
public void CalculatePSAR(strIndicatorPeriods_PSAR periods, List<clsBar> BARLAR, bool useTraderSettings, int customBarCountForCalculations = 0)
{
this.Barlar = BARLAR;
this.searchCount = periods.SearchCount;
if (Barlar.Count < this.searchCount) return;
if (customBarCountForCalculations == 0)
if (useTraderSettings)
customBarCountForCalculations = App.BIST.TradingGraph.BarCountForCalculations;
else
customBarCountForCalculations = App.BIST.IA_Constants.BarCountForCalculations;
barID = customBarCountForCalculations + periods.SearchCount;
if (Barlar.Count < barID) return;
//İlk searchCount adet bardaki en yüksek değer
maxOfInitialBars = getHIGHofOpenClose(barID, this.searchCount);
//İlk searchCount adet bardaki en düşük değer
minOfInitialBars = getLOWofOpenClose(barID, this.searchCount);
//ilk searchCount adet bardaki en yüksek ve en düşük değerlerin oluşturduğu yatay kanalın dışına çıkmış ilk barı tespit et
barID = getFirstBarIDForCalculation(barID);
int iterationBarCount = customBarCountForCalculations;
//if (useTraderSettings)
// iterationBarCount = App.BIST.TradingGraph.BarCountForCalculations;
//else
// iterationBarCount = App.BIST.IA_Constants.BarCountForCalculations;
if (Barlar[barID].GetPrice(enuUseForCalculation.RealHighOf_OpenClose) >= maxOfInitialBars)
{//UPTREND
for (int i = barID; i < iterationBarCount; i++)
Barlar[i].PSAR.ParSar = minOfInitialBars;
isUpTrend = true;
upTrendStartBarID = barID;
priorEP = maxOfInitialBars;
}
else if (Barlar[barID].GetPrice(enuUseForCalculation.RealLowOf_OpenClose) <= minOfInitialBars)
{//DOWNTREND
for (int i = barID; i < iterationBarCount; i++)
Barlar[i].PSAR.ParSar = maxOfInitialBars;
isUpTrend = false;
downTrendStartBarID = barID;
priorEP = minOfInitialBars;
}
else
{
return;
}
priorSAR = Barlar[barID].PSAR.ParSar;
priorAF = periods.Increment;
this.searchCount--;
while (barID > 0)
{
barID--;
double currentSAR = priorSAR + priorAF * (priorEP - priorSAR);
if (isUpTrend)
{
if (Barlar[barID].GetPrice(enuUseForCalculation.RealLowOf_OpenClose) >= currentSAR)
{
maxOfInitialBars = priorEP;
for (int i = barID; i <= upTrendStartBarID; i++)
maxOfInitialBars = Math.Max(maxOfInitialBars, Barlar[i].GetPrice(enuUseForCalculation.RealHighOf_OpenClose));
if (maxOfInitialBars > priorEP)
{
priorEP = maxOfInitialBars;
priorAF += periods.Increment;
if (priorAF > periods.AccelerationFactor)
priorAF = periods.AccelerationFactor;
}
}
else
{
priorAF = periods.Increment;
isUpTrend = false;
currentSAR = getHIGHofOpenClose(barID, searchCount);
priorEP = Barlar[barID].GetPrice(enuUseForCalculation.RealLowOf_OpenClose);
downTrendStartBarID = barID;
}
Barlar[barID].PSAR.ParSar = currentSAR;
priorSAR = currentSAR;
}
else
{
if (Barlar[barID].GetPrice(enuUseForCalculation.RealHighOf_OpenClose) <= currentSAR)
{
minOfInitialBars = priorEP;
for (int i = barID; i <= downTrendStartBarID; i++)
minOfInitialBars = Math.Min(minOfInitialBars, Barlar[i].GetPrice(enuUseForCalculation.RealLowOf_OpenClose));
if (minOfInitialBars < priorEP)
{
priorEP = minOfInitialBars;
priorAF += periods.Increment;
if (priorAF > periods.AccelerationFactor) priorAF = periods.AccelerationFactor;
}
}
else
{
priorAF = periods.Increment;
isUpTrend = true;
currentSAR = getLOWofOpenClose(barID, searchCount);
priorEP = Barlar[barID].GetPrice(enuUseForCalculation.RealHighOf_OpenClose);
upTrendStartBarID = barID;
}
Barlar[barID].PSAR.ParSar = currentSAR;
priorSAR = currentSAR;
}
}
}
private double getLOWofOpenClose(int barID, int pastBarsCount)
{
//barID numaralı bar ile birlikte
//geçmişteki pastBarsCount adet bar içindeki
//en düşük değeri döndürür.
double minOfBars;
minOfBars = Barlar[barID].GetPrice(enuUseForCalculation.RealLowOf_OpenClose);
for (int i = 1; i < pastBarsCount; i++)
minOfBars = Math.Min(minOfBars, Barlar[barID + i].GetPrice(enuUseForCalculation.RealLowOf_OpenClose));
return minOfBars;
}
private double getHIGHofOpenClose(int barID, int pastBarsCount)
{
//barID numaralı bar ile birlikte
//geçmişteki pastBarsCount adet bar içindeki
//en yüksek değeri döndürür.
double maxOfBars;
maxOfBars = Barlar[barID].GetPrice(enuUseForCalculation.RealHighOf_OpenClose);
for (int i = 1; i < pastBarsCount; i++)
maxOfBars = Math.Max(maxOfBars, Barlar[barID + i].GetPrice(enuUseForCalculation.RealHighOf_OpenClose));
return maxOfBars;
}
private int getFirstBarIDForCalculation(int _barID)
{//Recursive method
if(_barID == 0) return 0;
_barID--;
while (
Barlar[_barID].GetPrice(enuUseForCalculation.RealHighOf_OpenClose) < maxOfInitialBars
&
Barlar[_barID].GetPrice(enuUseForCalculation.RealLowOf_OpenClose) > minOfInitialBars
)
{
_barID--;
if (_barID == 0) return 0;
}
if (
Barlar[_barID].GetPrice(enuUseForCalculation.RealLowOf_OpenClose) > maxOfInitialBars
&
Barlar[_barID].GetPrice(enuUseForCalculation.RealLowOf_OpenClose) < minOfInitialBars
)
{
// bar.YUKSEK > maxof ve bar.DUSUK < minof olması durumunda değerleri güncelle
searchCount++;
maxOfInitialBars = getHIGHofOpenClose(_barID, searchCount);
minOfInitialBars = getLOWofOpenClose(_barID, searchCount);
_barID = getFirstBarIDForCalculation(_barID);
}
return _barID;
}
}
}
https://i.hizliresim.com/r0omnex.png
https://i.hizliresim.com/qdchz6y.png
Anlayan anlar.
PHP Code:
private void btnPerformPSAR_Click(object sender, RoutedEventArgs e)
{
double ratio=App.BIST.TradingGraph.GunlukBarlar[0].GercekKapanis / App.BIST.TradingGraph.GunlukBarlar[520].GercekKapanis;
var retStr = System.Windows.MessageBox.Show("Oran 520 -> 0 : " + Math.Round(ratio * 100, 0) + " Hesaplama uzun sürecek. Devam etmek?", "Onay", MessageBoxButton.YesNo);
if (retStr != MessageBoxResult.Yes)
{
return;
}
PSarSonuclari tabloSatirlari = new PSarSonuclari();
int id = 1;
int daysCountForPerformanceTest = 520;
//using (System.IO.StreamWriter file = new System.IO.StreamWriter(App.BIST.Klasor_INVENTOR_Sinyaller + "\\PSAR Performance.txt", false))
//{
//file.WriteLine("PSAR AL-SAT Hesabı : Son " + daysCountForPerformanceTest.ToString() + " günde 100 birim para kaç birim oldu ");
for (int search_count = 2; search_count <= 49; search_count++) //Minimum="2" Maximum="50" SmallChange="1"
{
int PSar_SearchCount = Convert.ToInt16(search_count);
//GÜNCELLEME ACCELERATION FACTOR DEĞERİ INIMUM 0.05 OLACAK ŞEKİLDE HESAPLAMA YAPILACAK
for (int acceleration_factor = 5; acceleration_factor <= 50; acceleration_factor++) //Minimum="0.05" OLACAK Maximum="0.50" SmallChange="0.01"
{
double PSar_AccelerationFactor = Math.Round((double)acceleration_factor / 100, 2);
for (int increment = 1; increment <= 200; increment++) // Minimum = "0.001" Maximum = "0.2" SmallChange = "0.001"
{
double PSar_Increment = Math.Round((double)increment / 1000, 3);
App.BIST.TradingGraph.Menkul.ResetPSAR_Period(PSar_AccelerationFactor, PSar_Increment, PSar_SearchCount);
clsCalculate_PSar pSar = new clsCalculate_PSar();
pSar.CalculatePSAR(App.BIST.TradingGraph.Menkul.indicatorPeriods.PSAR, App.BIST.TradingGraph.GunlukBarlar, true, daysCountForPerformanceTest);
//file.WriteLine("____________________________________________________________________________________________________");
//file.WriteLine("SearchCount:" + PSar_SearchCount.ToString() + " / " + "AccelerationFactor:" + PSar_AccelerationFactor.ToString() + " / " + "Increment:" + PSar_Increment.ToString());
//string methodOutput = AlSat_Performans_Hesapla_PSAR(hesaplanacakGunSayisi: daysCountForPerformanceTest);
//file.WriteLine(methodOutput);
//file.WriteLine("********");
int islemSayisi = 0;
double gainLoss = AlSat_Performans_Hesapla_PSAR(hesaplanacakGunSayisi: daysCountForPerformanceTest, ref islemSayisi);
PSarSonucu psonuc = new PSarSonucu
{
ID = id,
PSar_SearchCount = PSar_SearchCount,
PSar_Increment = PSar_Increment,
PSar_AccelerationFactor = PSar_AccelerationFactor,
GainWeight = Math.Round(gainLoss, 1),
islemSayisi = islemSayisi
};
id++;
tabloSatirlari.Add(psonuc);
//Console.WriteLine(id.ToString());
}
//Console.WriteLine(id.ToString());
}
Console.WriteLine(id.ToString());
}
//}
clsExportToExcel<PSarSonucu, PSarSonuclari> Tablo = new clsExportToExcel<PSarSonucu, PSarSonuclari>
{
dataToPrint = tabloSatirlari
};
Tablo.GenerateReport();
System.Windows.MessageBox.Show("Tamamlandı");
}
PHP Code:
private double AlSat_Performans_Hesapla_PSAR(int hesaplanacakGunSayisi, ref int _alisIslemiSayisi)
{
int alisIslemiSayisi = 0;
int satisIslemiSayisi = 0;
double birikmisPara = 100.0;
bool boolPozisyonda = false;
double lotBakiyesi = 0.0;
int hesaplamayaBaslanacakBarNumarasi = 0;
for (int i = hesaplamayaBaslanacakBarNumarasi + hesaplanacakGunSayisi; i >= hesaplamayaBaslanacakBarNumarasi; i--)
{
if (boolPozisyonda)
{
//pozisyonda: PSAR altında kapanış olduysa SAT
if (App.BIST.TradingGraph.GunlukBarlar[i].GercekKapanis < App.BIST.TradingGraph.GunlukBarlar[i].PSAR.ParSar)
{
birikmisPara = lotBakiyesi * App.BIST.TradingGraph.GunlukBarlar[i].GercekKapanis;
lotBakiyesi = 0;
satisIslemiSayisi++;
boolPozisyonda = false;
}
}
else
{
//pozisyonda değil: PSAR üzerinde kapanış olduysa AL
if (App.BIST.TradingGraph.GunlukBarlar[i].GercekKapanis >= App.BIST.TradingGraph.GunlukBarlar[i].PSAR.ParSar)
{
lotBakiyesi = birikmisPara / App.BIST.TradingGraph.GunlukBarlar[i].GercekKapanis;
birikmisPara = 0.0;
alisIslemiSayisi++;
boolPozisyonda = true;
}
}
}
//Son gün lotları paraya çevir
if (boolPozisyonda)
{
birikmisPara = lotBakiyesi * App.BIST.TradingGraph.GunlukBarlar[0].GercekKapanis;
satisIslemiSayisi++;
}
//return (birikmisPara.ToString("0") + " birim oldu. " + "Alış işlemi sayısı: " + alisIslemiSayisi);
_alisIslemiSayisi = alisIslemiSayisi;
return birikmisPara;
}
https://i.hizliresim.com/gbmo9hh.png
80 adet farklı lokasyonda bulunan; PEAK kazanç değeri gösteren; PSAR hesaplaması sonucu ağırlıklara göre AL-SAT sinyali üreten mızraklar. !!
Her bir satır için 480.000, hesaplama yapıldı..
Seksen satır x dört yüz seksen bin :oleyo: bir mızrağa karşılık geliyor.
Hindistan'da balon satışları yerlerdeymiş.. :one: git orada sat bakalım satabilecek misin?
https://i.hizliresim.com/9mn4ghp.png
PHP Code:
public static class Sistem
{
public static void Optimizasyon(string s, int param1, int param2, int param3)
{ }
public static List<float> GrafikFiyatSec(string s) { return null; }
public static List<float> HullMA(object Liste, int Periyot) { return null; }
public static List<float> MA(object Liste, string Tip, int Periyot) { return null; }
public static int BarSayisi = 0;
public static string[] Yon = new string[] {"A","S","F" };
//İhtiyaç duyulan diğer kodlar eklenebilir
}
https://i.hizliresim.com/o2oj6bk.png
İşlemleri yaptığım kurumun ROBOT anlaşması yokmuş.. iyi mi. :(
Sorgu penceresine en fazla 46 sütun eklenebiliyor.. statik bir yapı. Kodların üst yapısında olduğu kadar kademelerde de sıkıntı.. :28:
https://i.hizliresim.com/ew5kfqx.png
https://i.hizliresim.com/btuq7rk.png
https://i.hizliresim.com/n312p5o.png
280 VE ÜZERİNE ATARSA.. benim eski Kara Kedi :cool: gibi rampada mersedesle kapışır.. gibi.. :ok: zor bir geçiş döneminde.. olacak mı olamayacak mı göreceğim..
Sayın dostum selam, ekrandaki tablo idealin, ama sorguların içeriği, veri ile içinin doldurup süslenmesi işi bana ait.
Aleyküm Selam;
İçini doldurma derken herhangi bir platformdan (MetaStock ya da Matriks) formül aktarılabiliyor o zaman? Yani formül dili çevrilebilirse? Ben MetaStock kullanıcısıyım ama İdealin dilini bilmiyorum. Tavsiye eder misiniz? Metastock'ta yapamadığım şeyleri yapabilir miyim diye merak edip sordum Sayın INVERTOR?
Ben de yıllardım kendi yazdığım uygulamayı kullanıyordum.
Metastock, Matriks.. ve 3 gün öncesine kadar ideali hiç kullanmadım.
iDeal C# dilini kullanıyor. Global bir kodlama dili.
Anlık veriye ulaşabilmek adına ilk defa bu ayın ilk günü bir aylık lisans aldım, genel olarak beğendim. İşimi görecek. :ok:
Matriks ve Metastock kendi script tipini kullanıyor her halde..
Kodları direk aktarmak mümkün olmayacaktır. Belki de gerek olmayacak, kaynak çok, dediğim gibi global bir dil C#
iDealin kütüphanesi de; bence; yeterli. Reklam olmasın fazla. :)
Hocam zaten kendi programınız olduğu halde ideal kullanmak istemeniz dikkatimi çekti o yüzden sordum. Teşekkür ederim. Programcı değilim ama bir bilene sorarım artık. Eğer ekrandaki sorgulamaları 60 saniyede bir yeniliyorsa bence büyük iş. MetaStock off-line versiyon kullanıyorum. Anlık veri aldım ancak anlık verinin yüklenmesi artı tarama süresi benim tespitimde gecikme oluşturuyor, fırsat kaçırıyorum. Denedikten sonra yine görüşünüzü almak isterim, memnun kalırsanız yine haberleşelim sizin için uygun olursa.
Kolay gelsin hocam :ok:
Hızlı çalışan bir dil C# ve bilgisayarın kaynaklarını kullanma konusunda iyi.
Tüm 100 endeks için; belirlediğim 16 adet indikatör + osilatörün 500 barda Gün ve 120 periyot için hesaplanması; 8-10 saniye sürüyor. Güncelleme süresini azaltabilirsiniz kutuya mesela 15 yazarsınız, sorgunuzun uzunluğuna bağlı olarak süre daha da kısalabilir..
Şu an için; bazı kullanım zorlukları olsa da; memnunum. Ama C# diline aşina olmayı gerektiriyor.
Amacım kendi uygulamam anlık veriyi entegre etmekti ama iDeal bende kalıcı olacak sanırım.
Hazır kod ve kalıpla var uygulama içinde, kullanılabilir şeyler. İşin içine Robot ve Algo da girerse zaten her şeyi otomatik hale getirmek mümkün.. fakat kodlama içine hakim olmak elzem.
Rica ederim. İyi geceler.
Gitti.. gibi..
https://i.hizliresim.com/i4c88ib.png
https://i.hizliresim.com/5iktjgf.png
:Sad:
:) Bi kedi gördüm sanki..
https://i.hizliresim.com/kcskzf0.png
:( Kedidir kedi..
Bakalım kedi miymiş, kedi mi?
:oleyo:
https://i.hizliresim.com/560kub8.png
Kediymiş.. ti..
:ok:
Endeksin bugün hareketi sanki mal satışıydı.. Yarın belli olacak.. gibi.
Kapanış: 7979 (275,9 USD) Yarın: 8030 TL (Yaklaşık 277,5 USD) üzerine çıkıp geri gelmezse yukarı yöne devam.. gibi.
Aşağı giderse mokoko kapısı açılabilir.. gibi..
https://i.hizliresim.com/pzs9in5.png
https://i.hizliresim.com/p1zfg1x.png
Yani.. fare - kedi - köpek.. Tom ve Jerry gibi..
https://www.sozcu.com.tr/moody-s-tur...stirmedi-p8936
moody-s-turkiye-nin-notunu-degistirmedi
Muuu diyis
https://i.hizliresim.com/4gns5w1.png
I'v bees in my mind.. ; bees and honey
https://i.hizliresim.com/ccqdkqh.png
Şöyle bi güzellik.. :cck:
Kertilen kele.. bu sene de böyle bittii... :ok: zarar büyük. :wave: Rahatlık da öyle.
https://i.hizliresim.com/t59xgis.png
Hep grafik olacak değil, biraz da genel kültür.
https://tweet.monster/books/tr/M/Mil...fli%C4%9Fi.pdf
https://i.hizliresim.com/p1sy9ka.png