a1[i-1] < x9[i] && a1[i] > x9[i] && a1y[i] == 1 ? 1 :
şunun anlamı
a1 bir önceki bar küçükse x9 dan ve a1 şimdiki bar büyükse x9 dan
sadece bu andaki sinyali çekiyor diğer sinyallerı umursamıyor :@
Printable View
a1[i-1] < x9[i] && a1[i] > x9[i] && a1y[i] == 1 ? 1 :
şunun anlamı
a1 bir önceki bar küçükse x9 dan ve a1 şimdiki bar büyükse x9 dan
sadece bu andaki sinyali çekiyor diğer sinyallerı umursamıyor :@
Erhan fikir vermesi açısından şu HHV örnegine bir bak istersen
AL şartı sende flata geç SAT şartı sende poza tekrar gir gibi
Alıntı:
var Veriler =Sistem.GrafikVerileri;
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 M = Sistem.GrafikFiyatOku(V, "OrtaNokta" ) ;
float SonPozisyon = 0;
float SonFiyat = 0;
float ToplamKarZarar = 0;
var IslemMiktari = Sistem.Liste(0);
var Pozisyon = Sistem.Liste(0);
var KarZarar = Sistem.Liste(0);
int periyot1=50;
int periyot2=200;
var HHV = Sistem.HHV(periyot1, "Yuksek");
var LLV = Sistem.LLV(periyot2, "Dusuk");
for (int i = 2; i < Sistem.BarSayisi; i++)
{
// AL
if ( C[i-2] < HHV[i-2] && C[i-1] > HHV[i-2] && SonPozisyon<= 0)
{
if (SonPozisyon == 0)
{
IslemMiktari[i] = 1;
SonFiyat = V[i].Close;
SonPozisyon = SonPozisyon + IslemMiktari[i];
ToplamKarZarar = ToplamKarZarar - SonFiyat * IslemMiktari[i];
Sistem.Yon[i] = "A";
}
else if (SonPozisyon < 0)
{
IslemMiktari[i] = 2;
SonFiyat = V[i].Close;
SonPozisyon = SonPozisyon + IslemMiktari[i];
ToplamKarZarar = ToplamKarZarar - SonFiyat * IslemMiktari[i];
Sistem.Yon[i] = "A";
}
}
// SAT
else if (C[i-2] > LLV[i-2] && C[i-1] < LLV[i-2] && SonPozisyon >= 0)
{
if (SonPozisyon == 0)
{
IslemMiktari[i] = -1;
SonFiyat = V[i].Close;
SonPozisyon = SonPozisyon + IslemMiktari[i];
ToplamKarZarar = ToplamKarZarar - SonFiyat * IslemMiktari[i];
Sistem.Yon[i] = "S";
}
else if (SonPozisyon > 0)
{
IslemMiktari[i] = -2;
SonFiyat = V[i].Close;
SonPozisyon = SonPozisyon + IslemMiktari[i];
ToplamKarZarar = ToplamKarZarar - SonFiyat * IslemMiktari[i];
Sistem.Yon[i] = "S";
}
}
Pozisyon[i] = SonPozisyon;
KarZarar[i] = ToplamKarZarar + V[i].Close * Pozisyon[i];
}
Sistem.Cizgiler[0].Deger = HHV;
Sistem.Cizgiler[0].Aciklama = "HHV";
Sistem.Cizgiler[1].Deger = LLV;
Sistem.Cizgiler[1].Aciklama = "LLV";
Sistem.Cizgiler[3].Deger = IslemMiktari;
Sistem.Cizgiler[4].Deger = Pozisyon;
Sistem.Cizgiler[5].Deger = KarZarar;
Mantıken:
a1y çalışma stili mavinin altında kaldıgı her an olarak yazsam.
a2y koşullarıyla flatı ayarlasam calısırmı acaba.
a1y sadece mavinin altında oldugu zaman calısacak nihayetinde.
flat koşulu mavi yi aşağı kırınca calısacak maviyi aşağı kırmış ve yeşili yukarı kırmışsa a2y nin görevi biticek
HHVde problem yok herşey tamam
sorun surada
x1[i] =
a1[i-1] > x10[i] && a1[i] < x10[i] && a1y[i] == 1 ? 1 :
a1[i-1] > x10[i] && a1[i] < x10[i] && a1y[i] == -1 ? -1 :
a1[i-1] > x10[i] && a1[i] < x10[i] && a1y[i] == 0 ? 0 :
a1[i] > x9[i] && a1[i] > x10[i] && a2y[i] == 1 ? 1 :
a1[i] > x9[i] && a1[i] > x10[i] && a2y[i] == -1 ? -1 :
a1[i] > x9[i] && a1[i] > x10[i] && a2y[i] == 0 ? 0 :
a1[i] > x10[i] && a2y[i] == 1 ? 1 :
a1[i] > x10[i] && a2y[i] == -1 ? -1 :
a1[i] > x10[i] && a2y[i] == 0 ? 0 :
x1[i-1] ;
Erhan hocam yoğun mesai yapmışsın kolay gelsin..
Sn. Erhan merhaba.
Yapmaya çalıştığınız şeyi anlamak pek kolay değil ancak "Equity Curve Trading" (örnek makale) denen yaklaşımı uygulamaya çalıştığınızı düşünerek bir sistem yazdım:
Yukarıdaki kodda buy ve sell diye belirttiğim alanda birkaç kombinasyon denedim. Verilen sistemin getiri eğrisinin ortalaması yaklaşımını da test ettim ancak hiçbiri algoritmanın kendi getirisine yaklaşamadı.Kod:var P = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(P, "Kapanis");
var sys = Sistem.SistemGetir("DEMA5_MAV5", "VIP'VIP-X030", Sistem.Periyot);
if (sys == null) throw new ArgumentNullException("DEMA5_MAV5");
sys.GetiriHesapla("01/01/2000", 0.0f);
var sysCurve = sys.GetiriKZ;
var sysCurveHH = Sistem.HHV(50, sysCurve);
var sysCurveLL = Sistem.ListeFark(sysCurveHH, Sistem.Liste(3f));
var sysCurveAvgFast = Sistem.MA(sysCurve, "Simple", 3);
var sysCurveAvgSlow = Sistem.MA(sysCurve, "Simple", 100);
var sysCurveDiff = Sistem.ListeFark(sysCurveAvgFast, sysCurveAvgSlow);
var sysPos = "F";
var take = 3.0f;
var stop = 3.0f;
var pos = "F";
var posPx = 0f;
for (var i = 1; i < P.Count; i++)
{
var close = C[i];
if (sys.Yon[i] != "") sysPos = sys.Yon[i];
//var buy = sysCurveDiff[i] > 0 && sysPos == "A";
//var sell = sysCurveDiff[i] > 0 && sysPos == "S";
var buy = sysCurve[i] >= sysCurveLL[i] && sys.Yon[i] == "A";
var sell = sysCurve[i] >= sysCurveLL[i] && sys.Yon[i] == "S";
//var buy = sysCurve[i] >= sysCurveHH[i] && sysPos == "A";
//var sell = sysCurve[i] >= sysCurveHH[i] && sysPos == "S";
var posProfit = pos == "A" ? close - posPx : pos == "S" ? posPx - close : 0f;
var hasTakeProfit = posProfit >= take;
var hasStopLoss = posProfit <= -stop;
var flat = hasTakeProfit || hasStopLoss || sysCurve[i] <= sysCurveLL[i];
if ((pos == "A" || pos == "S") && flat) { Sistem.Yon[i] = pos = "F"; posPx = 0f; }
else if (pos != "A" && buy) { Sistem.Yon[i] = pos = "A"; posPx = close; }
else if (pos != "S" && sell) { Sistem.Yon[i] = pos = "S"; posPx = close; }
}
Sistem.GetiriHesapla("01/01/2000", 0.0f);
Sistem.Cizgiler[0].Deger = sysCurveHH;
Sistem.Cizgiler[1].Deger = sysCurve;
Sistem.Cizgiler[2].Deger = sysCurveLL;
Sistem.Cizgiler[3].Deger = Sistem.GetiriKZ;
Sistem.Cizgiler[4].Deger = Sistem.GetiriKZAy;
take, stop, HHV içinde kullandığım 50 barlık değer vs gibi parametrelerle oynayıp test edebilirsiniz. Örnek olarak kullandığım sistem "DEMA5_MAV5" zaten iDeal'in içinde olan bir sistem, dolayısıya kodun direk çalışmasını bekliyorum.
Umarım istediğiniz yaklaşıma örnek olmuştur.
kodun direk calişti kendi sistemi koydum sinyalleri çekişyor fakat mantık farklı gibi geldi.
resim çekiyorum.
hhv yi 2500 yaptım hep en tepeleri alabilsin diye.
resim aşağıda ancak çizgiye inince veya cıkınca değilde sanki başka bir şekilde alıp satmış gibi.
https://i.hizliresim.com/6XLrlk.png
ANKET-BIST 100 Endeksi'nin haftaya alıcılı bir seyirle başlaması bekleniyor
Analistlerin BIST 100 Endeksi açılış değerine ilişkin medyan
tahmin +290 olurken, ortalama tahmin 335 olarak gerçekleşti.
Foreks'in 29 aracı kurum analisti ile yaptığı ankette, en yüksek
beklenti +963 puan olurken, en düşük beklenti +120 puan olarak
gerçekleşti.
Ankete katılan analistlerin tamamı negatif açılış tahmininde
bulundu.
NOT: Foreks Haber Merkezi tarafından günlük düzenlenen BIST 100
Endeks anketine katılmak isteyen yatırım uzmanları
neslihan.koroglu@foreks.com adresine başvuru maili gönderebilir.
(14/08/2017 - 09:24:49)
Selamlar , matriksteki Most formülünün İdeal uyarlaması var mı acaba? Sanki bir ara paylaşılmıştı ama bulamadım.
Şartlı emir Stop olmak için kullanılacaksa
Alım Yaptık
Stop olmak için şartlı emrimiz SATIŞ olur
Stop fiyatımız 131,000 olsun
Fiyat = 130,900
Şart Tip = Son <= Şart fiyat
Şart Fiyatına = 131,000 yazılır veya aktif versin diye Emir Tipi = PİYASA seçilir.
-*-*-*-*-*-*-*-
Satış Yaptık
Stop olmak için şartlı emrimiz ALIŞ olur
Stop fiyatımız 133,000 olsun
Fiyat = 133,100
Şart Tip = Son >= Şart fiyat
Şart Fiyatına = 133,000 yazılır veya aktif alsın diye Emir Tipi = PİYASA seçilir.
Şartlı emir istenirse elde hiç poz. yokken yeni işleme girmek içinde kullanılabilir
Yukarı kırılırsa AL
Aşağı kırılırsa SAT
gibi.
O zaman Sart fiyati 134.000 yapar yaparsaniz piyasadan 134.000 den emir gecince "Fiyat" a hangi seviyeye alis yazdiysaniz oraya emir gonderir. Lot adedinide short adetin 2 kati girerseniz long a donmus olursunuz
SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.
Elimde 133.000 den 10 tane short oldugunu kabul edelim.
Sartli emir: 134.000
Fiyat :134.050
Adet: 20 dersem eger
Piyasa 134.000 olunca emir calisacak ve 134.050 ye ayni anda 20 tane log emri gonderecektirr
SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.
Piyasadan 134.000 den emir gecince 20 adet alis emrini 134.050 ye gonderir.
SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.
xacemi anlatmış tekrar
bu da resimli hali
http://666kb.com/i/dlu2lt0csoxoi8cfo.png
https://i.hizliresim.com/RP5mmR.png
Şimdi bu paylaştığım resim ideal cep uygulamasının şartlı emirler kısmı vadeli 133.000 de iken
1. Koşul kontrat 131.925 görürse 132.000 den 1 adet alım yapsın
2.koşul kontrat 131.900 görürse( 131.925 işlemin gerçekleştiğini teyit etmiş oldum)
132.200 den 1 adet satış yapsın(girsin)
Bunu resimdeki koşullardan hangisini seçip yapabilirim
Iki ayri emir gireceksiniz o zaman. 131.900 daha kucuk olsudugu icin once 2.kosul gerceklesecek ve 132.200 e 1 adet pasife satis gonderecek. Sonra eger 131.925 gorulurse 132.000 bine alis gonderecek ve bu emriniz %90 ihtimalle aktif alis yapmis olacak
SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.
133000 den short açtık. 134000 den long(zarar kes) ve 132000 den long(kar al) şartlı emirlerini girip, biri gerçekleşirse diğeri iptal olsun şeklinde emir girebiliyor muyuz?
Bildigim kadariyla sartli emir degil bu. Bu emir sartli emirle girilemez
SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.
:) evet cok zekice.
Aslinda cok basit ama yinede anlatmaya calisayim.
O secenekler sartli fiyatinizin ne zaman tetiklenecegini ifade ediyor
Mesela
1. Secenekte;
Tahtadaki Alis fiyati sartli emrinizden buyuk ya da esitse emri tetikle anlamindadir
Son secenekte ise;
Fiyatin alista yada satista olmasinin bi onemi yok
Sadece son fiyat sart fiyatinizdan buyuk yada kucukse diyor(bu secenek tehlikeli)
SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.
Neyse ben bear_bull dan da bir görüş alayım yanlış işlem yapmamış olurum teşekkür xacemi
Merhaba
İdealde DI Osilatörünün formulunu benim için yazabilir misiniz?
DIminus ve DI plus hazır olarak var ama spread i yani osilatörü yok ,
Çok makbule geçer, teşekkürler
Bu dusunduklerinizi bende daha once dusunmustum.
Ancak yapilmasi imkansiza yakin
Emir numaralarinin cekilmesi filan gerekiyor ancak cekilen emir numarasinin karsiligi ne bilinmiyor.
Sistem hangi emri iptal edecegi belli olmuyor diyeyim yani
Bunu nasil belirleyeceksin onu dusun.
Sarti filan yazdigini varsay araci kuruma hangi emri iptal ettirecegin belirsizlik iceriyor.
Emir numarasi atiyor emri yazdiginda diyelim 11233
Numarayi atti ee bu hangi emrin alis emrinin nosumu
Stop emrinin nosumu belli degil
Numaralar birbjrine giriyor.
Emir noyu cekmeden su emri iptal et komutu giremiyorsun.
Bosluga emri iptal et diye bir kodlama yok.
Emir numarasini yazarak emri iptal ettirebilirsiniz.
Fakat emir numarasi ise karsiligi belirsiz.
Yani 12347 numarali emir kac lot longmu shortmi
U ne belli degil
17.8.2017 14:18:58
Dizin aralık dışındaydı. Negatif bir değer olmamalı ve koleksiyonun boyutundan daha küçük olmalıdır.
Parametre adı: index
Sistem tanımlarında kaydet e basınca bu çıkıyor, ne anlama geliyor yardımcı olabilir misiniz, teşekkürler
arkadaşlar merhaba
aşagıdaki matriks formulleri
haamile boğa ve ayı formasyon formulleri galiba
bu formulleri ideal de çevirebilecek arkadaş olursa çok seviniriz
Hamile boğa
valuewhen(1,REF(O,-1)>REF(C,-1) AND C<REF(O,-1) AND O>REF(C,-1) AND H<REF(H,-1) AND L>REF(L,-1),(REF(O,-1)+REF(C,-1))/2);
valuewhen(1,REF(O,-1)>REF(C,-1) AND C<REF(O,-1) AND O>REF(C,-1) AND H<REF(H,-1) AND L>REF(L,-1),REF(L,-1))
Hamile Ayı
valuewhen(1,REF(O,-1) <REF(C,-1) AND O<REF(C,-1) AND C>REF(O,-1) AND H<REF(H,-1) AND L>REF(L,-1),(REF(O,-1)+REF(C,-1))/2);
valuewhen(1,REF(O,-1) <REF(C,-1) AND O<REF(C,-1) AND C>REF(O,-1) AND H<REF(H,-1) AND L>REF(L,-1),REF(H,-1))
Sayın erdalacıkgoz1 bende vakti zamanında çok kafa yordum o işe aracı kurumlardan emrin gerçekleşip gerçekleşmediği bilgisi geç düştüğünden ekrana sistem donguye giriyor afallıyor farkındayım bilmiyorum 1 senede ne değişti bilemiyorum olmuyordu o iş
Zaten artık aynı heyecana sahip değilim pes ettim benim anlattığım başka birşey şu an bugün test ettim 200 puan aldım al ve sat her 2 side şartlı emir ile oldu çunku nereye basacağını biliyordum tepkisinide hesap etmiştim sistem işledi bu arada izsuren karal vs. Yapabilmiş olsaydım 450-500 puan alırdım