Bu menüden eksik grafikleri tamamlayabilirsiniz.
https://i.hizliresim.com/lOjl1X.jpg
Printable View
Bu menüden eksik grafikleri tamamlayabilirsiniz.
https://i.hizliresim.com/lOjl1X.jpg
Bir soru sorabilirmiyim degerli arkadaslar.
ideal veri terminalinde otomatik Elliot sayımı özelliği var mı?
tesekkürler
Saygılar
YTD
Selamlar, Herkese bol kazançlar dilerim. Sizlere bir sorum olacak.
İdeal Robot tanımlarken şöyle bir şeye ihtiyacım oldu içinden çıkamadım.
Grafik üzerinde 7 ve 11 tl arasında olmak üzere 5 adet çizgi olsun. Dakikalık grafikte fiyat her hangi bir anda 7tl' ye eşit olduğu noktada 10 lot alım yapalım. Sonra fiyat 6,95' düşşün. Bir kaç dk içinde fiyat bir daha 7' ye eşit yada üstünde olduğu durumda tekrar 7 tl den alım yapılmasın bir sonraki çizgi yada çizgiler yani 8 -9 -10 tl fiyata eşit yada altında kalıncaya kadar sistem taramaya devam etsin..
Kısacası her döngüde 7' tlden 10 lot, 8 tl den 20 lot... vb aldığımı bir kenarda tutmak ve tekrar bu rakamlar gelirse bu seviyelerden emir yollamayı önlemek istiyorum.
Bunun için seviyelerin ve karşılığında alınan lotların tutulduğu iki Liste yaptım ve değerleri kaydettim. Fakat Robot her sorgu başlangıcında tüm bu listeleri doğal olarak yeniden hesaplıyor. Dolayısıyla her defasında alım yada satım baştan gerçekleşiyor. Bu lot ve seviye tutarlarını genel olarak tanımlayabilmek ve son değerlerini dongüdeki şartlara referans alabilmek mümkün müdür?
Bu konuda fikir verebilecek ve yardımcı olabileceklere teşekkür ederim.
sayitablosunuoku sayı tablosunuguncelle metodları var . bilgiyi hafızaya atar. döngü başında okur ,pozisyon açtığında güncellersin ideali kapatmadıkça kalır. görünür yerde dursun müdahale edeyim dersen portfoy arayuzune atabilirsin
pozisyonkontrolguncelle pozisyonkontroloku metodları ile
Çözüm, ihtiyaç duyulan değerleri döngü içinde diğer hesaplamalarda olduğu gibi listede tutmak.
İhtiyaç duyulan noktalarda bu listelerden okumak, saymak vb.
aşağıdaki kod garip gelebilir belki ama yapacağınız işe göre çözümde bunlar olacak.
bu tarz bir yöntem yalnızca aynı periyot içindeki oynaklıkları yönetmek de işe yaramaz.Aynı periyot içerisndeki durumlarda harici ortama veri yazıp okumak gerekli oluyor.
var YeniListe = Sistem.Liste(0);
bool sartok=false;
for....
....
if(..... && sartok !=true)
{
Sistem.Yon[i] = "A";
Sistem.Seviye[i] = 7;
YeniListe[i] = 7 ;
sartok=true;
}
sayın orhan akdoğan
otomatik trend çizgisi çizebilen veya kendi çizmiş olduğumuz trend çizgilerine yukarı veya aşağı kırdığında alarm ekleyebileceğimiz bir sistem veya çalışmanız varmı acaba
Ayrıca söylenenlere ek olarak bu bilgileri harici TXT dosyasında tutmak bence en mantıklısıdır.Her defasında bu TXT (Veya 2 yada daha fazla TXT dosya olabilir) yazabilir ve okuyabilirsiniz.TXT okuma ile ilgili google bir çok örnek bulabilirsiniz.
Bunları aratın:
File.AppendAllText()
File.ReadAllLines()
maalesef olmadı çalışmam. zaman harcansa otomatik trend çizdirmek ve bununla kontrol sağlamak mümkün aslında.
csharp+ how do calculate a trendline şeklinde aratarak hazır kütüphaneler görebilirsiniz.
Bunları test edip işe yarayan birini user.dll projesine çevirip kullanabiliriz aslında.
şunun gibi mesela:
https://www.codeproject.com/Articles...nd-calculation
user daki metoda grafik verileri paramı geçilecek metodda list tipinde trend x,y leri döndürecek.
bunu da ideal sistemde ya yazı ekle ile yada araştırmadım ideal içinde direk line çizen bir kod var ise onu kullanarak çizdirebiliriz.
Matriks Prime ile programa yeni birçok özellik gelmiş,Borsada birçok kişinin yaşadığı en büyük sorun olan StopLoss (Zarar Durdur) yeni Matriks Prime güncellemesi ile programa eklenmiş
sayın ideal yetkilileri
bu durgunluğunuzun bu suskunluğunuzun sebebi hikmedi nedir ? yeniliklere ve müşteri ihtiyaçlarına karsı neden hiç aksiyon almıyorsunuz ?
biz ideal kullanıcıları ne zaman stoplos ,izleyen stop emri , kar al emiri veya izleyen kar al emirleri girebileceğiz , ne zaman trend çizgilerine alarm kurabileceğiz
aracı kurumumuzu arayıp ideali kapatıp matriks geçmek istiyorum mu diyelim ?
ideal dediğiniz herşeyi ve fazlasını yapar, biraz uğraşmak lazım
matrikse karşı tek dezavantajı data alımında fix kullanmaması
sayın kenten
ben manuel olarak işlem yapıyorum
grafik üzerine çizdiğimiz trend çizgilerine aşağı veya yukarı kırdığında alarm kurabiliyormuyuz
kolayca stop emirleri girip grafik üzerinden aşağı yukarı kaydırabiliyormuyuz
fazlasını istemiyom
fazlasını isteyen altın formulu altın kodu aramaktan altın kodu yazmaya çalışmaktan para kazanmaya vakit bulamayan dolu burası
sizin durumunuzun çözümünü bilmem ama vardır muhtemelen bi çaresi.
diğer yazdığınızla ilgili gavurun bi sözü vardır cuk oturuyor. "mükemmel iyinin düşmanıdır" diye
istediğiniz hisseye kanalı çizip kanala çift tıklayarak açtığınız penceredeki değerleri aşağıdaki şablona yazarsanız trend kırılımlarında mesaj gösterir, isterseniz emir gönderir, isterseniz ses çalar. Robot olarak çalıştırmanız gerekiyor. Başka çözümleride muhtemelen vardır.
https://i.hizliresim.com/Pl0L68.png
https://i.hizliresim.com/W70M1Q.png
sayın ümit koç cevabınız için teşekkürler
ancak söylediğiniz şeyin yapılabirliliği yok maalesef
onca tarih dakika enstrümantrend uçları nereden geçiyo onları yazılacak
kimse yazmaz bunları
matriks te olanı ben size söyleyem
herhangi bir grafikte trend çizgisini çiziyoruz , trend çizgisine sag klick alarm kur
hepsi bu
matrikste trend çizgisine alarmı kur
ekrandan uzaklaş
trend kırıldığında
avazının çıktığı kadar bağırsın proğram , duyunca ekran başına gel ne işlem yapılacaksa yapalım
2 proğram arasındaki kullanım kolaylığı bu
herhangi bir özellik kolay kullanılabilir değilse insanlar o özelliği kullanmıyor
maalesef ideal özellik koyarken kullanım kolaylığını hiç düşünmüyor
Sevgili serseri26, Orhan Akdogan ve Kenten ancak donebildim cevaplariniz icin cok cok tesekkur ederim. Her birinizin onerdigi yolu deneyecegim.
Birde user.dll hakkinda detayli bilgi yani Visual Studioda tanimlanmasi, ideale aktarilmasi gibi sirasiyla tarif edebilecek yada ornek olarak verebilecek bir bilen var midir? Forumda daha once yazilanlari denedim fakat surekli bir Null hatasi aliyorum. Galiba bir yerde bir yalnislik var..
Tesekkur ederim.
1-
vs de Class Library Tipinde bir proje oluşturun.
Proje özelliklerinde, Build sekmesinde, Output Path "C:\iDeal" yaparsanız ideal kapalıyken derlediğinizde copy-paste gerek kalmaz.
cs dosyası içeriği:
using System;
using System.IO;
using System.Collections.Generic;
using System.Data;
namespace ideal
{
public class User
{
public string TestMethod(dynamic Sistem)
{
return Sistem.Parametreler[0];
}
}
}
3-
ideal sistem kodu:
Sistem.Mesaj(user.TestMethod(Sistem));
Bu yöntem ile idealde sistem içerisine yazdığınız her şeyi vs de kodlayabilirsiniz.
Benim tüm ideal sistemlerim tek satırdır.
Orhan Bey Merhabalar tekrar çok teşekkür ederim muhtemelen çok basit prosedur bu fakat ben bir noktada takılıyorum,
Şimdi müsadenizle, ben size sırası ile yaptıklarımı yazayım;
1- VS Class Lib.projesi oluşturdum.
2- Sizin bana yazdığımız kodu bu projeye değiştirmeden kopyaladım.( Kütüphaneleri de aldım)
3- Build kısmından output olarak ideal klasörünü seçtim.
4- Projeyi Derledim.
5- İdeali açtım. Yeni bir boş sistem açtım ve içerisine sizin gönderinizdeki 3 kısımdaki kodu kopyaladım.
6- Formula Test yada Kaydet düğmesine bastığımda" Null bir başvuruya bağlanma çalışma zamanında gerçekleştirelemez" uyarısı çıktı.
7- Belki dedim bu bir grafik üzerinde açık değil hata bundan kaynaklanıyordur.. Çift tıkladım bir grafik üzerine attım sistemi..
8 -Sonuç yine üstteki hata karşıma çıkıyor.
Dll içerisinde ki metodun içeriği bir şekilde bana msgbox kutusu olarak karşıma çıkması gerekiyor değil mi?
Muhtemelen çok basit geliyordur buradaki kullanıcılara bu sorun fakat ben birtürlü bu konuda başarılı olamadım... İsterseniz Print screen olarakta atabilirim..
Sizce nerede eksik yada hata yapıyorum?
Ayırdığınız zaman için tekrar teşekkürler.
Sistem.Mesaj(User.TestMethod(Sistem));
"u" harfi küçük olduğu için alıyorsunuz sanırım, tekrar dener misiniz, direk foruma yazmıştım kodu, o yüzden hatalı olmuş sanırım.
grafik sisteme çevireyim örneğimizide;
using System;
using System.IO;
using System.Collections.Generic;
using System.Data;
namespace ideal
{
public class User
{
public string TestMethod(dynamic Sistem)
{
// parametreleri al
var Yontem = "Simple";
var Periyot1 = 5;
var Periyot2 = 22;
// kapanış fiyatlarını oku
var Veriler = Sistem.GrafikFiyatSec("Kapanis");
// hareketli ortalamaları hesapla
var MA1 = Sistem.MA(Veriler, Yontem, Periyot1);
var MA2 = Sistem.MA(Veriler, Yontem, Periyot2);
// hesaplanan verileri çizgilere aktar ve açıklama ekle
Sistem.Cizgiler[0].Deger = MA1;
Sistem.Cizgiler[0].Aciklama = "MA " + Periyot1;
Sistem.Cizgiler[1].Deger = MA2;
Sistem.Cizgiler[1].Aciklama = "MA " + Periyot2;
// strateji
Sistem.KesismeTara(MA1, MA2);
Sistem.GetiriHesapla("01/01/2013", 0.00); //Belli bir tarihten itibaren Getiri eğirisi çizdirilir, işlemlerde 0 puan kayma dikkate alınır.
var Renk1 = Sistem.Renk(50, 255, 255, 180);
Sistem.ZeminYazisiEkle("Toplam İşlem Sayısı = " + Sistem.GetiriToplamIslem.ToString("0") , 1, 200, 100, Renk1, "Tahoma", 20); //
}
}
}
3-
ideal sistem kodu:
User.TestMethod(Sistem);
Orhan Bey Selamlar, İlk gönderinizde "u" harfini bende büyük yaparak denemiştim. Az önce evden ikinci bir laptopda ilk gönderdiğiniz kodu tekrar yukarıda anlattığım şekilde denedim yine aynı Null hatasını aldım.. İçinden çıkamadım gerçekten..
Şuan son gönderdiğinizi deniyorum. Projeyi derlerken;
Error CS0161 'User.TestMethod(dynamic)': not all code paths return a value diye bir hata veriyor. Bunu düzeltmek için nasıl bir yol izlenmeli?
selam, harika, çalışmış aslında,
public void TestMethod(dynamic Sistem) yaparsanız bitmiştir.
önceki örnek ideal sistem penceresinde sağ üst köşede elle yazılan param 0 ı döndürüyordu, null hatası büyük ihtimalle orayı boş bırakmanızdan kaynaklandı.
fakat son örneğin hatası aslında user.dll i çalıştırdığınızı gösteriyor ve string dönüşünü void yaptığınızda grafik çizilecektir.
Orhan Bey, gerçekten teşekür ediyorum size uğraştırdım bayağı sizi , dediklerinizi yapmama rağmen hala Null hatası alıyorum. Pes etmek istemiyorum fakat başka bir durumdan kaynaklanan bir sorun var sanırım anlayamadığım...
Tekrar tüm yardımlarınız için çok sağolun.
Selam; kıt bilgim ve internetten okuyup uyguladığım kadarıyla bu dll oluşturma işini anlatayım. Daha kısa yolları olabilir.
Visual Studio 2017 türkçe versiyon kullanıyorum.
programda yeni proje oluştur kısmından ekrandaki bilgilerle User klasörünü oluşturdum.
https://i.hizliresim.com/A1yjZp.png
Daha sonra aşağıdaki gibi açılan ekrandaki herşeyi sildim.
https://i.hizliresim.com/5DGj8R.png
Sildiğim ekrana şu hazır kodu yapıştırdım;
Kod:using System;
using System.IO;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Threading;
using System.Net;
using System.Net.Security;
using System.Security;
using System.Security.Cryptography;
using System.Collections.Concurrent;
namespace ideal
{
#region User
public class User
{
public void Deneme(dynamic Sistem) // idealde cağirmak için kullanacağiniz isim
{
try
{
// kod buraya
/// kod sonu
}
catch (Exception error)
{
string errorline = "\r\n" + "\r\n" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + "\r\n" + "\r\n" +
"Message : " + error.Message + "\r\n" + "\r\n" +
"Source: " + error.Source + "\r\n" + "\r\n" +
"StackTrace : " + error.StackTrace + "\r\n";
Sistem.AlgoAciklama = errorline;
}
}
#endregion
}
}
İdealde kullandığınız sistemin yapıştırılacağı kısıma da aşağıdaki gibi ideal içindeki hazır kodlardan birini yapıştırdım ve üst kısımdaki "derle"sekmesinden "Çözümü derle" ye tıklayarak dll dosyasını oluşturdum. Eğer kod içinde hata varsa dll yi oluşturmuyor.
https://i.hizliresim.com/D7yjJ3.png
İlk fotodaki gibi User klasörünü masaüstünü seçerek oluşturduysanız ilgili dll dosyası masaüstünüzdeki User klasörünün içinde ( C:\Users\....\Desktop\User\User\bin\Debug ) User.dll olarak oluşmuş olacak.
Bu User.dll dosyasını ideal klasörünün içine kopyalayıp ideali açıp kapatıyoruz ve aşağıdaki ekrandaki gibi sistem tanımlarından sistemimizi "User.Deneme(Sistem);" şeklinde oluşturup grafiğe uyguluyoruz. Detaylı anlattım çünkü anlamak için bende baya uğraştım. İşinize yarar umarım.
https://i.hizliresim.com/76yjZW.png
Ümit o kadar resimle tarif etmişsin özendim.
becereceğimden değil de işte.
hadi dedim bende deniyeyim şu Visual studyoda prg yazmayı.
Kurdum Visual Studyoyu bilgisayara
3-5 deneme yaptım ama beceremedim. :p
en kısa yol bildiğin yol. eski düzen devam.Alıntı:
17.02.2018 17:51:41
Null bir başvuruya bağlanma çalışma zamanında gerçekleştirilemez
selamlar.
Üstün uğraşlarınız için tebrikler.Böyle konuların daha çok olması gerekiyor bence herkes bu şekilde küçük küçük yazarsa buradan iyi bir sonuç çıkar bence.
Öncelikle Lib.cs ne işe yarar daha sonra user.dll ne işe yarar bunlar aciklanirsa konu daha anlaşılır olur sanırım.
M1453 cihazımdan hisse.net mobile app kullanarak gönderildi.
Visual Studio ile ilgili yogun uğraşı görüp cevap vermemek olmazdı.
Size hazır paket sunarak bu işi çözmeyi planlıyorum.
iDeal kurulumunuzun C:\iDeal altında olduğunu varsayarak anlatacağım. Eğer orada değilse aşağıdaki adımlar çalışmayacaktır çünkü bütün ayarlar C:\iDeal e göre yapıldı.
1- Linkten sizin için hazırladığım 7z dosyasını indiriniz. https://file.io/n1GcIF
2- 7z arşivini açıp User klasörü içindeki User.sln dosyasını açınız.
3- iDeal açıksa kapatınız. Kapandığından emin olmadan 4. adıma geçmeyiniz. Emin olmak için görev yöneticisinden ideal.exe nin yok olduğunu görmeniz yeterli.
4- Visual Studio açıkken User projesi üzerine sağ tıklayıp Rebuild(Yeniden derle) diyiniz.
https://i.hizliresim.com/1JGzAA.png
5- Eğer yazdığınız kodda bir hata yoksa bu işlem sonrasında User.dll dosyası C:\iDeal altına otomatik olarak kopyalanacaktır çünkü projeyi öyle ayarladım.
6- C:\iDeal atındaki User.dll'in son güncelleme tarihini (last modified date) kontrol ediniz. Az öncenin tarih ve saatini göstermeli. Eğer daha eski bir tarih veya saati gösteriyorsa bir problem vardır.
7- Sizin için test adında bir metot yazdım. Bunu test etmek için iDeal'i açınız.
8- Boş bir sistem yaratınız.
9- Aşağıdaki kodu kopyalayınız:
User.Test(Sistem);
10- Sistemi kaydediniz.
11- Eğer her şey yolunda ise ekranda
"iDeal ile user.dll i birlestirmeyi basardim."
mesajını görmeniz gerekiyor.
12- Eğer bu mesajı göremiyor iseniz yazdığım adımları bir kez daha gözden geçirmenizi rica ediyorum.
13- Özel ricamdır, karşılaşacağınız problemler için özel mesaj atmayınız.
iDeal ekibinin neden bu şekilde detaylı bir sayfa veya doküman hazırlamadığını anlayamıyorum. Bu arada benden önce yardımcı olmaya çalışan herkese teşekkürler.
----
İleri seviye kullanıcılar için not:
Bugüne kadar Sistem çağrılarının cxSistem olarak tanımalanabildiğini kimsede görmedim. Yazdığım User.cs'da bu şekilde bulacaksınız. Bunu yapabilmenin yöntemi iDeal.exe yi referanslara eklemek. Dolayısıyla intellisense ile cxSistem altındaki metotlar ve özellikler görünür ve derlenir hale gelecektir.
Vakit ayiran herkese ve Orhan Akdogana da kendi adima gercekten cok tesekkur ediyorum. Burada yazilanlari harfien uygulamama ragmen bende sn berabull daki gibi Null hatasi aliyorum. Sistemsel bir sorun olabiliir cozumu olmali tabii bunun Sezai Beye de mail olarak attim. Bakalim mutlaka bir donus yapacaktir kendisi bende buraya yazacagim..
Tekrar katkida bulunan herkese Sevgiler & Saygilar
HTC One M9 cihazımdan Tapatalk kullanılarak gönderildi
Sayın Çağlar,
Çok değerli bilgiler için teşekkürler.Bende çalıştı.
https://i.hizliresim.com/kOXqay.jpg
Anladığım kadarı ile bu dll içine herşey yazıp direk çalıştımak yeterli.Bu şekide gerçek zamanlı Debug yapabiliriz sanırım.Doğru mu anladım. ?
Çağlar Bey Selamlar, dışarıdan yazmıştım mesajımı yazdıklarınızın aynısını daha önce defalarca denememe rağmen Null Hatasını sürekli aldım. Şimdi açıkcası heyecanla eve geldim sizin yönteminizi denemek için lakin verdiğiniz linke tıkladığımda boş bir sayfa ve "{"success":false,"error":404,"message":"Not Found"} diye bir mesaj açılıyor. Sizin attığınız linkin süresi ile ilgili yada benden kaynaklanan bir durum mu bilemiyorum. Acaba tekrar yükleme şansınız var mıdır rica etsem?
Teşekkür ederim.
Haklısınız link çalışmıyor. Orjinal gönderiye yanıt olarak cevap verip içerisindeki linki güncelledim. Bir üstteki gönderide bulabilirsiniz.
Rica ederim, güle güle kullanın :)