http://www.directfn.com.tr/idealsist...rarDurdur.html
En sona
Sistem.Cizgiler[2].Deger = Sistem.Liste(Fiyat);
Yazarak çizdirebilirsiniz.
Printable View
http://www.directfn.com.tr/idealsist...rarDurdur.html
En sona
Sistem.Cizgiler[2].Deger = Sistem.Liste(Fiyat);
Yazarak çizdirebilirsiniz.
sorguya haftalık hacmi 1 000 000 üstünde ifadesini nasıl yazabilirim?
Merhaba, indikatörsüz sistem tasarımından bahsediliyor. Elinizde basit bir örnek var mı? İncelemeyi çok isterim. Fiyat hareketlerini baz alıyormuş :S
Bir süredir Ideal' den uzak olduğumdan...
Basit bir sorum var:
Fiyat bölgesi dışında, "diğer" indikatör ve göstergelerde mum grafiği nasıl çizdiriyorduk?
Yani OHCL değerleri içeren fiyat grafiğini.
İşinizi görür sanırım..
PHP Code:
var GaranVeriler = Sistem.GrafikVerileriniOku("IMKBH'GARAN", "G");
var OP = Sistem.GrafikFiyatOku(GaranVeriler, "Acilis");
var HI = Sistem.GrafikFiyatOku(GaranVeriler, "Yuksek");
var LO = Sistem.GrafikFiyatOku(GaranVeriler, "Dusuk");
var CL = Sistem.GrafikFiyatOku(GaranVeriler, "Kapanis");
//Sistem.BarCiz(panel, bartip, O, H, L, C, Color.Green, Color.Red);
// bartip 0:OHLC 1:Candle 2:HeikinAshi
//GARAN'IN BARLARI
Sistem.ZeminYazisiEkle("GARAN", 2, 10, 20, Color.Gold, "Tahoma", 12);
Sistem.BarCiz(2, 0, OP, HI, LO, CL, Color.Green, Color.Red);
teşekkür ederim.
merhaba
//min := if(C<O, C, O);
if(C[i]<O[i] && C[i] && O[i]); bu kod yazımında hata nerde?
//min := if(C<O, C, O);
//max := if(C>O, C, O);
//ABS(C-O)/(H-L) < 0.1 AND
//(min-L) > (3*ABS(C-O)) AND
//(H-max) < ABS(C-O)
var V =Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis") ;
var H = Sistem.GrafikFiyatOku(V, "Yuksek") ;
var L = Sistem.GrafikFiyatOku(V, "Dusuk") ;
var O = Sistem.GrafikFiyatOku(V, "Acilis") ;
//min := if(C<O, C, O);
var min=Sistem.Liste(0);
for (int i = 0; i<Sistem.BarSayisi; i++)
{
if(C[i]<O[i])
min[i]=C[i];
else
min =O[i] ;
}
//max := if(C>O, C, O);
var max=Sistem.Liste(0);
for (int i = 0; i<Sistem.BarSayisi; i++)
{
if(C[i]>O[i])
max[i]=C[i];
else
max=O[i];
}
float fe=0.1f;
var ab=Sistem.Liste(0);
for (int i = 0; i<Sistem.BarSayisi; i++)
{
//ABS(C-O)/(H-L) < 0.1 ;
if((Math.Abs(C[i] -O[i-1]/H[i]-L[i])<fe));
ab[i]=1;
}
//(min-L) > (3*ABS(C-O)) AND
//(H-max) < ABS(C-O)
var ff=Sistem.Liste(0);
for (int i = 0; i<Sistem.BarSayisi; i++)
{
if((min[i]-L[i])>(3*Math.Abs(C[i]-O[i])) && (H[i]-max[i])<Math.Abs(C[i]-O[i]))
ff[i]=1;
}
Sistem.Cizgiler[0] = ff;
dragon fly kodunu yazmaya çalıştım hata görünmüyor ama grafik boş görünüyor.
ShotingStar Formülünden yararlanabilirsiniz.
if(O[i-1] < C[i-1] && O[i] > C[i-1] && H[i] - Math.Max(O[i],C[i]) >= Math.Abs(O[i]-C[i])*3 && Math.Min(C[i],O[i]) - L[i]<= Math.Abs(O[i]-C[i]))
https://www.hisse.net/topluluk/showt...778#post112778
Tam formülü burda
https://www.hisse.net/topluluk/showt...815#post112815
for (int i = V.Count-250; i < V.Count; i++) yapın. Yoksa kasar.
Bunu deneyin:
PHP Code:
var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis") ;
var H = Sistem.GrafikFiyatOku(V, "Yuksek") ;
var L = Sistem.GrafikFiyatOku(V, "Dusuk") ;
var O = Sistem.GrafikFiyatOku(V, "Acilis") ;
var min=0.0;
var max=0.0;
var abs=0.0;
for (int i = 100; i<Sistem.BarSayisi; i++)
{
min= C[i]<O[i] ? C[i]:O[i];
max= C[i]>O[i] ? C[i]:O[i];
abs= Math.Abs(C[i]-O[i]);
if( (abs/(H[i]-L[i]))<0.1f && (min-L[i])>3*abs && (H[i]-max)<abs ) Sistem.YaziEkle("D\nr\na\ng\no\nn\n", 1, i-1, L[i]-0.1f, Color.Orange, "Tahoma", 12);
}
Teşekkür ederim Sayın Ozmen , Sayın Sonli.
//PriceOsc:=(( Mov(C,M1,E) - Mov(C,M2,E) )/Mov(C,M2,E)) * 100;
bu kodda yaptığım hata nerede acaba?
var mov1=Sistem.MA(m1, "Exp", "Kapanis");
var mov2=Sistem.MA(m2, "Exp", "Kapanis");
var priceosc=Sistem.PriceOscPercent(price, mov1, mov2,"Exp");
var price=Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
price[i] = ((mov1[i]-mov2[i])/mov2[i])*100;
}
bu doğrudan istediğin zaten..
Sistem.PriceOscPercent(10, 30,"Exp");
Aşağıda Veriler yerine tanımladıktan sonra örneğin C yazabilirsin; ya da var mov1=Sistem.MA(m1, "Exp", "Kapanis"); böyle tanımladığın mov1 i koyarsa osilatör mov1 için uygulanır
Sistem.PriceOscPercent(Veriler, 10, 30,"Exp");
barçizle yaplan bir kod sistem haline dönüşebilir mi? sanki barçiz kodu yatay alanları elimine ediyor.
//M1:=Input("MA 1",1,500,12);
//M2:=Input("MA 2",1,500,34);
//PriceOsc:=(( Mov(C,M1,E) - Mov(C,M2,E) )/Mov(C,M2,E)) * 100;
//A:=Input("Step value", 0.001,1,0.010);
//B:=Input("Maximum value",0.01,1,0.5);
//R:=SAR(A,B);
//If(R<C,PriceOsc,0); { Green for long }
//If(R>C,PriceOsc,0); { Red for short }
var V =Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis") ;
var H = Sistem.GrafikFiyatOku(V, "Yuksek") ;
var L = Sistem.GrafikFiyatOku(V, "Dusuk") ;
var O = Sistem.GrafikFiyatOku(V, "Acilis") ;
int m1=12;
int m2=34;
var mov2=Sistem.MA(m2, "Exp", "Kapanis");
var mov1=Sistem.MA(m1, "Exp", "Kapanis");
var priceosc=Sistem.PriceOscPercent(mov1, m1, m2,"Exp");
var priceosc2=Sistem.PriceOscPercent(mov2, m1, m2,"Exp");
var price=Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
price[i] = ((priceosc[i]-priceosc2[i])/priceosc2[i])*100;
}
float a=0.010f;
float b=0.5f;
var r=Sistem.Parabolic(a, b);
var pri=Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
if( r[i]<C[i])
pri[i]=price[i];
else
pri[i]=0;
}
var pris=Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
if(r[i]>C[i])
pris[i]=price[i];
else
pris[i]=0;
}
var RenkListesi = new List<Color>(new Color[Sistem.BarSayisi]);
for (int i = 1 ; i < Sistem.BarSayisi; i++)
{
if ( pris [i]>0 )
RenkListesi[i] = Color.Lime;
else
RenkListesi[i] = Color.Red;
}
Sistem.Cizgiler[0].Deger = pris;
Sistem.Cizgiler[0].RenkListesi = RenkListesi;
Sistem.Cizgiler[0].ActiveBool = true;
Sistem.Cizgiler[1].Deger =Sistem.Liste(0);
kod bu, ama hata var.
Burada çoklu bir örnek var..
https://twitter.com/seziyorum/status...hnYS1Mbmw&s=19
Geldik, gidiyoruz..
merhaba arkadaşlar sum(C*V,5)/sum(V,5) bu kodun sorgu yazılımında yardımcı olur musunuz?
Arkadaşlar, 34.5466 olan ADX değerini 3.50 olarak nasıl kullanırım?
https://idealdata.com.tr/sayiyuvarla-fonksiyonu/
var sayi = 2.547;
var x = Sistem.SayiYuvarla(sayi, 0.01);
.
Çok teşekkür ederim abi herhangi enstrümanda denedim çalışıyor, ama çift yönde çalıştırırken örneğin ilk işlemi alım yönünde 1 lot aldı sat'a döndüğünde tekrar 1 lot satıp pozisyonu kapatmış oluyor sat veya al sinyaline döndüğünde elimdeki lot un 2 katını açmasını nasıl sağlarım.
Merhaba, veri menüsündeki dosyadan veri ekle ve dosyadan veri yükle fonksiyonlarını kullanamadım.
Bölünmelerden kaynaklı grafik verisine bakım yapmam gerekiyor sebebi de şu.
Ideal serverlerından grafik verisi güncellendiğimizde belirli bir tarihten önce bölünmeden kaynaklı bilgisayarımızda kayıtlı veriyi eşitlemek için grafik verisinde bir bölme işlemi yapıyoruz. Ancak bölme işlemi günlük hesaplanıyor. Bu durumda 1dk lık grafikte serverdan çekilen en eski veri saat 11.32 ise saat o gün için saat 09.30 ile 11.32 arası bölünme işlemi olmamış oluyor ve bu verileri düzeltmek gerekiyor. Tek tek düzeltmek çok uğraştırıcı dosyaya yazdır yapıp text dosyasını düzettim ama dosyadan yükleme yapamadım. Excel ile de yapamadım. Bunun bir yöntemi var mı.
s.a. AroonOsc açılımı burada var mı acaba? ya da olan varsa verebilir mi acaba? tşk.
Açık kodu, kullanmak için istiyorsanız aşağıdaki şekilde kullanabilirsiniz ama kodlama örneği için istiyorsanız alttaki formülü kodlamak gerek..
1. Aroon Yukarı (İngilizce: Aroon Up); bir menkul kıymetin, belirli bir dönem içinde ulaşmış olduğu en yüksek fiyat seviyesinden bu yana oluşan çubuk sayısını ölçer.PHP Code:
int p = 14;
var arUP = Sistem.AroonUp(p); //Verilere uygulamak için: AroonUp(Veriler, 14)
var arDOWN = Sistem.AroonDown(p);
var arOsc = Sistem.AroonOsc(p); //up-down farkı
Sistem.Cizgiler[0].Deger = arUP;
Sistem.Cizgiler[1].Deger = arDOWN;
Sistem.Cizgiler[2].Deger = arOsc;
2. Aroon Aşağı (İngilizce: Aroon Down); bir menkul kıymetin, belirli bir dönem içinde ulaşmış olduğu en düşük fiyat seviyesinden bu yana oluşan çubuk sayısını ölçer.
Aroon Yukarı ve Aroon Aşağı çizgileri 0 ile 100 değerleri arasında salınırlar.
Aroon Yukarı = [(n – nPH / 2) / n] x 100
Aroon Aşağı = [(n – nPL / 2) / n] x 100
n: Aroon İndikatörü için belirlenmiş geri inceleme dönemidir.
nPH: Geri inceleme dönemi içinde fiyatın ulaştığı en yüksek seviyeden sonra geçen dönem sayısıdır.
nPL: Geri inceleme dönemi içinde fiyatın ulaştığı en düşük seviyeden sonra geçen dönem sayısıdır.
Selamlar arkadaşlar matrikste yıllardır kullandığım sistemi ideale çevirmek istiyorum. Bu konuda yardımcı olabilecek kimse var mıdır acaba.
Herkese mrb. periyotları farklı 3 adet stochastic osilatörün kendi hareketli ortalamasını yukarı kesip 30 değerinden büyükse al, kendi hareketli ortalamasını aşağı kesip 70 değerinden küçükse sat koşulunu örneklere bakıp yazmaya çalışıyorum.Üçününde 70 ten küçükse sat 30 den büyükse al şartını nasıl yazarım acaba şimdiden teşekkür ederim yanıtlarınız için :(
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var IND = Sistem.StochasticOsc(5, 3);
var MA = Sistem.MA(IND, "Exp", 3);
var IND1 = Sistem.StochasticOsc(5, 3);
var MA1 = Sistem.MA(IND1, "Exp", 3);
var IND2 = Sistem.StochasticOsc(5, 3);
var MA2 = Sistem.MA(IND2, "Exp", 3);
Sistem.Cizgiler[0].Deger = Sistem.Liste(70);
Sistem.Cizgiler[0].Aciklama = "ÜstSeviye";
Sistem.Cizgiler[1].Deger = Sistem.Liste(30);
Sistem.Cizgiler[1].Aciklama = "AltSeviye";
var SonYon = "" ;
double SonFiyat =0.0;
var Sinyal = "" ;
float GunKZ = 0f;
int BarNo = 0;
for(int i=1;i < V.Count;i++)
{
if(IND[i-1] < MA[i-1] && IND1[i-1] < MA1[i-1] && IND2[i-1] < MA2[i-1] && IND[i] > MA[i] && IND1[i] > MA1[i] && IND2[i] > MA2[i] ) Sinyal ="A";
if(IND[i-1] > MA[i-1] && IND1[i-1] > MA1[i-1] && IND2[i-1] > MA2[i-1] && IND[i] < MA[i] && IND1[i] < MA1[i] && IND2[i] < MA2[i] ) Sinyal ="S";
if (Sinyal != "" && Sinyal != SonYon)
{
Sistem.Yon[i] = Sinyal; // A : Alış S : Satış F : Flat
SonYon = Sinyal;
}
}