bende guzel bir derınlıklı ekran alamk ıstıyorum,matrıksten baska hangısı olabılır..........
Printable View
bende guzel bir derınlıklı ekran alamk ıstıyorum,matrıksten baska hangısı olabılır..........
Merhaba,
Robot Emir Açıklama kısmına nasıl değer gönderebilirim.
Sistem.EmirMiktari = Miktar;
Sistem.EmirTipi = "Piyasa";
Bunlar gibi ek parametre bulamadım,
Yardımcı olabilir misiniz?
Teşekkürler
Cümleten merhaba.
float PVT1 = Sistem.OncekiKapanisGun("VIP'VIP-X030") * 0.999f;
var SVY = Sistem.Liste(PVT1);
Aşağıda da döngü içinde if koşuluna bağlı SVY[i] … Emir iletimi var. Fakat çakışmıyor. Kurgudaki yanlışlık nerededir ? Yardımcı olursanız çok sevinirim. Teşekkür ederim.
Arkadaşlar bir de Bandırma Erdek bu ilçelerde ikamet eden ideal idealgo robot borsa portföy yönetimi konusunda yüzyüze muhabbet etmek isteyen olursa bazı akşamlar uygun bir cafede sohbet buluşmaları yapma niyetim var. Bu konuda da geri dönüş bekliyorum. Sağlıcakla kalın.
float PVT1 = Sistem.OncekiKapanisGun("VIP'VIP-X030") ;
var SVY = Sistem.Liste(PVT1);
Sistem.EmirFiyati = Math.Abs( Sistem.SayiYuvarla( SVY * 0.999f , 0.25) ) ;
Sistem.EmirSembol = EmirSembol;
Sistem.EmirIslem = Islem; // alıs satış
Sistem.EmirMiktari = 1 ; // lot
Sistem.EmirSuresi = "GUN";
Sistem.EmirTipi = "Limitli";
Contabo kullanıyorum. Yavas ama is yapıyor.
2023e girdiğimizden beri Ideal veritabanında sorunlar yaşıyorum. Normalde server uzerinde (Contabo) sorun olmadan kendi kendine calisiyordu. Once sistem disina atti. Zorla kendini güncelletti. Simdi de her sabah yeniden hesaba login olmak gerekiyor. Aradım Ideali. Yeni yasal zorunluluk dedi. Bu herkesin başına geldi mi? Yani hergun şifre girmeden 7/24 calismasinin bir yolu yok mudur?
Ben de bunun icin VPS satinaldim Windows. Oncesinden Macbooka Windows yüklemiştim ama zaten kapasitesi düşüktu (128GB). Baktım olmuyor, VPSe uzaktan bağlanmak en mantiklisi geldi.
Islem kismina söyle bir kod girmeniz gerekebilir:
Sistem.EmirAksamSeansi = 1;
01.01.2023 tarihinde herhangi bir aracı kurumun hesabına her girişte SMS ile teyit ya da iki aşamalı giriş seçeneği getirilecekti. Bu doğru fakat Mart ya da Nisan 2023 e kadar uzatıldı. Mesela şuan hesabımın olduğu ve idealde aktif olarak kullandığım bir aracı kurumda normal girebiliyorum. Ama bir tanesi bu uygulamaya geçmiş her girişte şifre gönderiyor. Yoğunluk çok olduğundan SMS de gecikiyor. Onun yöntemini SMS lerin geçerlilik süresini bir saate uzatarak bulmuşlar. Bu güvenlik olayı her aracı kurumun çözmesi gereken bir sorun olacak. SMS ile giriş yapan aracı kurumu aradım. Dedim ki daha vakit varken siz hemen geçmişsiniz bu prosedüre. Dedi ewt. Dedim ben şuan SMS gelse bile giremiyorum hata veriyor. hemen dedi yardımcı olayım bana aracı kurumun kendi telefon uygulamasını anlatmaya başladı. Dedim ki hop dur ben ideal veri terminaline giriş yamaktan bahsediyorum. Dedi ki kem küm bir arkadaşıma aktarayım. Arkadaşına aktardı o yardımcı oldu. Ama her gün her gün sıkıntı. Bir de aracı kurum çalışanları data vender ekranları (matriks,ideal,foreks) çok hakim değiller hepsi. Bakalım nisan 2023 de belli olacak. Kusura bakmayın biraz uzun tuttum. Muhabbet yapasım varmış :)
SMS muhabbeti de yeni cikti. Onceden direkt bağlanabiliyorduk SMS şifresi istemeden. Ben de SMS sorunu yok şimdilik. Yani Ideale giriş yaparken SMS istemiyor. Sizin anlatımıza IDEALde islem yapmak icin hem hergun normal şifreyle giriş yapacaz ve giriş yaparken üstüne bir de SMS zorunluluğu geldi diye anladım.
Hesap loginlerine getirilen sıkılaştırıcı güvenlik tedbirleri ilgili aracı kurumdan talep üzerine bazı konularda muafiyet sağlanacaktır. Sezai beyin beyanına göre yayınlanan tebliğ buna izin veriyor. Kurumların buna adapte olmaları biraz zaman alabilir.
Herkese selamlar,
Oluşturduğum bir indikatörle resimdeki yerleri bulabiliyorum.
Yapmak istediğim. İndb.yi İşleme girdiği bardan itibaren hesaplatmak istiyorum.
(indb.yi mom(10) kabul edersek alışyapıldıktan sonraki 2barda 2.lik mom, 3 barda 3.lük mom hesaplatmak istiyorum. 10 bar ve sonrasında 10.luk mom hesaplayacak.)
Desteğiniz için teşekkür ederim.
Ek 29309
for (int i = 1; i < v.Count; i++)
{
if ( inda[i] > 8 && SonYon != "A")
if ( c[i] < indb[i] && SonYon != "F")
}
İstediğinizi aşağıdaki gibi bir mantık ile yapabilirsiniz. Test edilmedi kendiniz deneyin.
PHP Code:
var indb = Sistem.Momentum(1);
var islemBar = 0;
for (int i = 1; i < v.Count; i++)
{
int barSayisi = i - islemBar;
if (barSayisi > 0)
indb = Sistem.Momentum(barSayisi);
if (inda[i] > 8 && SonYon != "A")
{
SonYon = "A";
Sistem.Yon[i] = SonYon;
islemBar = i;
}
if (c[i] < indb[i] && SonYon != "F")
{
SonYon = "F";
Sistem.Yon[i] = SonYon;
islemBar = i;
}
}
Hocam çok teşekkür ederim.
Herkese merhaba, ideal üzerinde toplu işlemler menüsünde "tüm pozisyonları aktif fiyattan kapat" butonu var ancak bu işlem hisse sayısı ve miktar çok ise kaymaya sebep oluyor.
Robot ile tüm pozisyonları limit fiyattan kapatma şansımız varmı? Bunun kodu nasıl yazılır, yardımcı olabilen olursa çok sevinirim.
tek istediğim, pozisyon karı % x kadar olunca limitten satış gönder, olmuyorsa t2 bakiye x miktar olunca tüm pozisyonlara limitten satış gönder, oda olmuyorsa robotu çalıştırdığım anda tüm pozisyonlara o anlık fiyattan limit emir olarak satış göndersin.
https://i.hizliresim.com/evbkbkt.png
s.a. resimdeki LİN.REG göstergesine beyaz çizgi gibi bir şey nasıl yapılabilir( mi ) acaba? tşk.
Robotlarda limit emir göndermek mümkün ancak emrin gerçekleşmeme/kismi gerçekleşme olasılığı yüksek olduğundan işler sarpa sarıyor. Askıda kalan emirlerin takibi elle veya robotla karmaşık bir hal alıyor. Aynı senede birden fazla sistem emir gönderme durumunda emir bir kere robottan iletildikten sonra bekleyen emirler kısmında hangi robottan gittiğini belirlemek zor. İdeal ekibi de algolarda emir iptaline sıcak bakmıyor ki bu konuda herhangi bir dökümantasyon yok. Kısacası ileri kodlama ve agoritma teknikleri kullanılmadan limit emir kullanımı faydadan çok zarar getirebilir.
Bu problemleri aşmaya yardımcı olmak ideal yazılım ekibinin elinde. EmirGonder fonksiyonu emir referans numarasını döndürecek şekilde modifiye edilirse gönderilen emrin durumu sorgulanıp belirli bir süre sonra askıda kalan emirler iptal edilip tavan/taban emir gönderilebilir.
bunu OPT olmadan nasıl göstergeye çevirebilirim, yardımcı olabilecek var mı? tşk.
// kapanış fiyatlarını oku
var Kapanis = Sistem.GrafikFiyatSec("Kapanis");
var SonYon="";
// taranacak periyot kadar döngü açın
// kalitesiz kodlama yaparsanız hesaplama süresi çok uzun olabilir
for (int P1 = 1 ; P1 < 7 ; P1++)
{
var MA1 = Sistem.MA(Kapanis , "Triangular", P1);
for (int P2 = 1 ; P2 < 22 ; P2++)
{
var MA2 = Sistem.MA(Kapanis , "Triangular", P2);
for (int P3 = 1 ; P3 < 10 ; P3++)
{
var RSI = Sistem.RSI(Kapanis , P3);
for (int P4 = 1 ; P4 < 8 ; P4++)
{
var RSIAVR = Sistem.MA(RSI , "Triangular", P4);
for (int i = 1; i < Kapanis.Count; i++)
Sistem.Yon[i] = "";
// strateji
for (int i = 1; i < Kapanis.Count; i++)
{
if (RSI[i] > RSIAVR[i] && MA1[i] > MA2[i] && SonYon != "A") // alış
{
Sistem.Yon[i] = "A";
SonYon="A";
}
else if (RSI[i] < RSIAVR[i] && MA1[i] < MA2[i] && SonYon != "S") // satış
{
Sistem.Yon[i] = "S";
SonYon="S";
}
}
Sistem.Optimizasyon("MA AND RSI", P1 , P2 , P3 , P4);
}
}
}
}
Bu dediğin islem karisik.
1) Sistem senin pozisyonlarını okuyacak.
2) Alis fiyatinla karsilastirip %x olup olmadigina bakacak. (Alis fiyatını nasıl hafızada tutsun?)
3) Sonra limitli, olmazsa baska turlu emir gönderecek.
vs vs arada hata ihtimali çok fazla.
En mantiklisi KEP kademeli emir penceresinden her pozisyon icin emir göndermek.
Burada yazdıklarınızın hepsi yapılabilir ama yazdığınız kadar basit değil.
Arkadaşların da yazdığı gibi pozisyon okuma ve limit emir kullanmanın bazı yan etkileri mevcut. Örneğin pozisyon okuma bazı kurumlarda - boş dönme gibi - sıkıntı olabiliyordu, okuma sıklığını ayarlamak zaten her kurumda gerekliydi. Aktiften satış verdiğinizin kayması demek, kabaca alış kademesine limit emir verdiğinizde - dönüp tekrar almazlarsa - emrin tam gerçekleşmeyeceğini gösterir zaten.
Size bilmiyorsanız ilk etapta indikatör alarm-emir sistemini tam öğrenmenizi tavsiye ederim; tabi çok hissede pozisyon açıyorsanız uğraştırır. Youtube ideal sayfasında video vardı.. İzleyip sonra kurcalarsınız.. Burada portföy miktarıyla bir şey yapamazsınız; fiyat, trend veya göstergelere göre belirlediğiniz seviye, kesişim vs olduğunda - bir tür iç robot olduğundan program açık kalmak şartıyla - otomatik emir iletimi sağlayabilirsiniz.
Geldik, gidiyoruz..
Cümleten iyi akşamlar,
İdeal veri terminali indikatörlerinde pivot indikatörünü örnek 60 dk lık seçili olanı sistem yazarken kullanabiliyor muyuz ? Sistem.PivotMid(Veriler) ya da Sistem.PivotMid() çıkıyor fakat bu değeri bir deşikene, değişkenden de düz çizgi çizmesi için bir listeye atayamadım. pivot çizimleri ile ilgili bir sistem örne de bulamadım. Teşekkür ederim şimdiden.
iyi günler, ben yeni bilgisayara ideali yükledim fakat verileri ne etsem de fazla geri alamıyorum, bir de dolar bazlı bakınca 20 gün kadar gösteriyor, düzelmesi için yardımcı olabilecek var mı? tşk.
dolar grafiğini açıp 1-5-60-G periyotlarında data tamamlama yapın.
grafikte sağ clik veri
saklanacak veri ve grafikte gözterilecek veri sayısını değiştirebilirsiniz.
eski verileri
eski bilgisayardan C:\iDeal\ChartData içindekileri yeni bilgisayara kopyalayabilirsiniz. 30 ~~ 40 gb olabilir.
var Kapanis = Sistem.GrafikFiyatSec("Kapanis");
var SonYon="";
var P1=10;
var P2=10;
var P3=10;
var P4=10;
var MA1 = Sistem.MA(Kapanis , "Triangular", P1);
var MA2 = Sistem.MA(Kapanis , "Triangular", P2);
var RSI = Sistem.RSI(Kapanis , P3);
var RSIAVR = Sistem.MA(RSI , "Triangular", P4);
Sistem.Cizgiler[1].Deger = MA1;
Sistem.Cizgiler[2].Deger = MA2;
Sistem.Cizgiler[3].Deger = RSI;
Sistem.Cizgiler[4].Deger = RSIAVR;
Telegram botu ile ilgili Aşağıdaki metni, Hisse.netin daha önceki sayfalardan buldum.(orhan Akdoğan.a teşekkürlerimi sunarım)
Ama bunun ideal kod kısmını çözemedim. "Hello word" mesajı geliyor. Ama buraya hisse ismi yön ve fiyat bilgisini nasıl atabilirim.
Bol kazançlar dilerim.
if (ind1[i] > ind2[i] ) Sinyal = "A";
Sistem.Yon[i] = Sinyal;
SonYon = Sinyal;
fiyat = V[i].Close;
string urlString = "https://api.telegram.org/bot{0}/sendMessage?chat_id={1}&text={2}";
string apiToken = "5950787667:AAF5LbeZaLckZEFb5i4japBAQl.....vTc k";
string chatId = "577.....8";
string mesaj = "Hello world!";
System.Net.WebRequest.Create(String.Format(urlStri ng, apiToken, chatId, mesaj)).GetResponse().GetResponseStream();
// Sistem.Parametreler[0]= V[i].Date.ToString("dd.MM.yyyy - HH:mm"); //sistemgetir ile okutabilmek için
// Sistem.Parametreler[1]= C[i].ToString(); //sistemgetir ile okutabilmek için
// Sistem.Parametreler[2] = SonYon; //sistemgetir ile okutabilmek için
************************************************** **************************************
//Proje öncesi işlemler
1- telegramda @botfather ile sohbet ederek keyleri oluşturun.
Telegram botunu yapmaya, Telegram’a girerek başlayalım. Kişi arama bölümüne “botfather” yazalım. Bu bot, Telegram’ın geliştiricilere sunduğu resmi bottur. Kişiyi ekledikten sonra konuşma açıp /start diyoruz. Bu esnada bize gönderebileceğimiz komutları listeleyecektir. Yeni bir bot oluşturacağımız için ilk olarak /newbot komutunu gönderiyoruz. Daha sonra bizden botun ismini soracaktır. Buraya botun adını giriyoruz. Örneğin “Örnek Bot” diyebiliriz. Daha sonra botun kullanıcı adını soracaktır. Bunu da “ornek_bot” yapalım. Kullanıcı adını başarılı olarak aldıysak bize bir erişim kodu (access token) verecektir. Bu kodu saklayalım.
2-botunuzla kendi hesabınızdan sohbet başlatın.
3-https://api.telegram.org/x:y/getupdates adresinde yaptığınız sohbetin chat id sini bulun. bulduk:12345 olsun.
telegram sadece chat id yada telegram kanalı username'e mesaj gönderebilir.
Mail ile bilgi almakdan daha iyi yöntemler var aslında.
Anlık bilgilendirmeleri Telegram ile alıyorum. User.dll kullanan arkadaşlara öneririm.
1- Telegramda botfather ile keyleri alın.
2- nuget ile Telegram.Bot apisini projeye dahil edin.
3-Bot.SendTextMessageAsync metodu ile size ait bot ile kendi telegram hesabınıza mesaj atabilirsiniz.
************************************************** *****************************************
Bu mesajı silmeyi bulamadım. Twitter.dan erol_mutlu sağ olsun yardımcı oldu. Akşam buraya eklemek isterim dogrusunu.
Başkalarına faydası olabilir diye.
Herkese merhaba. Başlığı baştan sona okuyamadım maalesef çok sayfa olduğu için. O yuzden bir seyleri tekrar ediyorsam lutfen uyarın.
Ideal platformu üzerinde elle yaptığım işlemleri robot yazılım ile otomatize etmek istiyorum. Başlangıç olarak (örnek amaçlı) bir kaç hisse tanımladım. Mantığı doğru oturtursam listeleri vs çeşitlendireceğim. Ama ilk adımda takıldım.
Aşağıdaki kodu kaydettiğimde çok sayıda uyarı alıyorum. Sebebini anlamadım. Yardımcı olur musunuz?
Teşekkürler.
------------------------------------------------------------------------------------------
//SISTEME DAHIL OLAN SPOT HISSE KODLARI
var AEFES = Sistem.YuzeyselVeriOku("IMKBH'AEFES");
var AKBNK = Sistem.YuzeyselVeriOku("IMKBH'AKBNK");
var THYAO = Sistem.YuzeyselVeriOku("IMKBH'THYAO");
//SISTEME DAHIL OLAN VADELI KONTRATLAR
var AEFES_F1 = Sistem.YuzeyselVeriOku("VIP'F'AEFES0223");
var AKBNK_F1 = Sistem.YuzeyselVeriOku("VIP'F'AKBNK0223");
var THYAO_F1 = Sistem.YuzeyselVeriOku("VIP'F'THYAO0223");
var THYAO_F2 = Sistem.YuzeyselVeriOku("VIP'F'THYAO0323");
var THYAO_F3 = Sistem.YuzeyselVeriOku("VIP'F'THYAO0423");
//HISSE SEMBOLLERINI SON FIYATA TANIMLA
var AEFES = AEFES.LastPrice
var AKBNK = AKBNK.LastPrice
var THYAO = THYAO.LastPrice
//VIOP SEMBOLLERINI SON FIYATA TANIMLA
var AEFES_F1 = AEFES_F1.LastPrice
var AKBNK_F1 = AKBNK_F1.LastPrice
var THYAO_F1 = THYAO_F1.LastPrice
var THYAO_F2 = THYAO_F2.LastPrice
var THYAO_F3 = THYAO_F3.LastPrice
//VADELI KONTRATLARIN VADEYE KALAN GUNLERI
var VADE1KG = THYAO_F1.DaysToExpiry;
var VADE2KG = THYAO_F2.DaysToExpiry;
var VADE3KG = THYAO_F3.DaysToExpiry;
//PAIR SEMBOL TANIT
var AEFES_SF1 = Sistem.SembolTanimla("DFN'AEFES_SF1",2);
var AKBNK_SF1 = Sistem.SembolTanimla("DFN'AKBNK_SF1",2);
var THYAO_SF1 = Sistem.SembolTanimla("DFN'THYAO_SF1",2);
var THYAO_SF2 = Sistem.SembolTanimla("DFN'THYAO_SF2",2);
var THYAO_SF3 = Sistem.SembolTanimla("DFN'THYAO_SF3",2);
//PAIR SEMBOL TANIMLA
var AEFES_SF1.Description = "AEFES_F1 - AEFES";
var AKBNK_SF1.Description = "AKBNK_F1 - AKBNK";
var THYAO_SF1.Description = "THYAO_F1 - THYAO";
var THYAO_SF2.Description = "THYAO_F2 - THYAO";
var THYAO_SF3.Description = "THYAO_F3 - THYAO";
//PAIR HESABINI TANIMLA
var AEFES_SF1.LastPrice = Convert.ToSingle(AEFES_F1 - AEFES);
var AKBNK_SF1.LastPrice = Convert.ToSingle(AKBNK_F1 - AKBNK);
var THYAO_SF1.LastPrice = Convert.ToSingle(THYAO_F1 - THYAO);
var THYAO_SF2.LastPrice = Convert.ToSingle(THYAO_F2 - THYAO);
var THYAO_SF3.LastPrice = Convert.ToSingle(THYAO_F3 - THYAO);
//PAIR GUNCEL
Sistem.YuzeyselGuncelle(AEFES_SF1);
Sistem.YuzeyselGuncelle(AKBNK-SF1);
Sistem.YuzeyselGuncelle(THYAO-SF1);
Sistem.YuzeyselGuncelle(THYAO-SF2);
Sistem.YuzeyselGuncelle(THYAO-SF3);
------------------------------------------------------------------------------------------
Şu şekilde yazınca çalıştı. Değişken tanımlamalarında çok rakamlara girmemek gerekiyor herhalde.
var AEFES = Sistem.YuzeyselVeriOku("IMKBH'AEFES");
var AKBNK = Sistem.YuzeyselVeriOku("IMKBH'AKBNK");
var THYAO = Sistem.YuzeyselVeriOku("IMKBH'THYAO");
var AEFES_F = Sistem.YuzeyselVeriOku("VIP'F_AEFES0323");
var AKBNK_F = Sistem.YuzeyselVeriOku("VIP'F_AKBNK0323");
var THYAO_F = Sistem.YuzeyselVeriOku("VIP'F_THYAO0323");
var AEFES_S = Sistem.SembolTanimla("DFN'AEFES_S",2);
var AKBNK_S = Sistem.SembolTanimla("DFN'AKBNK_S",2);
var THYAO_S = Sistem.SembolTanimla("DFN'THYAO_S",2);
AEFES_S.Description = "AEFES_FUTURE - AEFES_SPOT";
AKBNK_S.Description = "AKBNK_FUTURE - AKBNK_SPOT";
THYAO_S.Description = "THYAO_FUTURE - THYAO_SPOT";
AEFES_S.LastPrice = AEFES_F.LastPrice - AEFES.LastPrice;
AKBNK_S.LastPrice = AKBNK_F.LastPrice - AKBNK.LastPrice;
THYAO_S.LastPrice = THYAO_F.LastPrice - THYAO.LastPrice;
Sistem.YuzeyselGuncelle(AEFES_S);
Sistem.GrafikGuncelle(AEFES_S);
Sistem.YuzeyselGuncelle(AKBNK_S);
Sistem.GrafikGuncelle(AKBNK_S);
Sistem.YuzeyselGuncelle(THYAO_S);
Sistem.GrafikGuncelle(THYAO_S);
Merhaba arkadaşlar,
İdela ile SMS gönderebilmek ve Telegrama mesaj atabilmek için user.dll lisansı mı gerekiyor.
Hangi yöntem daha hızlı, makineyi kasmadan ve robot kodlarını yavaşlatmadan çalışır.
merhabalar idealde bu koddaki 200 kısmını nasıl yazabiliriz ?
STOCHRSI(C,14,200)
var v = Sistem.GrafikVerileri;
var c = Sistem.GrafikFiyatOku(v, "Kapanis");
var rsi = Sistem.RSI(c, 14);
int pd = 200;
var hrsi = Sistem.HHV(pd, rsi);
var lrsi = Sistem.LLV(pd, rsi);
var srsi = Sistem.Liste(v.Count, 0);
for (int i = 0; i < rsi.Count; i++)
{
srsi[i] = hrsi[i] == lrsi[i] ? 0 : 100 * (rsi[i] - lrsi[i]) / (hrsi[i] - lrsi[i]);
}
Sistem.Cizgiler[0].Deger = srsi;
Elimde iki ayrı veri kaynağı var ve hala cevabını bulamadım. Eğer siz kendi platformunuzdan bakıp yardımcı olursanız sevinirim.
Sorun şu. KRDMD aylık log. grafikte.
Veri kaynağımın birisinde ziraat trader kanal üst bandına dayanmış.
Diğer veri kaynağım Matriks MS dowlender oradan aldığım veride ise kanal üst bandı kırılmış ve yeni kanala geçmiş.
Bu grafiklerden hangisi doğrudur. Yardımcı olacak arkadaşlara teşekkür ederim.
https://resmim.net/cdn/2023/03/04/Ue2MT.png
https://resmim.net/cdn/2023/03/04/Uev3L.png
İdealde matriks ile birebir aynı görüntü var.