奇狐社區論壇
在這個頁面顯示本主題全部的 4 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題] 變數的問題 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=4217)


由 canister 在 2005-11-23 11:57 發表:

問題 [問題] 變數的問題

http://www.chiefox.com.tw/bbs/showt...=&threadid=2646

引用:
【備註】
 此指令僅能用於單一數值的判斷不能應用於整個數列的判斷
 像下面的這兩行運算式是不能跑的:
IF close>open THEN kk:1000;
IF close>0 THEN kk:1000;



如果今天想要移植一個指標,
當價格創新高的時候,我將指標數值就移動到新高價的下方 1% 的位置,
如果沒有創新高的話,那指標數字就不要動,
如果價格創新低的話,那就把指標數值往下拉到新低價上方 1% 的地方

在 HTS 上面可以寫成


parameter: 尾追比例(0.01)
variable: trail(0)

if trail = 0 then
trail = close
end if

if high > trail + (尾追比例*close) then
trail = high - (尾追比例*high)
end if

if low < trail - (尾追比例*close) then
trail = low + (尾追比例*low)
end if

draw1(trail, "t")


可是現在奇狐不能用

trail:=close

這種方式來開始第一個 K 棒的數值,當然後面

trail = high - (尾追比例*high)
trail = low + (尾追比例*low)

這樣的計算也算不出來,不知道要怎麼改,才可以把原本 HTS 的程式移植過來呢?


由 cgjj 在 2005-11-23 12:13 發表:

尾追比例:=0.01;
trail:close;
trail:=if(high>trail,trail+trail*尾追比例,trail);
trail:=if(low<trail,trail-trail*尾追比例,trail);
PARTLINE(1,trail);


由 canister 在 2005-11-25 00:39 發表:

感謝 cgjj 大大的回覆,不過抱歉的是我的問題好像還是沒解決到,自己試了很久卻試不出個結果。

附圖為 HTS 以及奇狐劃出來的圖形,很顯然的並沒有成功把指標移植到奇狐。我沒有辦法讓奇狐「在未達到條件之前,就維持前一次的數值」,我試過

trail:=if(high>trail,trail+trail*尾追比例,ref(trail,1));

這種寫法,不過劃出來的好像還是照的當時的高價扣減一定比例畫一條線,而不是高價過前高就停滯不動的水平線;另外也試過用 VBS 想把比較接近 VB 寫法的 HTS 語法改一改塞進去,不過好像也改不出個所以然;所以只好上來請教各位大大是否有解,還請各位大大有空多多指點。


由 cgjj 在 2005-11-25 10:36 發表:

了解您意思了

尾追比例:=0.01;
cc:=close;
hh:=High;
ll:=Low;
Trail:c*0;
TrailN:=cc[1];
for i=lbound(trail) to ubound(trail) do begin
if hh[i]>TrailN+尾追比例*cc[i] then TrailN:=hh[i]-尾追比例*hh[i];
if ll[i]<TrailN-尾追比例*cc[i] then TrailN:=ll[i]+尾追比例*ll[i];
Trail[i]:=TrailN;
end;


全部時間均為台灣時間, 現在時間為09:10
在這個頁面顯示本主題全部的 4 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.