Kolay gelsin
Printable View
Öncelikle kırmızı ile işaretlediğim kısımlarda hata var. " : " kaldırmanız gerek. Daha sonra ise formülün tamamı olmadığı için " nFish " tanımlamasında ne var göremiyorum. Kesişim yada üstünde, altında kararını verdikten sonra al=, sat= yada alcr=, satcr= yapıp gerekli değerleri vermelisiniz. Bu hali ile yardımcı olamam. Eğer elinizde formülün bu kadarı varsa, sizin de işinize yaramaz.
ufuk hocam sizi burada görmek çok güzel. umarım her dim olursunuz. Syg.
Arkadaşlar aşağıdaki tarafa için yardımcı olacak varsa, şimdiden teşekkürler.
* bir önceki barın en yükseği ile düşüğü arasındaki fark sıfır olmasın.
Son barın en yükseği ile en düşüğü arasındaki fark, bir önceki barın en yükseği ile en düşüğü arasındaki farkın iki katı yada üstü
olsun.(negatif olsada)
*son bar bir önceki barın kapanışının üstünde olsun.
*bir önceki barın en yükseği ile düşüğü arasındaki fark sıfır ise
son barın fiyatı bir önceki barın kapanış fiyatından misal %02 yukarıda oluşsun.
Herkese selam, Ustalara bir sorum olacak, system tester ile ilgili, Matriks'e mail attım sonra görüştüm henüz çözemediklerini ilettiler. Ben Sn.uufuk ve diğer bazı ustaların çözebileceklerinden umutluyum...
Basit bir formül yazalım: AL için (mov(c,5,s)>mov(c,10,s)), SAT için tersi yani (mov(c,5,s)<mov(c,10,s))
Bunu system testerda ipeke hissesi için günlük periyodda 15.09.2017 tarihi başlangıç olarak test ettiğimizde, sis tester sonuçlarının işlemler kısmında ilk alım tarihinin 29.09.2017 olduğunu görüyoruz.
Şimdi alım ve satım formüllerimize ikinci bir seçenek ekleyelim. Seçenek olduğu için de araya "or" koyalım.
AL için: (mov(c,5,s)>mov(c,10,s)) or (mov(c,15,s)>mov(c,60,s))
SAT için: (mov(c,5,s)<mov(c,10,s)) or (mov(c,15,s)<mov(c,60,s))
Bu sistemi yine aynı hissede ve günlük periyodda 15.09.2017 başlangıç tarihli backtest yaptığımızda bu sefer ilk alım tarihinin 12.12.2017 olduğunu görüyoruz. Yani 29.09.2017 tarihinde ilk seçenek AL verdiği halde ve iki seçenek arasına OR yazıp parantezlerle ayırdığımız halde ikinci seçenek nedeniyle sistem bu tarihte AL veremiyor ve ikinci seçeneğin de hesaplanabildiği tarihi bekliyor anladığım kadarıyla. Bunu çözmek için "if"li formüller falan denedim ama yine çözemedim.
Sorumu özetlersem; ilk seçeneğin al verdiği tarihte sistem al versin aynı sistem içinde yazılmış olmakla birlikte "OR" ile ayrıldığı için ikinci seçeneğin de hesaplanabildiği tarihi beklemesin.
1111-(ref(H-L,-1)<>0)
2222-(abs(H-L) => ref(abs(H-L),-1)*2)
3333-(c>ref(c,-1))
4444-(((ref(H-L,-1)=0)*(c => ref(c,-1)*1.02))<>1)
http://i.hizliresim.com/yq465a.png
http://i.hizliresim.com/Y6bVYA.png
Matriks den çözüm isteme...
En basit kullanıcı seviyesinde cevablar alırsın!!!!!!!
Kıvrak zeka sahibi degiller....Callcenter mantıgı malesef...
Sistem ön tarihsiz çalışacak; start tarihini formüle yedireceksin...
Al
SatKod:sdate:=150917;
start1:=sdate=DAYOFMONTH()*10000+MONTH()*100+(YEAR()-2000) ;
numdays:=BarsSince(start1);
((mov(c,5,s)>mov(c,10,s)) or (mov(c,15,s)>mov(c,60,s))) and numdays>0
Kod:sdate:=150917;
start1:=sdate=DAYOFMONTH()*10000+MONTH()*100+(YEAR()-2000) ;
numdays:=BarsSince(start1);
((mov(c,5,s)<mov(c,10,s)) or (mov(c,15,s)<mov(c,60,s))) and numdays>0
Sn.UUFUK, cevabınız için teşekkür ederim, istediğim sonucu verdi...