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.
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];
}
}
Aşağıdaki ise buna ait Optimizasyon Sistemidir.
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-----------------------------------------------------------------------------------------
Yer İmleri