Selamlar idealde 3 gunluk 9 gunlugu kirinca alsin 9 3 u kirinca satsin boyle bir formulu nasil yapabilirim saygilar
SM-A505F cihazımdan hisse.net mobile app kullanarak gönderildi.
Printable View
Selamlar idealde 3 gunluk 9 gunlugu kirinca alsin 9 3 u kirinca satsin boyle bir formulu nasil yapabilirim saygilar
SM-A505F cihazımdan hisse.net mobile app kullanarak gönderildi.
// kapanış fiyatlarını oku
var Veriler = Sistem.GrafikFiyatSec("Kapanis");
// hareketli ortalamaları hesapla
var MA1 = Sistem.MA(Veriler, “Simpleâ€, 3);
var MA2 = Sistem.MA(Veriler, “Simpleâ€, 9);
// hesaplanan verileri çizgilere aktar ve açıklama ekle
Sistem.Cizgiler[0].Deger = MA1;
Sistem.Cizgiler[0].Aciklama = "MA1";
Sistem.Cizgiler[1].Deger = MA2;
Sistem.Cizgiler[1].Aciklama = "MA2";
// strateji
Sistem.KesismeTara(MA1, MA2);
Herkese Selamlar ,
Yeni bir idealgo kullanıcısıyım , ayrı bir yardım başlığı olmadığı için direkt buraya yazıyorum.
Getiri kayma eğrisindeki değeri ortalama olarak 1 kademe+komisyon şeklinde girmek yaklaşık doğru bir sonuc verir mi getiri eğrisinde ?
örnek pegasus için = 0.05 + komisyon
xu30 için = 0.25+komisyon
thyao için =0.01+komisyon şeklinde
Yardımlarınız için teşekkürler.
Selamlar.
Birden fazla işlevi olan bir robot yapmak istiyordum form kısmından da kullanıcı seçimler yapabilsin istiyorum .Form kısmını açmayı başardım işlevsellikte biraz sıkıntı var. Sezai beyin yazdığına göre çok ileri C# bilgisi istiyormuş şimdilik erteledim form açtırmadan parametreler kısmını kullanarak gerçekleştirilecek işlemler.
Merhabalar;
iki ayrı şartın birlikte gerçekleşmesi durumunda al ve sat sinyalleri ürettirmeyi başaramadım. Örneğin rsi ağırlıklı 10 günlük basit ortalamasını bir önceki barda keserse al dedirtebiliyorum veya hacim kendi basit ortalamasını 10 günlükte kesiyorsa al dedirtebiliyorum ancak aynı anda bu iki koşulu sağladığında al veya sat sinyalleri üretemedim grafik üzerinde. Bunu nasıl yazabilirim acaba.
istediğinizin benzeri bir sistem ve robot bir arada.
PHP Code:
// ROBOTU ÖNCE SANAL MODDA TEST EDİN !!!
// verileri oku
var Sembol = Sistem.Sembol;
var Periyot = "5";
var Bars = Sistem.GrafikVerileriniOku(Sembol, Periyot);
var Kapanislar = Sistem.GrafikFiyatOku(Bars, "Kapanis");
// indikatör hesapla
var KisaMA = Sistem.MA(Kapanislar, "Simple",5);
var UzunMA = Sistem.MA(Kapanislar, "Simple",22);
var RSI = Sistem.RSI(Kapanislar, 50);
// pozisyon tablosundan pozisyon miktarını al
var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);
// yön bul
var SonBarNo = Bars.Count - 1;
var Islem = "";
var Miktar = 0;
var SonFiyat = Sistem.SonFiyat(Sembol);
if (SonFiyat > 0 && (Sistem.SaatAraligi("09:10", "12:30") || Sistem.SaatAraligi("13:50", "17:45")))
{
var SartAl1 = KisaMA[SonBarNo] < UzunMA[SonBarNo-1] && KisaMA[SonBarNo] >= UzunMA[SonBarNo-1]; // kısa MA uzun MA yı yukarı kestiyse
var SartAl2 = RSI[SonBarNo] < 40; // RSI 40 ın altındaysa
var SartSat1 = KisaMA[SonBarNo] > UzunMA[SonBarNo-1] && KisaMA[SonBarNo] <= UzunMA[SonBarNo-1]; // kısa MA uzun MA yı aşağı kestiyse
var SartSat2 = RSI[SonBarNo] > 60; // RSI 60 ın üstündeyse
if (SartAl1 && SartAl2 && Pozisyon <= 0) // alış
{
Islem = "ALIS";
if (Pozisyon == 0) // pozisyonum yoksa 1 lot al
Miktar = 1;
else if (Pozisyon < 0) // short isem stop and reverse , 2 lot al
Miktar = 2;
}
else if (SartSat1 && SartSat2 && Pozisyon >= 0) // satış
{
Islem = "SATIS";
if (Pozisyon == 0) // pozisyonum yoksa 1 lot sat
Miktar = 1;
else if (Pozisyon > 0) // long isem stop and reverse , 2 lot sat
Miktar = 2;
}
}
// emri gönder
if (Islem != "")
{
if (Islem == "ALIS")
Sistem.PozisyonKontrolGuncelle(Sembol, Pozisyon+Miktar);
else if (Islem == "SATIS")
Sistem.PozisyonKontrolGuncelle(Sembol, Pozisyon-Miktar);
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Islem;
Sistem.EmirMiktari = Miktar;
Sistem.EmirSuresi = "GUN"; // GUN, SNS, IKG
Sistem.EmirTipi = "KPY"; // KPY, KIE, GIE, SAR
Sistem.EmirFiyatTipi = "PYS"; // PYS, LMT, EIF, KAP
Sistem.EmirGonder();
}
aşağıdaki gibi bir kod yazdım ama sürekli c:\Users\smisir\AppData\Local\Temp\fd11ecds.0.cs(4 4,116) : error CS1026: ) bekleniyor hatası alıyorum.
var SonYon = "";
for (int i = 1 ; i < Sistem.BarSayisi; i++)
{
var Alis = (RSI[i] > AVR[i] && Hacim[i] > Hacimavr[i] && EMA[i] > TOMA[i];
IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(1.5, i);
if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = C[i];
KARAL[i] = Sistem.KarAlYuzde(1.5, i);
if (KARAL[i] == 0) KARAL[i] = C[i];
if (Alis && SonYon != "A")// alış
{
Fiyat[i] = C[i];
SonYon = "A";
Sistem.Yon[i] = "A";
}
if ((C[i] < IZLEYENSTOP[i] || C[i] > KARAL[i] || C[i] <= Fiyat[i]*0.985f) && SonYon == "A") // alıştan flate
{
SonYon = "F";
Sistem.Yon[i] = "F";
}
}