bende de işe yaramıyor. ama zaten her sistemde işe yaraması gerekmiyor :)
sadece erhan beyin yaklaşımını örneklendirmek için paylaşıyorum bunu.
daha fazla money management tartışmak lazım.
Printable View
Para yönetimi çok önemli bir husus.
ve bence üzerinde en cok durumlası gerken şey.
nasılkı sıstemlerımız endeks getirisinin üzerinde yaratabilioysak
para yönetimiyle ilgili yazacagımız modeller getirilerimizi inanılmaz arttırıcı etkiler yaratacaktır sadece 1 kaldıraç değişiklik bile çok farklar açıyor.
en basitinden longa farklı şorta farklı bır kaldıraç üzerinden ilerlemek.
mesela şöyle birşey modellenebılırmı ideal üzerinde.
bir adet ma koyalım grafiğe 200 300 luk yada 500 luk bu manın altında ıken açılan şortlar 2 lot üzerinde. longlar 1 lot uzerınden hesaplansın.
üstündeykende longlara 2 şortlara 1 lot verelım.
getirimiz ne çıkardı
farklı yazılımlarda Performans kriterleri Long ve short bazında ayrı ayrı görülebiliyor. kodla yapmasıda kolay ama önce idealden performans ekranına eklemeler rica etmek daha iyi olurdu. aslında farklı çıkan değerler ya piyasanın yönelimi ile yada sizin o piyasa türünde iyi/kötü kodlamızla ilgili olacak. bundan dolayı short/longa göre kaldıraç yapmak yerine kodun hangisinde neden başarısız olduğunu irdelemek daha doğru olurdu.
Orhan Hocam; paylaşımlarınız için teşekkürler,sizden rica etsem Açıklama- Panel-Stil ve no kısımlarına düzgün yerleştiremedim sanırım hata verip açolmadı görüntü.Bu kısım ile ilgili doldurulmuş görsel paylaşırsanız sevinirim.Ya da diğer arkadaşlar Sn. Erhan Bey VE diğer arkadaşlarda yardımcı olabilirler.Sağolun şimdiden...
sifir bir sistem olarak kaydedip çalıştırdığınızda hata veriyorsa 2 nedeni olabilir sadece.
1-ayarlar blokundaki sistem adı hatalı yazılmıştır.
2- ayarlar blokundaki yazılan sistemin içerisinde getirihesapla kullanılmamıştır.
çizgiler görünmüyorsa ilk 2 cizginin checkini işaretlemek yeterli olur.
Arkadaşlar, lot arttırmalı sistemden bahsetmişsiniz. Bunu sisteme göre performansını görebilir miyim ? elinde kodu olan var mı ?
FxSnipper ile Trend Maskesi
bununla güçlü trendlerde sistemlerin saçmalama oranını düşürmeyi amaçladık.
işlem ve puanlarınızı ne derece etkileyecek bakalım.
benzer bir yöntem ise sistemlerim de olmamasına rağmen bende işe yaramadı yine.
özelden gelen talep üzerine yazılmıştır.
denememi şuradaki sistem ile 1 dk için yaptım.
http://www.directfn.com.tr/sistemler...MA_TRIX_SD.001
1 dk kullanmıyorsanız uygun değerleri girmeli yada ikinci sistem ile optimize yapmayı denemelisiniz.
Aşağıdaki ise buna ait Optimizasyon Sistemidir.PHP Code:
//Ayarlar
bool MaskeVar = false; // false ise sizin sistem, true ise Güçlü Trend Yönü
var GrafikSistemAd="SYS_TOMA_TRIX_SD"; // Sisteminizin adını yazın.
//1 DK Ayarları
var Periyot1 = 210; // FXSnipper Periyodu.
var Periyot2 = 20; // FXSnipper Periyodu.
var Fark= 40; // FXSnipper > Değeri
//Veriler
var V = Sistem.GrafikVerileri;
var O = Sistem.GrafikFiyatSec("Açılış");
//Sistem Getir
var GrafikSistem = Sistem.SistemGetir(GrafikSistemAd, Sistem.Sembol, Sistem.Periyot);
var Yonler = GrafikSistem.Yon;
var Seviyeler = GrafikSistem.Seviye;
//Değişkenler
string SonYon="F";
string GercekSonYon="";
bool AksamFlatIslemde=false;
var MaskeList = Sistem.Liste(0);
var Maske = 0;
var MaskeYon = "F";
//Indikatörler
var FX = Sistem.FxSniper(Periyot1 , Periyot2 );
//Maske Listesi
for (int i = 1; i < V.Count; i++)
{
if ( FX[i-1] >= Fark ) Maske = 1; // Güçlü AL
else if ( FX[i-1] <= Fark*-1 ) Maske = -1; // Güçlü SAT
else Maske = 0;
MaskeList[i] = Maske ;
}
//Çizgiler
Sistem.Cizgiler[0].Deger = FX ;
Sistem.Cizgiler[0].Panel = 2;
Sistem.Cizgiler[0].ActiveBool = true;
Sistem.Cizgiler[0].Aciklama="FX";
var RenkListesi = new List<Color>();
for (int i = 0; i < V.Count; i++) RenkListesi.Add(Color.Gray);
for (int i = 0; i < V.Count; i++)
{
if (MaskeList[i] == 0) RenkListesi[i] = Color.Yellow;
else if (MaskeList[i] == 1) RenkListesi[i] = Color.Green;
else if (MaskeList[i] == -1) RenkListesi[i] = Color.Red;
}
Sistem.Cizgiler[0].RenkListesi = RenkListesi;
//Yön Kalıbı
for (int i = 1 ; i < Yonler.Count; i++)
{
if(MaskeVar ) MaskeYon = (MaskeList[i]==0 ? "F": (MaskeList[i]==1 ? "A":"S") );
//Sistemde Yön var ise GercekSonYon'e ata.
if( Yonler[i] != "") GercekSonYon=Yonler[i];
//Maske aktif ise ve Flat saati içerisinde ise
if ( MaskeVar && MaskeYon!="F" && MaskeYon != SonYon )
{
SonYon = MaskeYon;
Sistem.Yon[i] = MaskeYon;
}
//Gerçek Sinyal: SonYon ile GercekSonYon aynı değil ise
else if( MaskeYon=="F" && SonYon != GercekSonYon )
{
SonYon = GercekSonYon;
Sistem.Yon[i] = GercekSonYon;
if(Seviyeler[i]!=null) Sistem.Seviye[i] = Seviyeler[i];
}
}
S menüsünden -> Optimizasyon ile açıp periyodunuzu seçerek
kendi periyodunuz ve Sisteminize göre optimize edebilirsiniz.
optimize değer aralıkalırınızı periyoda göre olası aralığa çekerseniz daha kısa sürecektir.
PHP Code:
//Ayarlar
bool MaskeVar = true; // false ise sizin sistem, true ise Güçlü Trend Yönü
var GrafikSistemAd="SYS_TOMA_TRIX_SD"; // Sisteminizin adını yazın.
//Veriler
var V = Sistem.GrafikVerileri;
var O = Sistem.GrafikFiyatSec("Açılış");
//Sistem Getir
var GrafikSistem = Sistem.SistemGetir(GrafikSistemAd, Sistem.Sembol, Sistem.Periyot);
var Yonler = GrafikSistem.Yon;
var Seviyeler = GrafikSistem.Seviye;
//Optimizasyon-----------------------------------------------------------------------------------------
for (int p1 = 600; p1 > 1; p1-=10) {
for (int p2 = 600; p2 > 1; p2-=10) {
for (int p3 = 50; p3 > 1; p3-=10) {
//1 DK Ayarları
var Periyot1 = p1; // FXSnipper Periyodu.
var Periyot2 = p2; // FXSnipper Periyodu.
var Fark= p3; // FXSnipper > Değeri
//Optimizasyon-----------------------------------------------------------------------------------------
//Değişkenler
string SonYon="F";
string GercekSonYon="";
bool AksamFlatIslemde=false;
var MaskeList = Sistem.Liste(0);
var Maske = 0;
var MaskeYon = "F";
//Indikatörler
var FX = Sistem.FxSniper(Periyot1 , Periyot2 );
//Maske Listesi
for (int i = 1; i < V.Count; i++)
{
if ( FX[i-1] >= Fark ) Maske = 1; // Güçlü AL
else if ( FX[i-1] <= Fark*-1 ) Maske = -1; // Güçlü SAT
else Maske = 0;
MaskeList[i] = Maske ;
}
//Çizgiler
Sistem.Cizgiler[0].Deger = FX ;
Sistem.Cizgiler[0].Panel = 2;
Sistem.Cizgiler[0].ActiveBool = true;
Sistem.Cizgiler[0].Aciklama="FX";
var RenkListesi = new List<Color>();
for (int i = 0; i < V.Count; i++) RenkListesi.Add(Color.Gray);
for (int i = 0; i < V.Count; i++)
{
if (MaskeList[i] == 0) RenkListesi[i] = Color.Yellow;
else if (MaskeList[i] == 1) RenkListesi[i] = Color.Green;
else if (MaskeList[i] == -1) RenkListesi[i] = Color.Red;
}
Sistem.Cizgiler[0].RenkListesi = RenkListesi;
//Optimizasyon-----------------------------------------------------------------------------------------
for (int i = 0; i < V.Count; i++) Sistem.Yon[i] = "";
//Optimizasyon-----------------------------------------------------------------------------------------
//Yön Kalıbı
for (int i = 1 ; i < Yonler.Count; i++)
{
if(MaskeVar ) MaskeYon = (MaskeList[i]==0 ? "F": (MaskeList[i]==1 ? "A":"S") );
//Sistemde Yön var ise GercekSonYon'e ata.
if( Yonler[i] != "") GercekSonYon=Yonler[i];
//Maske aktif ise ve Flat saati içerisinde ise
if ( MaskeVar && MaskeYon!="F" && MaskeYon != SonYon )
{
SonYon = MaskeYon;
Sistem.Yon[i] = MaskeYon;
}
//Gerçek Sinyal: SonYon ile GercekSonYon aynı değil ise
else if( MaskeYon=="F" && SonYon != GercekSonYon )
{
SonYon = GercekSonYon;
Sistem.Yon[i] = GercekSonYon;
if(Seviyeler[i]!=null) Sistem.Seviye[i] = Seviyeler[i];
}
}
//Optimizasyon-----------------------------------------------------------------------------------------
Sistem.Optimizasyon(p1,p2,p3);
}
}
}
//Optimizasyon-----------------------------------------------------------------------------------------