terrykuong 發表於 16-7-14 22:01

如何用程式找出買入價的上一支BAR 的低位?

我是新手,學了幾天的amibroker,有一個問題想請教一下各各大大,如係找出買入信號的上一支BAR 的低位

這個信號是用來做止損的
試過用 Ref 好像不行

chhung3 發表於 16-7-15 11:21

newSignal = ValueWhen(buysignal, Ref(L, -1), 1);

keymaker 發表於 16-7-16 23:09

terrykuong 發表於 16-7-15 16:57
不好意思,buysignal 是內建函數?

buysignal 是說您自行宣告的多方信號


例如


buysignal = cross(macd(), signal());

terrykuong 發表於 16-7-15 16:57

不好意思,buysignal 是內建函數?

terrykuong 發表於 16-7-16 13:29

試了之後解決了,原來是我不解理,CODE很有用,謝謝

aflowerofdeath 發表於 16-7-29 17:45

本帖最後由 aflowerofdeath 於 16-7-29 17:48 編輯

小弟也是新手,有同樣的問題想請教:

試過用valuewhen,可是在我回測的規則裡面,買進的規則在買進後會一直被觸發,所以valuewhen裡面的buysignal也會不斷被更新,不能指向實際買進之前的K棒。我這樣解釋好想比較難懂,附上截圖一張,上面有文字解釋。

另,我的測試原碼如下:

pds=60;
DonchianUpper =HHV(Ref(H,-1),pds);
DonchianLower = LLV(Ref(L,-1),pds);
DonchianMiddle = (DonchianUpper+DonchianLower)/2;


StopLoss = ValueWhen( Buy, Ref(L, -1), 1);
Buy = C >= DonchianUpper ;
Sell = C <= DonchianMiddle OR StopLoss ;

希望高手大大能指點一下,感謝!

keymaker 發表於 16-7-30 23:27

aflowerofdeath 發表於 16-7-29 17:45
小弟也是新手,有同樣的問題想請教:

試過用valuewhen,可是在我回測的規則裡面,買進的規則在買進後會一 ...

問題出在
Sell = C <= DonchianMiddle OR StopLoss;



keymaker 發表於 16-7-30 23:28

aflowerofdeath 發表於 16-7-29 17:45
小弟也是新手,有同樣的問題想請教:

試過用valuewhen,可是在我回測的規則裡面,買進的規則在買進後會一 ...

有幫你檢查過 ValueWhen 沒問題..


總之..改成下列即可
Sell = C <= DonchianMiddle OR C <= StopLoss; Sell=ExRem(Sell,Buy);


aflowerofdeath 發表於 16-7-31 10:04

太感謝了!
我也想過用exrem去掉訊號,可是只有想過沒試過...

看了Keymaker大的頭像,跑去再看駭客任務了 :)
頁: [1]
查看完整版本: 如何用程式找出買入價的上一支BAR 的低位?