Sayfa 237/592 İlkİlk ... 137187227235236237238239247287337 ... SonSon
Arama sonucu : 4734 madde; 1,889 - 1,896 arası.

Konu: İDEAL veri terminalinde /Sistem/İndikatör/Robot

  1. #1889
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,622
     Alıntı Originally Posted by 4Göktürk Yazıyı Oku
    ___
    Tomada %2 düştüğü anda stop koymak istiyorum ama çalıştıramadım yardımcı olabilir misin ? Stop canlı barda mı stop oluyor bide bunu ögrenmek istiyorum. Teşekkür ederim.
    izleyen stop kullanma örneği

    kendinize göre değiştiriniz.

    PHP Code:
    var Sistem.GrafikVerileri;
    var 
    Sistem.GrafikFiyatSec("Kapanis");

    var 
    XX C;
    var 
    X1 Sistem.MA(XX"Weighted"21);
    var 
    X2 Sistem.Ref(X1,-1);
    var 
    IZLEYENSTOP Sistem.Liste(0);

    var 
    SonYon "";
    for (
    int i Sistem.BarSayisii++)
    {
       
    IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(1.5i);
       if (
    IZLEYENSTOP[i] == 0IZLEYENSTOP[i] = C[i];
       
       if (
    X1[i] > X2[i] && SonYon != "A" // alış
       
    {
            
    SonYon "A";
            
    Sistem.Yon[i] = "A";
       }    
       if (
    X1[i] < X2[i]  && SonYon != "S"  // satış
       
    {
           
    SonYon "S";
           
    Sistem.Yon[i] = "S";
       }
    }

    Sistem.Cizgiler[0].Deger X1;
    Sistem.Cizgiler[1].Deger X2;
    Sistem.Cizgiler[2].Deger IZLEYENSTOP;
    Sistem.Cizgiler[3].Deger C;

    var 
    Yesil Sistem.Renk(80,0,200,0);
    var 
    Kirmizi Sistem.Renk(80,200,0,0);
    Sistem.DolguEkle(32YesilKirmizi); 
    Bear_Bull
    @BearBull26

  2.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    izleyen stop kullanma örneği

    kendinize göre değiştiriniz.

    PHP Code:
    var Sistem.GrafikVerileri;
    var 
    Sistem.GrafikFiyatSec("Kapanis");

    var 
    XX C;
    var 
    X1 Sistem.MA(XX"Weighted"21);
    var 
    X2 Sistem.Ref(X1,-1);
    var 
    IZLEYENSTOP Sistem.Liste(0);

    var 
    SonYon "";
    for (
    int i Sistem.BarSayisii++)
    {
       
    IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(1.5i);
       if (
    IZLEYENSTOP[i] == 0IZLEYENSTOP[i] = C[i];
       
       if (
    X1[i] > X2[i] && SonYon != "A" // alış
       
    {
            
    SonYon "A";
            
    Sistem.Yon[i] = "A";
       }    
       if (
    X1[i] < X2[i]  && SonYon != "S"  // satış
       
    {
           
    SonYon "S";
           
    Sistem.Yon[i] = "S";
       }
    }

    Sistem.Cizgiler[0].Deger X1;
    Sistem.Cizgiler[1].Deger X2;
    Sistem.Cizgiler[2].Deger IZLEYENSTOP;
    Sistem.Cizgiler[3].Deger C;

    var 
    Yesil Sistem.Renk(80,0,200,0);
    var 
    Kirmizi Sistem.Renk(80,200,0,0);
    Sistem.DolguEkle(32YesilKirmizi); 
    __________________________________________
    Hocam çok teşekkür ederim. Elinize sağlık.

  3. örnek sistem

    hisselerde anlık çalışan örnek sitem
    400 civarı hissede bir nevi yavaş HFT şeklinde çalışır
    hisse spekülatorlerini yakalamak amacıyla yazılmıştı ama pek başarılı olmadı
    veri isimleri falan C# puristlerini kusturabilir, kusura bakmayın ,
    3-5 gün dursun sonra silerim

    Kod:
    /*
    hisse derinlik lisansınızın olması lazım 
    saatte bir ortalama hacim çıkarır 
    sürekli olarak 400 civarı hissede ilk 3 alışa satışa yazılan lotlara bakar ,
    alış tarafında lotlarda ani artış olduğunda alır (ortalama hacmin x katı , alışta bir önceki bakışında olan lotun y katı )
    pozisyona girdikten sonra ilk 5 dakikada %2 sonraki 5 dakikada %1 sonraki 5 dakikada 0 kar görünce satar,
    her halukarda %4 zararı görünce satar , 17:29 dan sonra tüm pozları kapatır 
    pozisyonları pozisyon kontrol tabında tutar 
    aynı anda 19 max poz tutar bunları slotlara yazar , slotlar pozisyon kontrol tabından takip edilebilir
    ilk çalıştırınca pozisyonkontrol tabındaki sistemadı+serm verisine bir tutar(100000) sistemadı+bosslot verisine 19 (isterseniz daha az ) girilmeli 
    her slotta sermayenin 1/19 unu kullanır( oynanabilir)
    C altına log atar , bazı sistemlerde  bir folder açıp logfile verisini değiştirmeniz gerekebilir
    400 hisseye bakması 2-6 ms alır , saniyede 150-700 sefer döner, yüksek ram kullanabilir, kısıtlı makinalarda sorun çıkabilir
    sadece sanal çalıştırılmalıdır. 
    uygulamada kar bırakan bir strateji değildir, denemiştir. hafif değişik bir versiyonunda canlı testte sonuç 0 -hafif (-) civarıdır 
    anlık işlem yapan sistemlere örnek olsun diye , birde idealin gücüne hayranlıktan paylaşılmıştır.
    */
    
    //if (Sistem.SaatAraligi("10:00", "12:59") || Sistem.SaatAraligi("14:00", "17:59"))
     Sistem.Debug("basla "+DateTime.Now.ToString("HH:mm:ss:fff"));
    var bosslot=Sistem.PozisyonKontrolOku(Sistem.Name+"bosslot");
    var serm=Sistem.PozisyonKontrolOku(Sistem.Name+"serm");
    double  kar=0; double ort=0;string  slot="";
    {
    
    var logfile ="c:\\"+Sistem.Name+"log.txt";
    
    List<string> tradelist = new List<string> {};
    
    foreach (string line in File.ReadLines(@"c:\iDeal\Config\ImkbEndeksSenetler.txt") )  
    {
      if (line.Contains("="))// && line.Split('=')[0]==Sistem.Sembol.Replace("IMKBH'","")) 
      {
     tradelist .Add("IMKBH'"+line.Split('=')[0]);
    }}
     double IslemFiyat = 0;
     double  poz=0;double allot=0;double satlot=0;double allot1=0;double satlot1=0;double alf=0;double alf1=0;double zamanfark=0; double satf=0;
     DateTime IslemTarih=Convert.ToDateTime(Sistem.Saat);string zamzam="";
     //var Miktar = 0.0;
     var Sembol="";
     var Rezerv = "";
     var men=Convert.ToDouble(DateTime.Parse(Sistem.Saat).ToString("HH"));
     var ment=Convert.ToDouble(Sistem.SayiTablosunuOku(Sistem.Name+"ment"));
    
     if (men!=ment)
    {
    		Sistem.SayiTablosunuGuncelle(Sistem.Name+"ment", men);
    for (int k=0;k<tradelist.Count;k++)
    	{
    		 var veri=Sistem.GrafikFiyatOku(tradelist[k],"60", "Lot");
    		 var Hort=Sistem.MA(veri, "Simple", 10)[veri.Count-2];
    		 Sistem.SayiTablosunuGuncelle(tradelist[k]+"ort",Hort/12);
    }
    }
    
    
    	for (int i=1;i<20;i++)
    	{//Rezerv=Sistem.Parametreler[i];
    	 poz=Sistem.PozisyonKontrolOku("slot"+i.ToString("0#"), out IslemFiyat, out IslemTarih, out Rezerv);
    	 Sistem.SayiTablosunuGuncelle(Rezerv+"poz", poz);
    	 Sistem.SayiTablosunuGuncelle(Rezerv+"pozfiyat", IslemFiyat);
    	 Sistem.SozcukTablosunuGuncelle(Rezerv+"zaman", IslemTarih);
    	 Sistem.SozcukTablosunuGuncelle(Rezerv+"slot", i.ToString("0#"));
    
    
    	}
    	 Sistem.Debug(tradelist.Count.ToString());
    	for (int  i=0;i<tradelist.Count;i++)
    	{bosslot=Sistem.PozisyonKontrolOku(Sistem.Name+"bosslot");
    	 allot=0;satlot=0;
    	 Sembol=tradelist[i];
    	 var Derinlik=Sistem.DerinlikVerisiOku(Sembol);
    	 for (int m=0;m<3;m++)
    	{ allot=allot+Derinlik.Bids[m].Size;
    	  satlot=satlot+Derinlik.Asks[m].Size;
    	}
    	alf = Derinlik.Bids[0].Price;
    	satf=Derinlik.Asks[0].Price;
    	alf1=Convert.ToDouble(Sistem.SayiTablosunuOku(Sembol+"alf"));
    	slot=Sistem.SozcukTablosunuOku(Sembol+"slot");
    	Sistem.SayiTablosunuGuncelle(Sembol+"alf",alf);
    	 allot1=Convert.ToDouble(Sistem.SayiTablosunuOku(Sembol+"allot"));
    	 satlot1=Convert.ToDouble(Sistem.SayiTablosunuOku(Sembol+"satlot"));
    	 Sistem.SayiTablosunuGuncelle(Sembol+"allot",allot);
     	 Sistem.SayiTablosunuGuncelle(Sembol+"satlot",satlot);
    	 poz=Convert.ToDouble(Sistem.SayiTablosunuOku(Sembol+"poz"));
    	 ort=Convert.ToDouble(Sistem.SayiTablosunuOku(Sembol+"ort"));
    	 
    
    	 if(poz>0 &&alf>0 &&(Sistem.SaatAraligi("10:02", "12:58") || Sistem.SaatAraligi("14:02", "18:00")))
    	 {
    		 	zamzam=Sistem.SozcukTablosunuOku(Sembol+"zaman");
    			IslemFiyat=Convert.ToDouble(Sistem.SayiTablosunuOku(Sembol+"pozfiyat"));
    			zamanfark=((Convert.ToDouble(DateTime.Parse(Sistem.Saat).ToString("HH"))*60)+Convert.ToDouble(DateTime.Parse(Sistem.Saat).ToString("mm")))-
    			((Convert.ToDouble(DateTime.Parse(zamzam).ToString("HH"))*60)+Convert.ToDouble(DateTime.Parse(zamzam).ToString("mm")));
    
    
    			
    	 if ( (zamanfark<5 && (alf-IslemFiyat)/IslemFiyat>0.02f)
    		 ||(zamanfark>=5 && zamanfark<10 && (alf-IslemFiyat)/IslemFiyat>0.01f)
    	     ||(zamanfark>=10 && zamanfark<15 && (alf-IslemFiyat)/IslemFiyat>0)
    		 || (zamanfark>=15 )
    		 ||  ((alf-IslemFiyat)/IslemFiyat<-0.04f)
    	 	 || ( Sistem.SaatAraligi("17:30", "18:30")))
    	{
    	//sat
    	satf=Math.Round(Sistem.AlisFiyat(Sembol)*100)/100;
       Sistem.EmirSembol = Sembol;
       Sistem.EmirIslem = "Satış";
       Sistem.EmirMiktari = poz;
       Sistem.EmirTipi = "Limit";
       Sistem.EmirFiyati = alf;
       Sistem.EmirSuresi = "GUN";
       Sistem.EmirGonder();
    	
    	 kar=(satf-IslemFiyat)*poz;
    	 kar=Math.Round(kar);
    
    	 Sistem.PozisyonKontrolGuncelle(Sistem.Name+"serm",Math.Round(Sistem.PozisyonKontrolOku(Sistem.Name+"serm")+kar));
    	 Sistem.PozisyonKontrolGuncelle("slot"+Sistem.SozcukTablosunuOku(Sembol+"slot"),0,alf,Sembol);
    	 Sistem.PozisyonKontrolGuncelle(Sistem.Name+"bosslot", Sistem.PozisyonKontrolOku(Sistem.Name+"bosslot")+1);
    	 Sistem.SayiTablosunuGuncelle(Sembol+"poz",0);
    	// log at
    		StreamWriter DosyaYaz = File.AppendText(logfile); //Dosyaya yeni veri olarak eklenir.									
    		 { DosyaYaz.WriteLine(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss:fff")+"| SATIS |"+Sembol+"|Fiyat|"+satf.ToString()+"|Miktar|"+poz.ToString()+"|Slot|"+slot.ToString()+"|allot|"
    						+allot.ToString()+"|satlot|"+  satlot.ToString()+"|allot1|"+ allot1.ToString()+"|satlot1|"+ satlot1.ToString()+"|ort|"+ ort.ToString()+" |kar|"+kar.ToString("#.#0")+"|zamanfark|"+zamanfark.ToString()+" | islemf| "+IslemFiyat.ToString()); }									
    		 DosyaYaz.Flush(); DosyaYaz.Close();
    
    	}
    	}
    	else  if(poz==0 && (Sistem.SaatAraligi("10:08", "12:58")|| Sistem.SaatAraligi("14:01", "17:29"))&&  Sistem.PozisyonKontrolOku(Sistem.Name+"bosslot")>0 
    	&&   (allot-satlot)>ort*10 && allot1>0 && satlot1>0 && (allot-allot1)>ort*5 && Sistem.SatisFiyat(Sembol)*allot>5000
             && Sistem.SatisFiyat(Sembol)>1.0f && alf>alf1 )   
    
    
    	{
    		IslemFiyat=Math.Round(Sistem.SatisFiyat(Sembol)*100)/100;
    		poz=Math.Floor((Sistem.PozisyonKontrolOku(Sistem.Name+"serm")/20)/Sistem.SatisFiyat(Sembol));
    	   Sistem.EmirSembol = Sembol;
    	   Sistem.EmirIslem = "Alis";
    	   Sistem.EmirMiktari = poz;
    	   Sistem.EmirTipi = "Limit";
    	   Sistem.EmirFiyati =  IslemFiyat;
    	   Sistem.EmirSuresi = "GUN";
    	   Sistem.EmirGonder();
    	//al
    	slot= Sistem.PozisyonKontrolOku("slot01")==0?"01":Sistem.PozisyonKontrolOku("slot02")==0?"02":Sistem.PozisyonKontrolOku("slot03")==0?"03":Sistem.PozisyonKontrolOku("slot04")==0
    	?"04":Sistem.PozisyonKontrolOku("slot05")==0?"05":Sistem.PozisyonKontrolOku("slot06")==0?"06":Sistem.PozisyonKontrolOku("slot07")==0?"07":Sistem.PozisyonKontrolOku("slot08")==0?"08":
    	Sistem.PozisyonKontrolOku("slot09")==0?"09":Sistem.PozisyonKontrolOku("slot10")==0?"10":Sistem.PozisyonKontrolOku("slot11")==0?"11":Sistem.PozisyonKontrolOku("slot12")==0?"12":Sistem.PozisyonKontrolOku("slot13")==0?"13":
    	Sistem.PozisyonKontrolOku("slot14")==0?"14":Sistem.PozisyonKontrolOku("slot15")==0?"15":Sistem.PozisyonKontrolOku("slot16")==0?"16":Sistem.PozisyonKontrolOku("slot17")==0
    	?"17":Sistem.PozisyonKontrolOku("slot18")==0?"18":Sistem.PozisyonKontrolOku("slot19")==0?"19":"";
    
    	 Sistem.PozisyonKontrolGuncelle("slot"+slot,poz,IslemFiyat,Sembol);
    	 Sistem.PozisyonKontrolGuncelle(Sistem.Name+"bosslot", Sistem.PozisyonKontrolOku(Sistem.Name+"bosslot")-1);
    	 Sistem.SayiTablosunuGuncelle(Sembol+"pozfiyat",IslemFiyat);
    	//log at
    	StreamWriter DosyaYaz = File.AppendText(logfile); //Dosyaya yeni veri olarak eklenir.									
    		 { DosyaYaz.WriteLine(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss:fff")+"| ALIS | "+Sembol+"|Fiyat|"+IslemFiyat.ToString()+"|miktar|"+poz.ToString()+"|allot|"+allot.ToString()+"|satlot|"
    						+allot.ToString()+"|"+  satlot.ToString()+"|allot1|"+ allot1.ToString()+"|satlot1|"+ satlot1.ToString()+"|ort|"+ ort.ToString()+"|slot|"+slot); }									
    		 DosyaYaz.Flush(); DosyaYaz.Close();
    
    }
     
    
    
    
    }
    
    
    }
     Sistem.Debug("bit   "+DateTime.Now.ToString("HH:mm:ss:fff"));

  4. Kenten sanada denedim emir gondertemedim yanlislik nerde sizce saygilar ...

    SM-N9000Q cihazımdan hisse.net mobile app kullanarak gönderildi.

  5. bu kısmı okudunuzmu

    "hisse derinlik lisansınızın olması lazım "
    "ilk çalıştırınca pozisyonkontrol tabındaki sistemadı+serm verisine bir tutar(100000) sistemadı+bosslot verisine 19 (isterseniz daha az ) girilmeli
    "

  6. Ustadim pozisyon kontrol tabina dediğiniz gibi yazdım oldu acemilik kbakmayin ...

    SM-N9000Q cihazımdan hisse.net mobile app kullanarak gönderildi.

  7. İyi geceler,
    kendi oluşturduğum bir indikatörün hareketli ortalamasını kendi panelinde nasıl gösterebilirim acaba.
    Hareketli ortalama, sadece fiyat panelinde çıkıyor.

  8. #1896
    Duhul
    Feb 2017
    İkamet
    afyonkarahisar
    Gönderi
    791
     Alıntı Originally Posted by feridunabi Yazıyı Oku
    İyi geceler,
    kendi oluşturduğum bir indikatörün hareketli ortalamasını kendi panelinde nasıl gösterebilirim acaba.
    Hareketli ortalama, sadece fiyat panelinde çıkıyor.


    var RSI = Sistem.RSI (14);
    var AVR = Sistem.MA(RSI, "Exp", 34);


    Sistem.Cizgiler[0].Deger = RSI;
    Sistem.Cizgiler[1].Deger = AVR;
    Sistem.KesismeTara(RSI, AVR);


    mesela yukarıdaki formülde
    rsi nin 34 gün lük ortalaması alınmış
    rsi ortalamayı yukarı kırınca al
    aşağı kırınca sat


    kendi formulununüze gçre ayarlayabilirsiniz

Sayfa 237/592 İlkİlk ... 137187227235236237238239247287337 ... SonSon

Yer İmleri

Yer İmleri

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •