Originally Posted by
Orhan AKDOĞAN
Seviyeli bir sistemde 1 lotla oynansa dahi tarif ettiğiniz şey güvenli şekilde kolay aslında.
yapılan şey doğrumu yanlış mı strateji ve miktara göre değişir bu ayrı konu.
yön kalıbında if içerisinde kontrol edilen değerden kayma çıkarılarak kontrol edilir.
sistem.seviye ise stratejide belirlenen seviye olur.
Yani aynı iş, işlemlerle sinyallerin senkron olması garanti altına alınarak da yapılabilir.
Alternatif olarak dosyaya yakılan sinyal yine kodla yazılabilir ve stratejinin bunu okuması sağlanabilir.
D:\Burn.Txt
PHP Code:
09.11.2018 12:00;A;119,550
09.11.2018 12:47;S;119,250
Sinyalleri dosyadan Okuyan Sistem
PHP Code:
//Veriler
var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
var O = Sistem.GrafikFiyatOku(V, "Açılış" ) ;
//Değişkenler
var ManuelYon = new Dictionary< string, string>();
var ManuelSeviye = new Dictionary< string, float>();
//İndikatörler
var HH = Sistem.HHV(90, "Yuksek");
var LL = Sistem.LLV(90, "Dusuk");
var MAC= Sistem.MA(C, "Simple", 1440);
var MAO = Sistem.MA(O, "Simple", 1440);
//Manuel Sinyalleri Dictionary'e ekle
//"TarihSaat;Yön;OrtalamaGerceklesenFiyat" formatında içeriğe sahip dosyadan manuel sinyalleri okur.
var DosyaIcerigi = File.ReadAllLines("D:\\Burn.txt");
for (int i = 0; i < DosyaIcerigi.Length; i++)
{
ManuelYon[DosyaIcerigi[i].Split(';')[0]] = DosyaIcerigi[i].Split(';')[1];
ManuelSeviye[DosyaIcerigi[i].Split(';')[0]] = float.Parse(DosyaIcerigi[i].Split(';')[2]);
}
// Sistem.Mesaj(ManuelYon["09.11.2018 12:18"]);
//Strateji
var SonYon = "";
for (int i = 100; i < V.Count; i++)
{
string manuelyon="" ;
if (ManuelYon.TryGetValue( V[i].Date.ToString("dd.MM.yyyy HH:mm") , out manuelyon ))
{
if ( SonYon != manuelyon )
{
Sistem.Yon[i] = manuelyon ;
SonYon = manuelyon;
Sistem.Seviye[i]=ManuelSeviye[V[i].Date.ToString("dd.MM.yyyy HH:mm") ];
Sistem.YaziEkle("M", 1, i, V[i].Low, Color.Green, "Tahoma", 12);
}
}
else if ( SonYon != "A" && MAO[i]< MAC[i] && C[i] > HH[i-1] ) { Sistem.Yon[i] = "A"; SonYon = Sistem.Yon[i]; }
else if ( SonYon != "S" && MAO[i]> MAC[i] && C[i] < LL[i-1] ) { Sistem.Yon[i] = "S"; SonYon = Sistem.Yon[i]; }
}
//Çizgiler
Sistem.Cizgiler[6].Deger = MAC; //Panel 1
Sistem.Cizgiler[7].Deger = MAO ; //Panel 1
Yer İmleri