Originally Posted by
cesur
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.
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
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
Sat
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
Yer İmleri