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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [五彩K線] 求助 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=13808)


由 expexp 在 2010-06-18 12:25 發表:

[五彩K線] 求助

我想寫一個五彩K線公式:
1. 當收盤價創十天最高之收盤價,畫紅色
2. 當收盤價創十天最低之收盤價,畫藍色
3. 當筆收盤價沒有創十天最高之收盤價,
或是當筆收盤價沒有創十天最低之收盤價,則延續前面的顏色。

條件1與條件2我會寫,但是條件3就難倒我了。
懇請協助,感謝~~


由 KV1566 在 2010-06-18 21:28 發表:

回覆: [五彩K線] 求助

引用:
最初由 expexp 發表
我想寫一個五彩K線公式:
1. 當收盤價創十天最高之收盤價,畫紅色
2. 當收盤價創十天最低之收盤價,畫藍色
3. 當筆收盤價沒有創十天最高之收盤價,
或是當筆收盤價沒有創十天最低之收盤價,則延續前面的顏色。

條件1與條件2我會寫,但是條件3就難倒我了。
懇請協助,感謝~~


同門師兄弟!你先這樣擋著用吧,再看版主大大有沒有更快的方式取代!

原碼:
CC:=C; OO:=O; HH:=H; LL:=L; ck1:=CC=hhv(CC,10); ck2:=CC=llv(CC,10); ck:=c*0; if ck2[1]=1 then tmpCK:=ck2[1] else tmpCK:=ck1[1]; for i=1 to datacount do begin if ck1[i]=1 then begin ck[i]:=1; tmpCK:=1; end else if ck2[i]=1 then begin ck[i]:=0; tmpCK:=0; end else begin ck[i]:=tmpCK; end; end; stickline(ck=1,OO,CC,8,0) colorRed; stickline(ck=1,HH,LL,0,0) colorRed; stickline(ck=0,OO,CC,8,0) colorBlue; stickline(ck=0,HH,LL,0,0) colorBlue;


由 cgjj 在 2010-06-19 00:44 發表:

回覆: [五彩K線] 求助

引用:
最初由 expexp 發表
我想寫一個五彩K線公式:
1. 當收盤價創十天最高之收盤價,畫紅色
2. 當收盤價創十天最低之收盤價,畫藍色
3. 當筆收盤價沒有創十天最高之收盤價,
或是當筆收盤價沒有創十天最低之收盤價,則延續前面的顏色。

條件1與條件2我會寫,但是條件3就難倒我了。
懇請協助,感謝~~



CK:=(C>ref(HHV(C,10),1))-(C<ref(LLV(C,10),1));
CK:=ref(CK,barslast(CK<>0));
stickline(ck=1,O,C,8,0) colorRed;
stickline(ck=1,H,L,0,0) colorRed;
stickline(ck=-1,O,C,8,0) colorBlue;
stickline(ck=-1,H,L,0,0) colorBlue;


由 KV1566 在 2010-06-19 01:21 發表:

回覆: 回覆: [五彩K線] 求助

引用:
最初由 cgjj 發表
CK:=(C>ref(HHV(C,10),1))-(C<ref(LLV(C,10),1));
CK:=ref(CK,barslast(CK<>0));


感謝總版主,這個做法簡單多了,真是高明!
不過,CK:=(C>ref(HHV(C,10),1))-(C<ref(LLV(C,10),1));
與CK:=(C=HHV(C,10))-(C=LLV(C,10));
間,好像會有一點點差異?!


由 KV1566 在 2010-06-19 09:57 發表:

總版主的方式,似乎是要避掉等高或等低!
可是,我查了一下,C>ref(HHV(C,10),1),似乎並不是只有消除等高問題,有時反而變成創11日收盤新高,而不是創10日收盤新高了!

這種情況(創11日收盤新高),是因為前一天的10日收盤新高剛好是最開始的那一天,而不是以當天算起的10天內的。因為是當天往前算起第11天,所以反而變成創11日收盤新高了!

似乎,將程式中的10,改成9,這個問題就解決了!(不確定)

例子:
大盤,若用10,則2008/3/24才轉紅K。而若用9,則2008/3/21便轉紅K了!
而實際上,確實2008/3/21便已創10日收盤新高,而並不是3/24才創10日收盤新高!

另外,這個程式後半段的K線顯示,或許,改成下面這樣會比較好些,以顏色辨趨勢,以空心實心保留原本的紅黑!

原碼:
stickline(ck=1 and C>=O,O,C,6,1) colorRed; stickline(ck=1 and C<O,O,C,6,0) colorRed; stickline(ck=1,H,max(C,O),0,0) colorRed; stickline(ck=1,min(C,O),L,0,0) colorRed; stickline(ck=-1 and C>=O,O,C,6,1) colorBlue; stickline(ck=-1 and C<O,O,C,6,0) colorBlue; stickline(ck=-1,H,max(C,O),0,0) colorBlue; stickline(ck=-1,min(C,O),L,0,0) colorBlue;


由 cgjj 在 2010-06-20 01:39 發表:

回覆: 回覆: 回覆: [五彩K線] 求助

引用:
最初由 KV1566 發表
感謝總版主,這個做法簡單多了,真是高明!
不過,CK:=(C>ref(HHV(C,10),1))-(C<ref(LLV(C,10),1));
與CK:=(C=HHV(C,10))-(C=LLV(C,10));
間,好像會有一點點差異?!



收盤價創十天最高之收盤價
這句可能不同人解讀不一樣
因為當根收盤價, 不可能高過當根自己收盤價
故我的解讀為, 高過前十天之最高收盤價


由 expexp 在 2010-06-22 00:03 發表:

謝謝 KV 兄與總版主的熱心回覆 ^^


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


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

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