@fr3762
Kivanc
Printable View
iPhone cihazımdan hisse.net mobile app kullanarak gönderildi.
sorunun çözümünü yazmışsınız, muhtemelen eski hatayı gördünüz siz.
NameValueCollection içinde "using System.Collections.Specialized;" eklemeniz yeterli.
Tamamı şu şekilde yani;
Kod:
using System.Net;
using System.Collections.Specialized;
public void SMS(string numara , string mesaj)
{
try
{
string URL = "http://api.smsvitrini.com/index.php";
WebClient webClient = new WebClient();
NameValueCollection formData = new NameValueCollection();
formData["islem"] = "1";
formData["user"] = "KULLANICI ADINIZ";
formData["pass"] = "ŞİFRENİZ";
formData["mesaj"] = mesaj;
formData["numaralar"] = numara;
formData["baslik"] = "SİZE VERİLEN BAŞLIK BİLGİSİ";
byte[] responseBytes = webClient.UploadValues(URL, "POST", formData);
string responsefromserver = Encoding.UTF8.GetString(responseBytes);
webClient.Dispose();
}
catch (Exception ex)
{
}
}
Asagidaki birebir tutuyor ISCTR grafiginde karsilastirma yapildi:
var V = Sistem.GrafikVerileri;
var H = Sistem.GrafikFiyatOku(V, "Yuksek");
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
var L = Sistem.GrafikFiyatOku(V, "Dusuk");
var O = Sistem.GrafikFiyatSec("Acilis");
var per1 = 7;
var Yontem = Sistem.Parametreler[1];//Exp
var MMA = Sistem.MA(C, Yontem , per1 ) ;
var SMMA = Sistem.MA(MMA, Yontem , per1) ;
var IMPETMMA = Sistem.Liste(V.Count, 0);
var IMPETSMMA = Sistem.Liste(V.Count, 0);
var DIVMA = Sistem.Liste(V.Count, 0);
var AVERIMPET = Sistem.Liste(V.Count, 0);
var TDF = Sistem.Liste(V.Count, 0);
var NTDF = Sistem.Liste(V.Count, 0);
var x2 = Sistem.Liste(V.Count, 0);
var ahTDF = Sistem.Liste(V.Count, 0);
for (int i = 2; i < V.Count; i++)
{
IMPETMMA[i] = MMA[i] - MMA[i-2] ;
IMPETSMMA[i] = SMMA[i] - SMMA[i-2] ;
DIVMA[i] = (float) Math.Abs(MMA[i] - SMMA[i]);
AVERIMPET[i] = (IMPETMMA[i]+IMPETSMMA[i]) / 2.0f ;
TDF[i] = DIVMA[i]*(float) Math.Pow(AVERIMPET[i],3);
x2[i] = (float) Math.Abs(TDF[i]) ;
ahTDF[i] = (float) Math.Abs(TDF[i]) ;
}
var x1 = 3 * per1 ;
var HHV = Sistem.HHV(x1, x2) ;
var ontdf = Sistem.Liste(V.Count, 0);
for (int i = 1; i < V.Count; i++)
{
NTDF[i] = TDF[i]/HHV[i] ;
ontdf[i] = NTDF[i-1] ;
}
var x3 = Sistem.Liste(V.Count, 0.5f);
var x4 = Sistem.Liste(V.Count, -0.5f);
Sistem.Cizgiler[0].Deger = NTDF; // panel 2
Sistem.Cizgiler[1].Deger = x3 ; // panel 2
Sistem.Cizgiler[2].Deger = x4 ; // panel 2
https://i.hizliresim.com/2EOb8d.png
https://i.hizliresim.com/7yB4gP.png
Ben pek begenmedim ama ayarlari ile oynarsaniz Garan 60dk'likta guzel sonuc aliniyor. Mesela [i-2] [i-1] gibi ;)
sayın @vVvendetta
bende mi hata var anlayamadım.. NTDF yi cizdiremedim verdiğiniz koda gore?
https://i.hizliresim.com/LOvLl1.png
var Yontem = Sistem.Parametreler[1];//Exp
Buna dikat ettiniz umarim. Parametreler kismian Exp yazmayi unutmayin
[IMG]https://i.hizliresim.com/lbQVGr.png[/IMG]
Aracı kurum bana matriks veri terminali verdi 10-15 gündür onu kullanıyorum. Epeydiy işlem yapmıyordum bu yüzden matrikse felan yabancıyım. İdeal felan eskiden yoktu. Şimdi bir çok kişi ideali tavsiye ediyor. Özellikle algı trade konusunda daha kolay, öğrenilmeye daha yatkın felan diyorlar.
Geçmişte hem matriks hemde ideal kullananlar varsa yorum yapmanızı istiyorum hangi farklar var aralarında , artı eksi yönleri nelerdir gibi vs. reklam olmasın diye özeldende cevap yazabilirsiniz.
arkadaşlar robotun emirlerini aracı kuruma göndermesi , aracı kurumun teminat kontrolü ve sonrasında emri borsaya göndermesi, robota emir alındı onayı vermesi arasında bir zaman geçiyor.
bu zaman aracı kurumdan diğerine değişiyor
ideal bu bilgiyi ideal\TradeLog folderı altında gün bazında txt dosyalarda tutuyor
mesela 17.11.2017 dosyası 20171117.Txt olarak bulunuyor
dosyada şu şekilde bilgi var
alttaki Süre karşısındaki rakam ms cinsinden emirin gidip onayı arasında geçen süreyi söylüyor .Kod:>>>>><<<<<
2
Giden Mesaj : 15:04:22
Hesap : xxxxx
komut=VIOP_ISL¶m (burada emir parametreleri)
Gelen Mesaj : 15:04:22
Hesap : xxxxx
OK
MSG:0;xxxxx;;xxxxxx;
Süre : 16
>>>>><<<<<
aracı kurumlar arasında değişen süre bu.
Daha sağlıklı işlem yapmak kaymaları azaltmak için aracı kurumları karşılaştırmaya ne dersiniz .
ben a1 de 30 civarında gedikte 15 civarında görüyorum. şelale durumlarında her ikisinde 70 civarına çıkmış.
Özellikle ben işyatırımı merak ediyorum .
kontrol edip rakamları yazalımmı
İdeal usd datası gelmeyen var mı?
Bende bunu sormak icin girdiydim.
GT-I9190 cihazımdan hisse.net mobile app kullanarak gönderildi.
ip kesin olmayabilir .
vps de command prompt dan ideali 95.0.4.174 den pingleyebilirsin 1 ms falan çıkar , birde speedtest.net den ttelekom istanbul serverını hız testi yapabilirsin ,istanbul 1-2 ms çıkar .
:) ip yi nereye kaydettiklerinin önemi yok , istanbul ttlekom avrupayı seçebilirsin
edit :hocam resimde ip var onu acilen sil istersen
beni sürekli yokluya zepevenkler
https://i.hizliresim.com/GyXXoy.png
tamam hocam deniyim teşekkürler ,
iyi fikir. admin kullanıcı adı değişik şifre sağlam ama tedirgin ediyo tabi
Merhaba;
Aklıma bir sey takıldı da..
Basit bir sistemde, örneğin rsi 30 a geldiğinde al, 70 e geldiğinde sat tarzı bir sistemde, oldu ki, rsi 68 den donup dusmeye basladı. Sistemim satamamış oldu.
Bu yuzden satım sartına, gordugu en yuksek bardan sonra sat nasıl yazılabilir..
Yani rsi 68 den 65 e dustu, burada artık satmasını istiyorum.
klasik trailing stop işi
karı değil rsi yı takip edeceksin
longda son x barda en yüksek rsi kontrol edecek (r)
son bar rsi< r-y olursa(y dönüş miktarı parametresi) sat verecek
tabi bir seviye koyman lazım rsi 30 da aldın 35 e çıktı 30 a dönünce satmamasını istiyosan
sistemin yapısına göre yapmak lazım ,
basitce şöyle olabilir.
bu yapıyla yavaş yavaş düşerse sıkıntı olabilir ona dikkat .
Kod:var kacbar=5;
var trail=5;
var ustseviye=60;
var toprsi=Sistem.HHV(kacbar,Sistem.RSI(14));
// sistemin pozisyon işlem kısmına
if (toprsi[veri.Count-2]>ustseviye && Sistem.RSI(14)[veri.Count-2]<toprsi[veri.Count-2]-trail && (pozisyon longsa)
{sat}
Sayın @kenten;
hata alıyorum. yardımcı olur musunuz rica etsem?
// RSI hesapla
var RSI = Sistem.RSI (14);
var Veriler = Sistem.GrafikFiyatSec("Kapanis");
var kacbar=5;
var trail=5;
var ustseviye=60;
var toprsi=Sistem.HHV(kacbar,Sistem.RSI(14));
// sistemin pozisyon işlem kısmına
if (toprsi[veri.Count-2]>ustseviye && Sistem.RSI(14)[veri.Count-2]<toprsi[veri.Count-2]-trail && (pozisyon longsa)
{sat}
Sistem.Cizgiler[0].Deger = RSI;
var SonYon = "";
for (int i = 2; i < Veriler.Count; i++)
{
if (RSI[i-1] < 30 && RSI[i] > 30 )
if ( SonYon != "A")
{
Sistem.Yon[i] = "A";
SonYon = "A";
}
if (RSI[i-1] > 70 && RSI[i] < 70 )
{
if ( SonYon != "S")
{
Sistem.Yon[i] = "S";
SonYon = "S";
}
}
}
Arkadaşlar daha önce sorulduysa şimdiden özür dilerim.
Hisse grafiğindeki PD/DD rakamı ile bilanço kısmından aynı hissenin PD/DD rakamı birbirinden farklı. Bilanço kısmındakinin 1.19 gözükmesinin sebebi sanırım bilançonun açıklandığı tarihi baz almasından kaynaklanıyor.
Sorgu modülünden günlük olarak PD/DD 1.5 ile 2 arasıındaki hisseleri bulmak mümkünmüdür?
Saygılar….
https://i.hizliresim.com/NOd8Yg.jpg
MA üzerinden bir örnek tasarlyabilirmisiniz arkadaşlar ben bir türlü yapamadım.
2 TANE MA KESISIME GORE AL SAT YAPAN BIR SISTEMIN.
GETİRİ EĞİRSİNİN içine YATAY 3 ADET ÇİZGİ YERLEŞTİRMEK İSTİYORUM
ÖRNEGIN 15,000 PUANA 20,000 PUANA ve 25,000 PUANA.
Sİstem. MA Y AGORE AL SAT YAPACAK BUNUN GETİRİ EGRİSİNİ ÇİZECEK.
GETİRİ EGRİSİ İÇİNDEki 1. çizgi getiri eğirisi Küçükten büyüğe kesmişse İşlemlere devam Büyükten küçüğe dönmüşse flat.
2. çizgiden küçükten büyüğe geçmişse işleme devam büyükken küçüğe dogru kesmişse flat.
3. çizgi de aynı sekılde.
bunu örnek amaclı yazabılırmısınız.
ben tasarlarken çizgiler birbirini etkiliyor. ortada kalan cızgı calısmıyor vesaire bir türlü yapmadım.
Evet doğrusu grafik erhan bey;
sorgu modülünden idealin tanımlamış olduğu sorgu_örnek_2 sistemini tarattığımızda bilançodaki PD/DD verilerine göre hisseleri tarıyor. Bilançodaki değer ile grafikteki değer arasında da çok fark oluyor.
Demek istediğim grafikteki PD/DD'ne göre hisselere tarama yaptırabilir miyiz ?
idealdeki bilanço menüsü
https://i.hizliresim.com/pGakaa.jpg
ben hep şöyle bir hata veriyo
23.11.2017 20:11:38
Dizin aralık dışındaydı. Negatif bir değer olmamalı ve koleksiyonun boyutundan daha küçük olmalıdır.
Parametre adı: index
Arkadaşlar eski arşivdeki bar sonu beklemeyen robotu gülcelledim testde sorun yok gibi görünüyor, var sembol tanıttım sembol kodu yerleştirmeleri dogru görünüyor mu? emir tipi emir fiyat tipleri falan bi bakarmısınız atladıgım bir şey var mı?
Alıntı:
var LotSize = 1.0;
var Periyot = "5";
var KullanilanSistem = ''Sistem";
var DefaLimiti = 3;
var Sembol = "VIP'F_XU0301217";
// VIOP - Canlı Barda Emir Gönderim Kalıbı
var MySistem = Sistem.SistemGetir(KullanilanSistem, Sembol, Periyot);
if (MySistem != null)
{
var V = MySistem.GrafikVerileri;
var Saat = V[V.Count - 1].Date;
if (Sistem.SaatAraligi("09:37", "18:20") && V[V.Count - 1].Date.Day == DateTime.Now.Day)
{
var DefaAnahtar = Sistem.Name + " , " + "Defa" + " , " + Saat.ToString("yyyyMMddHHmm");
var DefaSayisi = Sistem.SayiTablosunuOku(DefaAnahtar);
if (DefaSayisi < DefaLimiti)
{
var EmirSembol = Sembol;
var Pozisyon = Sistem.PozisyonKontrolOku(Sistem.Name + " , " + EmirSembol);
var SonYon = "";
for (int i = 0; i < MySistem.Yon.Count; i++)
{
if (MySistem.Yon[i] != "")
SonYon = MySistem.Yon[i];
}
// Emir Miktarını Hesapla
var Miktar = 0.0;
if (SonYon == "F" && Pozisyon != 0) // Flata Geç
Miktar = -Pozisyon;
else if (SonYon == "A" && Pozisyon != LotSize) // Al
Miktar = LotSize - Pozisyon;
else if (SonYon == "S" && Pozisyon != -LotSize) // Sat
Miktar = -LotSize - Pozisyon;
// Emir Gönder
if (Miktar != 0)
{
Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + EmirSembol, Miktar + Pozisyon);
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Miktar > 0 ? "ALIS" : "SATIS";
Sistem.EmirMiktari = Math.Abs(Miktar);
Sistem.EmirSuresi = "KIE";
Sistem.EmirTipi = "PYS";
Sistem.EmirFiyatTipi = "Aktif";
Sistem.EmirGonder();
DefaSayisi++;
Sistem.SayiTablosunuGuncelle(DefaAnahtar, DefaSayisi);
}
}
}
aşağıdaki satır gereksiz sanırım;
Sistem.EmirFiyatTipi = "Aktif";
Zaman ve fiyat kontrolü bu şekilde olabilir;
if (
Sistem.HaftaSonu == false
&& Sistem.SaatAraligi("09:30", "18:14")
&& Sistem.SonFiyat(Sembol) != 0f
)
Veri indirme olabilir;
Sistem.GrafikVerisiIndir(Sembol, Periyot);
Grafik yönü daha hızlı bulunabilir;
//Grafik Sistemin Son Yönünü Bul-----------------------
string SonYon = "";
for (int i = GrafikSistem.Yon.Count-1; i >=0 ; i--)
{
if (GrafikSistem.Yon[i] != "")
{
SonYon = GrafikSistem.Yon[i];
break;
}
}
//-------------------