if (V[i].Date.Year >= YIL && V[i].Date.Month >= AY && V[i].Date.Day >= GUN)
ilave edin
https://i.resimyukle.xyz/Rdc0S6.png
Printable View
if (V[i].Date.Year >= YIL && V[i].Date.Month >= AY && V[i].Date.Day >= GUN)
ilave edin
https://i.resimyukle.xyz/Rdc0S6.png
çok teşekkür ederim.
:bravo::party:
Teşekkürler ,Emeklerinize Sağlık
s.aleyküm kolay gelsin ideal programına kagi adlı bar cizimi yapılabilirmi? forum gördünümüzmü geriye doğru taradım,böyle birşey göremedim,sagolsun renkoyu ugraşmışlar ,onu görünce acaba dedim kagi bar da yapılabilirmi? https://school.stockcharts.com/doku...._analysis:kagi
Merhaba ;
Asagida IDeal icin Renko_Fixed_HL Sistem/Indikatorunun kodunu paylasiyorum. Umarim ilgilenenlerin isine yarar.
Bir kac onemli detayi belirtmek isterim ki ;
1-Renko Orijinali itibari ile Tick data ile calismaktadir. ( Bir fiyatin tek bir adette olsa ilgili fiyatan islem gormesi Renko Bricklerinin olusmasi icin yeterlidir ) Bu sistemde cok fazla data tutma zorunlulugu getirdigi icin buradaki Renko Brick indikatoru High ve Low verilerini kullanarak candlestick chartlar uzerine adapte edilmistir.Kisaca Yuksek ve Dusuk degerlerine gore calismaktadir.
2-Renko'nun en buyuk ozelligi fiyatlardaki dalgalanmalari elimine ederek daha yumusak bir grafik elde edilmesidir. Elbette buda Risk faktorunu arttirici bir ozelliktir. Bu sebeple KAPANIS verisine gore Renko Bricklerinin olusmasi gecikmeye sebep olarak Risk faktorunu daha cok arttiracagi icin bu calismada tercih edilmemistir.
3-Renko Bricklerinin olusmasi icin en onemli data ILK RENKO BRICK'idir. Bir cok platform acilis datasini referans alarak Renko Bricklerini cizmektedir. Sistemde tutulan gunici (intraday ) datasi sabit oldugu ve Ilk Renko Brick icin gerekli acilis datasi zamana gore surekli kayma gosterecegi icin , Ilk datadan itibaren olusacak Renko Brickleride zamanla ( Kapanis -Ust deger ) degisiklik gosterecektir. Buda hergun degisik bir Renko Grafigi cizilmesi ile sonlanacagi icin ozellikle algoritmalar icin buyuk sorun teskil edecektir.
Asagidaki calismada kullanilan hesaplama yontemi sonucu bu sorun ortadan kaldirilmistir. Her zaman ayni, zamanla hic bir degisiklik gostermeyen Renko Brickleri olusacaktir.
4- Detaylarin daha iyi gorulebilmesi icin mumkun olan en kucuk zaman diliminde kullanilmasini tavsiye ederim. ( Viop icin kullanacak arkadaslar 1 dakikalik grafikleri tercih edebilirler. )
5- Secilecek Renko Brick Parametresi Sabit bir deger oldugu icin, her enstuman icin degerin degisitirilmesi gerekecektir. ( Kucuk ve Buyuk degerli Hisse Senetleri icin ) .
6- ATR temelli Renko Brickleri de yukarida bahsettigim sebeple ATR zamanla degistikce, gecmiste olusmus Renko Brickleride surekli degisiklik gosterecegi icin kullanilmasi Riskli bir yaklasim olarak karsimiza cikmaktadir. Her enstrumana uyarlanabilecek sabit bir degiskenli Renko Brick calismasi YUZDESEL RENKO olacaktir. Fakat asagidaki indikatorun Gercek Bir Renko bar tipi olmamasi dolayisi ile su asamada bunu FIXED RENKO gibi uygulayabilmek imkan disindadir. ( Malesef acilis verisine olan bagimlilik yuzdesel Renko Bricklerinde ortadan kalkmamakta ve olusacak Renko Brickleri zamanla degisim gostermektedir )
Fiyata uygun Parametre secmeyi ve Degerlerin Data Box altinda izlenebilmesi icin Cizgileri aktive etmeyi unutmayin.
Iyi calismalar.
PHP Code:
//RENKO_FIXED_HL by KT
var Veri = Sistem.GrafikVerileri ;
// Grafik Verileri Degisken Listesi
var Close = Sistem.GrafikFiyatOku(Veri, "Kapanis");
var High = Sistem.GrafikFiyatOku(Veri, "Yuksek");
var Low = Sistem.GrafikFiyatOku(Veri, "Dusuk");
var Open = Sistem.GrafikFiyatOku(Veri, "Acilis");
// Renko Brick Size Degeri
float Bricksize = Convert.ToSingle(Sistem.Parametreler[0]);
// Renko Box Degisken Listesi
var H1 = Sistem.Liste(Veri.Count, 0);
var L1 = Sistem.Liste(Veri.Count, 0);
//Ilk Box [0] Degisken Listesi
H1[0] = (float)Math.Ceiling(Open[0]/Bricksize)*Bricksize;
L1[0] = (float)Math.Floor(Open[0]/Bricksize)*Bricksize;
for (int i=1; i<Veri.Count; i++)
{
if (High[i] >= H1[i-1]+Bricksize)
{
H1[i] = (float)Math.Floor(High[i]/Bricksize)*Bricksize;
L1[i] = H1[i]-Bricksize;
}
else if (Low[i] <= L1[i-1]-Bricksize)
{
L1[i] = (float)Math.Ceiling(Low[i]/Bricksize)*Bricksize;
H1[i] = L1[i]+Bricksize;
}
else
{
H1[i] = H1[i-1];
L1[i] = L1[i-1];
}
}
Sistem.Cizgiler[0].Deger=H1;
Sistem.Cizgiler[0].Aciklama ="Renko Ust";
Sistem.Cizgiler[1].Deger=L1;
Sistem.Cizgiler[1].Aciklama ="Renko Alt";
//Sistem.Mesaj("Sonuc:" + H1[1]);
var Yesil = Sistem.Renk(80,0,200,0);
var Kirmizi = Sistem.Renk(80,200,0,0);
// dolgu taminla
Sistem.DolguEkle(0, 1, Yesil, Kirmizi);
https://i.hizliresim.com/nb6k1B.png
Trader35 kardeş dediğinizi yaptım ama bende bir şey çıkmadı hata nerede acaba?
[IMG]https://i.hizliresim.com/r0kg87.png[/IMG]
Bu işini görmüyor mu ?..
Merhaba resimdeki tikleri koyun renko grafik görünecektir.
Teşekkürler
Teşekkürler Hocam
Teşekkürler Hocam,Emeklerinize Sağlık
selam kolay gelsin
a hissesi için sorgulamaya ihtiyacım var
a hissesi para giriş çıkısına göre al sat sinyali veren bi sorgulama konusunda yardımlarınızı rica ediyorum
Bunu sisteme döktüğümüzde bazen aynı anda birden fazla emir gönderiyor. Aslında sistem olarak çok hoşuma gitti. Nasıl optimize edilebilir? Aynı anda hem al hemde sat yönünde birden fazla emir göndermesini nasıl engelleyebiliriz? Bu sistemden kaynaklı bir sorunmu (Acaba buradaki x deperini bşrden fazla kez döndürüyor olabilir mi?)? Yoksa kodlamadan dolayımı? Birde ben sistemi izlediğimde, bar kapanmadan sinyal değişiyor, acaba o sırada mı yapıyor bunu? Yani hata burdan kaynaklı mı?
Arkadaşlar kolay gelsin ichimoku nün teknkansen ve kjiun sen kesisi için formül nasıl yazabilirim ideal de çok bilgim yok matrikse yapmıştım ama bunu burada yapamıyorum yardımcı olacak biri varsa sevinirim
PHP Code:
int tenkansen = 9;
int kijunsen = 26;
var SonBarNo = Sistem.BarSayisi-1;
var C = Sistem.GrafikFiyatSec("Kapanis");
var bars = Sistem.GrafikVerileri;
var TenkansenList = Sistem.Liste(0);
var KijunsenList= Sistem.Liste(0);
for (int i = tenkansen; i < bars.Count; i++)
{
var hhv = bars[i].High; var llv = bars[i].Low;
for (int j = 1; j < tenkansen; j++){int pos = i + j - tenkansen;hhv = Math.Max(hhv, bars[pos].High);llv = Math.Min(llv, bars[pos].Low);}
TenkansenList[i] = (hhv + llv) / 2;
}
for (int i = kijunsen; i < bars.Count; i++)
{
var hhv = bars[i].High; var llv = bars[i].Low;
for (int j = 1; j < kijunsen; j++){int pos = i + j - kijunsen;hhv = Math.Max(hhv, bars[pos].High);llv = Math.Min(llv, bars[pos].Low);}
KijunsenList[i] = (hhv + llv) / 2;
}
Sistem.SorguBaslik[0] = "Kapanış";
Sistem.SorguBaslik[1] = "Kijunsen";
Sistem.SorguBaslik[2] = "Tenkansen";
if (KijunsenList[SonBarNo] > TenkansenList[SonBarNo] && KijunsenList[SonBarNo-1] < TenkansenList[SonBarNo-1])
{
Sistem.SorguDeger[0] = C[SonBarNo];
Sistem.SorguDeger[1] = KijunsenList[SonBarNo];
Sistem.SorguDeger[2] = TenkansenList[SonBarNo];
Sistem.SorguEkle();
}
Teşekkürler
Seviyeli sistemlerde FLAT kullanmak mümkün müdür acabaAlıntı:
Originally Posted by
Seviyeli Sistemler için Doğru Kalıp aşağıdaki gibidir:
[PHP
orhan hocanın 4 kritik maddesinden birisi olan "else" yi kullandıktan sonra niye olmasın.
AS ve SS serileri gibi AFS ve SFS gibi 2 seri daha uydurduktan sonra şöyle olabilir gibi, denemek lazım yinede yönteme aşina değilim.
if ( H[i] >= AS[i] && SonYon != "A" )
{
Sistem.Yon[i] = "A";
Sistem.Seviye[i]= AS[i];
SonYon = Sistem.Yon[i];
}
else if ( L[i] <= SS[i] && SonYon != "S" )
{
Sistem.Yon[i] = "S";
Sistem.Seviye[i]= SS[i];
SonYon = Sistem.Yon[i];
}
else if (L[i] <= SFS[i] && SonYon == "A" ) //Alışın Flatı
{
Sistem.Yon[i] = "F";
Sistem.Seviye[i]= AFS[i];
SonYon = Sistem.Yon[i];
}
else if (H[i] >= AFS[i] && SonYon == "S" ) // Satışın Flatı
{
Sistem.Yon[i] = "F";
Sistem.Seviye[i]= SFS[i];
SonYon = Sistem.Yon[i];
}
Bilinen ve aslında aynı sayfada konuşulmuş olunan 5. maddeyi de ben ekleyeyim. "seviyeli sistemi"-> "seviyeli robot" ile kullanmak. yani her şey seviyeli olmalı saygısızlık istemiyorum, lütfen.
Arkadaşlar kolay gelsin, Matriks kullanıcısıyım teknik bilgim de az...ideale geçeceğim önümüzdeki ay...Matriks de kullandığım bir indikatorü buraya yapıştırsam ideale çevirebilecek yardımcı olabilecek arkadaş var mı acaba?
bi arkadaş bunu sormuş...evet...sezai bey yardımcı oldu kagi için.... bende ayarlarını degiştirerek bişiler yapabildim.... var Variation=0.04;
var C = Sistem.GrafikFiyatSec("Kapanis");
var Z = Sistem.ZigZagPeakThrough(C,Variation, 1);
var zup = Sistem.Ref(Z.Peak,-1);
var zdn = Sistem.Ref(Z.Through,-1);
var TOMA = Sistem.TOMA(7,2.4);
Sistem.Cizgiler[0].Deger = zup;
Sistem.Cizgiler[1].Deger = zdn;
Sistem.Cizgiler[2].Deger = TOMA;
Sistem.KesismeTara(zdn,TOMA);
var Variation=0.04;
var C = Sistem.GrafikFiyatSec("Kapanis");
var Z = Sistem.ZigZagPeakThrough(C,Variation, 1);
var zup = Sistem.Ref(Z.Peak,-1);
var zdn = Sistem.Ref(Z.Through,-1);
var TOMA = Sistem.TOMA(7,2.4);
Sistem.Cizgiler[0].Deger = zup;
Sistem.Cizgiler[1].Deger = zdn;
Sistem.Cizgiler[2].Deger = TOMA;
Sistem.KesismeTara(zdn,TOMA); yeni oldugum için sizin gibi kodları yollayamadım kusuruma bakmayın inş. faydalı olur
İlk başlıklarda okumuştum yardımım olsun,sinyali 30 endeksinden alıp istediğiniz sembolde işlem yapma sonuçları.
// ilk sembole göre siyalleri oluştur
var Sistem1 = Sistem.SistemGetir("kendisistemin", "IMKBX'XU030", Sistem.Periyot);
var V1 = Sistem1.GrafikVerileri;
var YON1 = Sistem1.Yon;
var V2 = Sistem.GrafikVerileri;
// sinyalleri asıl sembole aktar, tarihleri örtüştür
var SonYonNo = 0;
for (int i = 0; i < V1.Count; i++)
{
if (YON1[i] != "")
{
for (int j = SonYonNo; j < V2.Count; j++)
{
if (V2[j].Date >= V1[i].Date)
{
Sistem.Yon[j] = YON1[i];
SonYonNo = j;
break;
}
}
}
}
ideal robotumda kullanmak üzere vip-usd ve vip-gld 5 dk ve 1 dk geçmiş datasına ihtiyacım var. Elinde bu datalar olan varsa bizimle paylaşabilir mi? Tşk.
kolay gelsin geçmiş tüm barları okuyup hissenin en yüksek gördüğü fiyatı 1 olarak yazıp en düşük fiyatı da 0 olarak hesaplayıp hissenin sonraları hergün görmüş olduğu fiyata göre en yüksek fiyatın üstündeyse 1 değeri devam edecek ( diğelim hisse en yüksek 2 lira gördü ve şimdi 1.96 ise bugünün en yükseği çarpı1 bölü en son 26 bar önce yüksek gördüğü fiyat ve indikatörün alacağı değer bunu düşük olarak da hesaplayıp örnek en düşük hisse 0,80 kuruş diğer değişkeni 0 olarak hesaplayıp yine o her gün yüksek ve düşük bardan bakarak bu şekilde değer verebileceğimiz bir şeyler yapabilir miyiz ) ben bir şeyler yaptım ama sizlerden destek alarak biraz daha iyi olabilir 2 tane değişken çizeceğim yüksek olan için ve düşük olan için
selamlar, herkes iyidir umarım.
uzun zaman olmuş yazmayalı. bistte işlem yapmadığım için ideal kullanmıyorum arkadaşlar. zamanda sınırlı olunca paylaşımları da bırakmıştım. bir arkadaşım sosyal medyada hakkımda yazılan bir iftira ile ilgili uyardı. burada yazdıklarımda zararlı içerikler olabileceği ve benden dosya alınmaması ile ilgili yazılan şeyler olmuş. bu iftiralar ile ilgili bir açıklama yapmak istedim.
kullandığım nick gerçek adım ve soyadımdır. iftirayı dillendirenlerde dahil forumdan pek çok kişi bunu biliyor zaten.
bugüne kadar hiç kimseye özelden dll yada dosya atmadım, göndermedim.
özelden gelen talep üzerine açık kod paylaştığım en fazla 2-3 kişi olmuştur sanırım ve herhangi bir olumsuzluk yaşanmamıştır. en azından bana söylenmedi açıkça.
foruma açık link halinde bıraktığım dosyalar oldu ise bunlarla ilgili olumsuz bir şey gören olmamıştır yada forumda olumsuz bir geri dönüşte yada şikayet te bulunulmadı bildiğim.
forumda yada sosyal medyada herhangi birisine algoritmik işlem yapan sistem satmadım, kiralamadım yada satma/kiralama girişiminde bulunmadım. Bu olumsuz bir şey değil, yapılabilir, yapana da saygı duyarım ama ben yapmadım hiç.
son olarak, tüm girdilerimde var ise bilgi kaynağını belirtme konusunda hep hassas davranmışımdır. kaynak yok ise kod bana aittir.
yukarda yazılanlardan farklı bir duruma şahit olan var ise bu girdiyi alıntılayıp ne olduğunu açıklamalıdır.
yada farklı bir konuda somut bir şey olmasa da olur bir zanna sahip olan var ise onu da yazın lütfen. Eğer burada bildiklerinizi açıkça yazmayıp sonrada karalama yapıyorsanız söyleyecek bir şey yok.
Bir hafta sonra forum yönetiminden geçmiş mesajlarımın silinmesini rica edeceğim. yaparlar mı bilmiyorum. zararlı şeyler olabileceğini söylersem silerler herhalde. zararlı oldukları hakkında daha önce uyaran olsaydı daha önce talep ederdim. kimseyi rahatsız etmek istemem.
Eski paylaşımlarınızda değerli şeyler paylasmissiniz bır olumsuz kod görmedim yanlıs anlaşılma olabilir
orhan bey tam 2yıl oldu
size ulaşmak için özelden irtibat tlf göndere bilirmisiniz lütfen
Merhabalar
Fiyat günlük barlarda 50 SMA üzerindeyse saatlik grafikte,
- SMA 12 - SMA 24'ü yukarı keserse AL
- SMA 12 - SMA 24'ü aşağı keserse SAT
komutu vermek istiyorum ustalarım nasıl yaparım teşekkurler