Originally Posted by
Santi78
Selam arkadaşlar,
Sırf öğrenme amaçlı aşağıdaki gibi yazıp denemek istedim ama robot çalışıyor gibi ama ne alım nede satım yapıyor nede bir hata veriyor?
Nerde hata yapıyorum?
var SistemAdi = "ROBOYKTOMA10adx";
var MySistem = Sistem.SistemGetir("SistemAdi", Sembol , "1");
if (MySistem == null)
{
Sistem.Mesaj(Sistem.Name + "Hatalı Çalışıyor !");
}
else
{
var Veriler = Sistem.GrafikVerileriniOku(Sembol , "1");
var ADX = Sistem.ADX(Veriler, 10);
var Kapanıslar1 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
var Kapanıslar2 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
var Kapanıslar3 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
// hareketli ortalamaları hesapla
var MA1 = Sistem.MA(Kapanislar1, "Exp", 3);
var MA2 = Sistem.MA(Kapanislar2, "Exp", 10);
var MA3 = Sistem.MA(Kapanislar3, "Exp", 10);
var SonYon = "";
// pozisyon tablosundan pozisyon miktarını al
var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);
// strateji
for (int i = 1; i<Sistem.BarSayisi; i++)
{
if (MA1[i-1] < MA3[i-1] && MA1[i] > MA3[i] && SonYon != "A" && ADX[i] > 20) // 1.ortalama 2.ortalamanın üstüne çıkarsa
Sistem.Yon[i] = SonYon = "A"; // alış
{
if (Pozisyon == 0)
{
var Miktar = 1;
Sistem.PozisyonKontrolGuncelle(Sembol, Miktar);
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = "Alış";
Sistem.EmirMiktari = Miktar;
Sistem.EmirFiyati = "Aktif";
Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
Sistem.EmirGonder();
}
}
// satış
if (MA1[i-1] > MA2[i-1] && MA1[i] < MA2[i] && SonYon != "S") // 1.ortalama 2.ortalamanın altına inerse
Sistem.Yon[i] = SonYon = "S"; // satış
{
if (Pozisyon > 0)
{
var Miktar = Pozisyon;
Sistem.PozisyonKontrolGuncelle(Sembol, 0);
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = "Satış";
Sistem.EmirMiktari = Miktar;
Sistem.EmirFiyati = "Aktif";
Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN)
Sistem.EmirGonder();
}
}
}
}
Sistem.Cizgiler[0].Deger = MA1;
Sistem.Cizgiler[1].Deger = MA2;
Sistem.Cizgiler[2].Deger = MA3;