Merhabalar, 5 saniyelik grafik açıkken sabah seans açılışından beri olan 1 er ve 5 er dakikalık barların hacimsel ortalamasını çizdirmek istiyorum. Bana yardımcı olabilecek var mıdır
Printable View
Merhabalar, 5 saniyelik grafik açıkken sabah seans açılışından beri olan 1 er ve 5 er dakikalık barların hacimsel ortalamasını çizdirmek istiyorum. Bana yardımcı olabilecek var mıdır
Istedigin buysa bir dene. Ama gerceklesmezse emir guncelleme durumunu ben de cozemedim.
var Hyuzeysel = Sistem.YuzeyselVeriOku(Hisse);
var HAlisFiyat = Hyuzeysel.BidPrice;
var HSatisFiyat = Hyuzeysel.AskPrice;
var HAlisLot = Hyuzeysel.BidSize;
var HSatisLot = Hyuzeysel.AskSize;
var HSon = Hyuzeysel.LastPrice;
var HAdım = Hyuzeysel.PriceStep;
var HFiyat = HSon*1.01;
var HMiktar = 1; //1 Hisselik islem
// Hisse alış emri gönder
Sistem.EmirSembol = Hisse;
Sistem.EmirIslem = "Alış";
Sistem.EmirMiktari = HMiktar;
Sistem.EmirFiyati = HFiyat; // Limit fiyat
Sistem.EmirFiyatTipi = "LMT";
Sistem.EmirSuresi = "GUN"; // SEANS, GUN
Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
Sistem.EmirGonder();
https://www.investopedia.com/terms/t/tsi.asp bunu ideal için indicatorlestirebilirmiyiz... teşekkürler
Bu kodda sorun var. Sanal calisiyor ama gercek calismiyor. Dogrusunu yazayim:
var Hyuzeysel = Sistem.YuzeyselVeriOku(Hisse);
var HAlisFiyat = Hyuzeysel.BidPrice;
var HSatisFiyat = Hyuzeysel.AskPrice;
var HAlisLot = Hyuzeysel.BidSize;
var HSatisLot = Hyuzeysel.AskSize;
var HSon = Hyuzeysel.LastPrice;
var HAdım = Hyuzeysel.PriceStep;
var HFiyat = HSon*1.01;
var HMiktar = 1; //1 Hisselik islem
// Hisse alış emri gönder
Sistem.EmirSembol = Hisse;
Sistem.EmirIslem = "Alış";
Sistem.EmirMiktari = HMiktar;
Sistem.EmirFiyati = HFiyat; // Limit fiyat
Sistem.EmirTipi = "Limit";
Sistem.EmirSuresi = "GUN"; // SEANS, GUN
Sistem.EmirGonder();
var CCP = Sistem.GrafikFiyatSec("Kapanis");
var AVCCP = Sistem.MA(CCP, "Exp", 13);
var PCP = Sistem.Ref(CCP,-1);
var PC = Sistem.Liste(0);
var APC = Sistem.Liste(0);
var TSI = Sistem.Liste(0);
for (int i=1; i < Sistem.BarSayisi; i++)
{
PC[i] = CCP[i] - PCP[i];
APC[i] = Math.Abs(PC[i]);
}
var PCS = Sistem.MA(PC, "Exp", 25);
var PCDS = Sistem.MA(PCS, "Exp", 13);
var APCS = Sistem.MA(APC, "Exp", 25);
var APCDS = Sistem.MA(APCS, "Exp", 13);
for (int i=1; i < Sistem.BarSayisi; i++)
TSI[i] = (PCDS[i]/APCDS[i]) * 100;
Sistem.Cizgiler[0].Deger = TSI;
merhaba ben idealde 200 lük ortalamanın binde 5 altına ve üstüne paralel çizgi çizdirmek istiyorum beceremedim idealde yeniyim yardımcı olabilecek var mı acaba teşekkürler
öğrenme amacıyla bişeyler yazmaya çalısıyorum ama sanırım basarılı değilim şu basit şeyi yazdm ama grafikte gösteremiyorum bir hata da almıyorum nedir hatam
var Volume = Sistem.Volume;
var X1 = Sistem.Mov(20,Volume,"Kapanıs");
// X3 - boş liste oluştur
var X3 = Sistem.Liste(0);
// X3 - hesapla
for (int i = 0; i < Sistem.BarSayisi; i++)
X3[i] = Volume[i]/(X1[i]);
// çizligeri göster
Sistem.Cizgiler[0].Deger = X3;
var V = Sistem.GrafikVerileri;
var hcm = Sistem.GrafikFiyatSec("Hacim");
var X1 = Sistem.MA(20,"Simple","Hacim");
// X3 - boş liste oluştur
var X3 = Sistem.Liste(0);
// X3 - hesapla
for (int i = 0; i < Sistem.BarSayisi; i++)
X3[i] = hcm[i]/(X1[i]);
// çizligeri göster
Sistem.Cizgiler[0].Deger = X3;
https://i.resimyukle.xyz/Hz0Pe5.png
https://i.resimyukle.xyz/Hz0Pe5.png
selamlar ,
bende matriksden ideale geçtim
her şey karıştı zamanla alışırız umarım.
bir konuda yardımınıza ihtiyacım var
sorgu ekranında sadece harami formasyonlarını nasıl taratabilirim
yardımcı olursanız sevinirim.
Bilgi için teşekkürler üstad. Sayının yuvarlanması in mantığı nedir? Ben denedim. Yuvarlama dan da çalıştı. Çalışmadığı durumlarda mi oluyor?
Lenovo P2a42 cihazımdan hisse.net mobile app kullanarak gönderildi.
merhabalar kolay gelsin ,
mov 5.e mov 20 e yi yukarı ya da aşağı kesince bir önceki bar kapanışını döndür şeklince bir kalıp yazabilirisiniz. şimdiden teşekkür ederim kolay gelsin
Selamlar, yeni idealde kod yazmayı öğrenmeye başladım. Bilgim sıfır. Sağdan soldan bulduklarımı birleştirip videolardan gördüklerimi yapmaya çalışıyorum. Aşağıda bir kalıp var. Ben indikatör değişkenlerini değiştirerek denemeler yapmak istiyorum ancak sanırım kalıbı yapamadım sonuç alamıyorum. Hatayı anlamam için yardımınızı rica ediyorum.
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var H = Sistem.GrafikFiyatSec("Yuksek");
var L = Sistem.GrafikFiyatSec("Dusuk");
var MA = Sistem.MA(C,"Variable",30);
var MA1 = Sistem.MA(MA, "Exp", 60);
var TRIX = Sistem.TRIX(25);
var TRIXAVR = Sistem.MA(TRIX, "Exp", 60);
Sistem.Yon[i] = "";
var SonYon = "";
double SonFiyat = 0.0;
var FlatOncesiYon = "";
var Sinyal = "";
float GunKZ = 0f;
int BarNo = 0;
for (int i = 1; i < V.Count; i++)
{
if (MA[i] > MA1[i] && TRIX[i] > TRIXAVR[i]) Sinyal = "A";
if (MA[i] < MA1[i] && TRIX[i] < TRIXAVR[i]) Sinyal = "S";
}
// STOP VE KAR AL //
if (SonYon == "A" && C[i] < SonFiyat * 0.97) Sinyal = "F";
if (SonYon == "S" && C[i] > SonFiyat * 1.03) Sinyal = "F";
// if (SonYon == "A" && C[i] < SonFiyat * 0.992) Sinyal = "F";
// if (SonYon == "S" && C[i] > SonFiyat * 1.008) Sinyal = "F";
// Yön Kalıbı
if (Sinyal == "A" && SonYon != "A")
{
Sistem.Yon[i] = "A";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
BarNo = i;
}
if (Sinyal == "S" && SonYon != "S")
{
Sistem.Yon[i] = "S";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
BarNo = i;
}
if (Sinyal == "F" && SonYon != "F")
{
Sistem.Yon[i] = "F";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
}
Sistem.GetiriHesapla("01/01/2000", 0.0);
double KarCount = 0;
double ZararCount = 0;
int PrevBarNo = 0;
var PrevYon = "";
for (int i = 0; i < V.Count; i++)
{
if (PrevBarNo > 0)
{
if (PrevYon == "A" && (Sistem.Yon[i] == "F" || Sistem.Yon[i] == "S"))
{
if (C[i] > C[PrevBarNo]) KarCount++;
if (C[i] < C[PrevBarNo]) ZararCount++;
}
if (PrevYon == "S" && (Sistem.Yon[i] == "F" || Sistem.Yon[i] == "A"))
{
if (C[i] < C[PrevBarNo]) KarCount++;
if (C[i] > C[PrevBarNo]) ZararCount++;
}
}
if (Sistem.Yon[i] != "")
{
PrevYon = Sistem.Yon[i];
PrevBarNo = i;
}
}
double Oran = 100 * KarCount / (KarCount + ZararCount);
//Sistem.Mesaj(Oran.ToString("0.00"));
var Sure = (DateTime.Now - V[0].Date).TotalDays / 30.4;
var gunkz = Sistem.GetiriKZGunSonu[Sistem.GetiriKZGunSonu.Count - 1] - Sistem.GetiriKZGun[Sistem.GetiriKZGun.Count - 1];
Sistem.GradientYaziEkle(Sure.ToString("0.0") + " Ay", 2, 10, 20, Color.Silver, Color.Silver, "Calibri", 18);
Sistem.GradientYaziEkle(Sistem.GetiriKZ[Sistem.GetiriKZ.Count - 1].ToString("0.000"), 2, 150, 20, Color.Gold, Color.Gold, "Calibri", 18);
Sistem.GradientYaziEkle("Bu Gün", 2, 10, 50, Color.Silver, Color.Silver, "Calibri", 18);
Sistem.GradientYaziEkle(gunkz.ToString("0.000"), 2, 150, 50, Color.Gold, Color.Gold, "Calibri", 18);
Sistem.GradientYaziEkle("İşlem Sayısı", 2, 20, 180, Color.Silver, Color.Silver, "Tahoma", 14);
Sistem.GradientYaziEkle(Sistem.GetiriIslemSayisiPo z[V.Count - 1].ToString("0"), 2, 150, 180, Color.Gold, Color.Gold, "Tahoma", 14);
Sistem.GradientYaziEkle("Ortalama", 2, 20, 205, Color.Silver, Color.Silver, "Tahoma", 14);
Sistem.GradientYaziEkle((Sistem.GetiriIslemSayisiP oz[V.Count - 1] / Sure).ToString("0"), 2, 150, 205, Color.Gold, Color.Gold, "Tahoma", 14);
Sistem.GradientYaziEkle("Karlılık", 2, 10, 140, Color.Silver, Color.Silver, "Calibri", 18);
Sistem.GradientYaziEkle(Oran.ToString("0.00"), 2, 150, 140, Color.Gold, Color.Gold, "Calibri", 18);
Sistem.Cizgiler[0].Deger = Sistem.GetiriKZGunSonu; // panel 2
Sistem.Cizgiler[1].Deger = Sistem.GetiriKZGun; // panel 2
Sistem.DolguEkle(0, 1, Color.FromArgb(120, 0, 255, 0), Color.FromArgb(120, 255, 0, 0));
Sistem.Cizgiler[2].Deger = Sistem.GetiriKZAy; // panel 2
çok fazla şey birleştirmişsin,
optimizasyon dan tut ta işin show kısmına kadar
şu kadarcık kod şimdilik test için idare eder.
öğrendikçe fazlalıkları ilave edersiniz.
Kod:var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var H = Sistem.GrafikFiyatSec("Yuksek");
var L = Sistem.GrafikFiyatSec("Dusuk");
var MA = Sistem.MA(C,"Variable",30);
var MA1 = Sistem.MA(MA, "Exp", 60);
var TRIX = Sistem.TRIX(25);
var TRIXAVR = Sistem.MA(TRIX, "Exp", 60);
var SonYon = "";
double SonFiyat = 0.0;
var FlatOncesiYon = "";
var Sinyal = "";
float GunKZ = 0f;
int BarNo = 0;
for (int i = 1; i < V.Count; i++)
{
if (MA[i] > MA1[i] && TRIX[i] > TRIXAVR[i]) Sinyal = "A";
if (MA[i] < MA1[i] && TRIX[i] < TRIXAVR[i]) Sinyal = "S";
// STOP VE KAR AL //
if (SonYon == "A" && C[i] < SonFiyat * 0.97) Sinyal = "F";
if (SonYon == "S" && C[i] > SonFiyat * 1.03) Sinyal = "F";
// if (SonYon == "A" && C[i] < SonFiyat * 0.992) Sinyal = "F";
// if (SonYon == "S" && C[i] > SonFiyat * 1.008) Sinyal = "F";
// Yön Kalıbı
if (Sinyal == "A" && SonYon != "A")
{
Sistem.Yon[i] = "A";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
BarNo = i;
}
if (Sinyal == "S" && SonYon != "S")
{
Sistem.Yon[i] = "S";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
BarNo = i;
}
if (Sinyal == "F" && SonYon != "F")
{
Sistem.Yon[i] = "F";
SonYon = Sistem.Yon[i];
SonFiyat = V[i].Close;
}
}
{ Sistem.GetiriHesapla("01.01.2020", 0.0f);
var KarZarar = Sistem.GetiriKZ;
Sistem.Cizgiler[6].Deger = KarZarar;
Sistem.Cizgiler[6].Stil=1;
Sistem.Cizgiler[6].Panel = 2;
Sistem.Cizgiler[6].Aciklama = "NET_K/Z";
Sistem.Cizgiler[6].ActiveBool = true;
var isay = Sistem.GetiriToplamIslem;
Sistem.ZeminYazisiEkle(" İşlem Adet "+isay.ToString("0") , 2, 300, 15, Color.White , "Tahoma", 8);
Sistem.ZeminYazisiEkle("Kâr_Zarar "+ (KarZarar[KarZarar .Count-1]).ToString("0.00") + " puan", 2, 500, 15, KarZarar[KarZarar.Count-1] > 0 ? Color.Green : Color.Red , "Tahoma", 8);
}
Merhabalar, Ben de Matriks'ten Ideal'e yeni gecenlerdenim, umarim zamanla birseyleryapabilir duruma gelecegim, eski foruma ulasamadim, bu basliktan basladim okuyarak (2017 yilindan) bu yana dogru geliyorum.
Sorgu ekraninda sectigim periyorda gore 5 ve 10 periyodluk lot sayisi ile canli lot sayilarinin oranlanmasina ihtiyacim var.
1-hisse adi
2-alis fiyati
3-satis fiyati
4-son fiyat
5- o gunku % artis
6- o periyodluk toplam lot miktari
7- bir onceki periyod toplam lot miktari
8- iki onceki periyod toplam lot miktari
9- 5 periyodluk lot miktari (ortalamasi da olabilir)
10- 10periyodluk lot miktari (ortalamasi da olabilir)
11- =(5.kolon/9.kolon)-1
12- =(5.kolon/10.kolon)-1
bunu daha once matrikste gunluk lot miktarlarina gore yapiyordum ama idealden excele veri cekemedim, idealdeki arkadaslara bildirdim belki ileride yapilabilir duruma gelir. ama idealin sorgu kismini begendim orada cok sey yapilabilir diye dusunuyorum, merakliyim programi tanimaya calisiyorum.
ilgilenececk arkadaslara simdiden tesekkurler.
Merhaba Farkli bir sorum var,
sorgu ekraninda son eklenenleri ayri olarak altta bir yerde gormek mumkun mu?
https://i.hizliresim.com/QhsD1J.png
Merhabalar TREADİNGVİEW de kullandığım benim için çok önemli bir indikatör var ama bir türlü ideale geçiremedim yardımcı olabilir misiniz.
rsiSrc = input(close, title="RSI / SRSI source")
rsiLen = input(37, minval=1, title="RSI / SRSI / MFI length")
stochLen1 = input(18, minval=1, title="Stoch length1")
smoothK1 = input(12, "srsiK", minval=1)
smoothD1 = input(7, "srsiD", minval=1)
srsi = rsi(rsiSrc, rsiLen)
srsiK = sma(stoch(srsi, srsi, srsi, stochLen1), smoothK1)
srsiD = sma(srsiK, smoothD1)
plot(useSrsi ? srsiK : na, color=color(white,40), title="SRSI K line")
plot(useSrsi ? srsiD : na, color=color(#F9ED50,60), title="SRSI D line")
Arkadaşlar Merhaba,
OTT indikatörünün kodları varmıdır?
440. sayfada bir arkadaş sormuş, sonraki 15 sayfayı okudum bulamadım :(
rica etsem paylaşabilirmisiniz?
TTI(3, 2, MAyontem)
TTI(Liste, 3, 2, MAyontem)
TTI(Veriler, 3, 2, MAyontem)
aradığınız yukarıdakiler olabilir sistemleştirmek lazım.
var Sembol = Sistem.Sembol;
var Periyot = Sistem.Periyot;
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 TT = Sistem.TTI(C, 3, 2, "Exp");
Sistem.Cizgiler[0].Deger = TT;
Cevabınız için teşekkür ederim. Öncelikle ";" hatası verdi. onları bir şekilde hallettim ama şimdi de
"error CS0103: 'TTI' adı geçerli içerikte yok
error CS0103: 'MAyontem' adı geçerli içerikte yok
error CS0103: 'TTI' adı geçerli içerikte yok
error CS0103: 'Liste' adı geçerli içerikte yok
error CS0103: 'MAyontem' adı geçerli içerikte yok
error CS0103: 'TTI' adı geçerli içerikte yok
error CS0103: 'Veriler' adı geçerli içerikte yok
error CS0103: 'MAyontem' adı geçerli içerikte yok"
hatalarını veriyor. Anladığım kadarı ile 20,50 falan yazacağız ama beceremedim. Bir örnek yazabilirseniz üzerinden oynama yapabiliceğimi düşünüyorum:)
var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
var TT = Sistem.TTI(C, 3, 2, "Exp");
Sistem.Cizgiler[0].Deger = TT;
arkadaşlar, endeks den sıfır atılınca robot işini askıya almıştım, borsada hızlı olunca pek bakma fırsatım olmamıştı. hesaplamaları unutmuşum. önceden işlem başı 50 puan kayma hesaplıyorduk. onbinde 1 komisyon hesabı ile; sistemin biri, 24.11.2020 den beri 169 puan, 68 işlem yapmış. bu sistemin kar hesabı ne olur? teşekkürler.
Merhabalar, Kıvanç Bey in paylaştığı Trend Magic ideal içinde uyarlanabiir mi?
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic
//@version=4
study("Trend Magic", shorttitle="TM", overlay=true, format=format.price, precision=2, resolution="")
period=input(20,"CCI period")
coeff=input(1,"ATR Multiplier")
AP=input(5,"ATR Period")
ATR=sma(tr,AP)
src=input(close)
upT=low-ATR*coeff
downT=high+ATR*coeff
MagicTrend=0.0
MagicTrend := cci(src,period)>=0 ? (upT<nz(MagicTrend[1]) ? nz(MagicTrend[1]) : upT) : (downT>nz(MagicTrend[1]) ? nz(MagicTrend[1]) : downT)
color1= cci(src,period)>=0 ? #0022FC : #FC0400
plot(MagicTrend, color=color1, linewidth=3)
alertcondition(cross(close, MagicTrend), title="Cross Alert", message="Price - MagicTrend Crossing!")
alertcondition(crossover(low, MagicTrend), title="CrossOver Alarm", message="BUY SIGNAL!")
alertcondition(crossunder(high, MagicTrend), title="CrossUnder Alarm", message="SELL SIGNAL!")
merhaba arkadaşlar şöyle bir kodu indikatör olarak nasıl yazabilirim?
H[i] >H[i-1] && C[i-1]> C[i-1] && L[i]< L[i-2]
mevcutta 1 dk 5 dk da çalıstırdıgım sisteme günlük 20 ortalamanın üstündeyse ifadesini eklemek istiyorum nasıl ifade edebilirim teşekkürler...
Selam,
Yazdırmakta olduğum bir uygulama için borsa verilerini canlı çekmek amacıyla API entegrasyonu veren ya da satan şirket, kurum var mıdır?
Borsa verilerini satma ya da ticari amacımız yok, sadece uygulama geliştirme için, uygulamayı kendim kullanacağım.
Teşekkürler.
gecikme olabilir ona dikkat, 1 sn altındaki gecikmeden bahsediyorum
alternatif olarak bist datacenterında yarım kabin çeyrek kabin kiralanabiliyodu sanırım. orada direkt data veriyolar hatta ITCH protokoluyle data almak mümkün
personel çok anlamıyo illa şirket olun öyle alın falan gibi saçmalıklar öne sürüyolardı
bir bakın bence o tarafa
İdeal' de Günlük veri periyodu "G" ile yazılır.
Periyodların kısaltmasını aşağıdaki linkte bulabilirsiniz:
iDeal Sistem Kütüphanesi (directfn.com.tr)
İdeal Sistem Fonksiyonları / Periyot linklerine tıklayın.
Diğer koşullarınızı ekler, gerektiği gibi düzenlerseniz aşağıdaki kod işinizi görebilir diye düşünüyorum.
Ben "ÜSSEL" ortalama için yazdım.
"var G20=Sistem.MA(Gk,"Exp",20)" satırındaki "Exp" i ihtiyacınıza göre değiştirin.
Kod:
var fi=Sistem.GrafikFiyatSec("Kapanis");
var v=Sistem.GrafikVerileri;
var vG=Sistem.GrafikVerileriniOku(Sistem.Sembol, "G");
var Gk=Sistem.GrafikFiyatOku(vG, "Kapanis");
var G20=Sistem.MA(Gk,"Exp",20);
G20=Sistem.DonemCevir(v, vG, G20);
Sistem.Cizgiler[0].Deger=G20;
var SonYon = "";
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if ( fi[i]>G20[i] && SonYon != "A" )
{
Sistem.Yon[i] = "A";
SonYon = Sistem.Yon[i];
}
if ( fi[i]<G20[i] && SonYon != "S" )
{
Sistem.Yon[i] = "S";
SonYon = Sistem.Yon[i];
}
}
En altta olabileceğini sanmıyorum.
Ancak son barda listeye girenlerin rengini belirleyebilirsiniz.
Böylece listeye yeni girenleri ayırt edebilirsiniz.
EK:
Zemin veya yazı rengini değiştirmek için örnek kod:
http://www.directfn.com.tr/sistemler/SorguYeni.001
Bir döngü ile :
CCI1[i-1]<=0 && CCI1[1]>0 için renk atayabilirsiniz.
1 sn lik gecikme önemli değil, emir iletme amacıyla kullanmayacağım. Ideal müşterisiyim, normal isleri oradan yürütürüm.
Borsayla görüştüm, emin olmamakla birlikte sirket olmanız gerekebilir, fiyat cazip olmayabilir dedi, mail atmamizi söyledi.
Mail atacağım da borsadan doğrudan almak zor gözüküyor.
Uygulama geliştiricilere destek olmak için bu tarz hizmetleri borsanın sağlaması lazim.
Güzel uygulamalar çıkar, yiurtdisina satilir yetenekli yazilimcilarimiz var.
Arkadaşlar Merhaba,
Bir sorgu konusunda desteğinizi rica edebilir miyim.?
Tillson T3 > kendi hareketli ortalaması
Ve
Fxsniper > kendi h. Ort.
Olan hisseler nelerdir?
Yardımcı olabilecek olan var mı?
cevabınız için teşekkür ederim.1 ve 0 olarak yazarsak nasıl bir kalıp olabilir acaba?