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

奇狐社區論壇 (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=19786)


由 JayJay 在 2016-03-03 20:48 發表:

劃折線問題

請問高手:

ma10:ma(C,10) COLORMAGENTA;

overN:barslast(C<ma10);
underN:barslast(C>ma10);

underNN:=if(underN>=5,underN,0);//跌破均線有超過5根以上
overNN:=if(overN>=5,overN,0);//漲過均線有超過5根以上

lowest:partline(underNN<>0,LLV(C,underNN)) colorred; //取收盤最小值
highest:partline(overNN<>0,HHV(C,overNN)) colorgreen; //取收盤最大值

請問如何將lowest末端值 跟 highest值 劃折線連接起來


一直想破頭寫不出來

謝謝


由 cgjj 在 2016-03-03 23:49 發表:

回覆: 劃折線問題

引用:
最初由 JayJay 發表
請問高手:

ma10:ma(C,10) COLORMAGENTA;

overN:barslast(C<ma10);
underN:barslast(C>ma10);

underNN:=if(underN>=5,underN,0);//跌破均線有超過5根以上
overNN:=if(overN>=5,overN,0);//漲過均線有超過5根以上

lowest:partline(underNN<>0,LLV(C,underNN)) colorred; //取收盤最小值
highest:partline(overNN<>0,HHV(C,overNN)) colorgreen; //取收盤最大值

請問如何將lowest末端值 跟 highest值 劃折線連接起來


一直想破頭寫不出來

謝謝



這段程式並非奇狐的程式碼
非奇狐程式寫作問題,請勿在此詢問

在奇狐中
正常的程式碼,不會有以下的狀況
lowest:partline(.....

因為 partline 是畫線命令,並非算出數值
故不可能將其配給一個變數(lowest)

在此例 lowest 和 highest 這兩個變數都是無效的
根本不可能拿其來做計算


由 JayJay 在 2016-03-04 08:16 發表:

版主你好

我是用奇狐寫 造成你的困擾

或許應該改成這樣寫

ma10:ma(C,10) COLORMAGENTA;

overN:=barslast(C<ma10);
underN:=barslast(C>ma10);

underNN:=if(underN>=5,underN,0);
overNN:=if(overN>=5,overN,0);

lowest:=if(underNN<>0,LLV(C,underNN),0) colorred;
highest:=if(overNN<>0,HHV(C,overNN),0) colorgreen;

partline(underNN<>0,lowest) colorred;
partline(overNN<>0,highest) colorgreen;

請教如何將lowest末端值及 highest 末端值 用折線劃起來

如果能像在圖上一樣 折線劃在造成最高最低值的K棒收盤價

那就很棒了~~~


由 cgjj 在 2016-03-04 08:52 發表:

引用:
最初由 JayJay 發表
版主你好

我是用奇狐寫 造成你的困擾

或許應該改成這樣寫

ma10:ma(C,10) COLORMAGENTA;

overN:=barslast(C<ma10);
underN:=barslast(C>ma10);

underNN:=if(underN>=5,underN,0);
overNN:=if(overN>=5,overN,0);

lowest:=if(underNN<>0,LLV(C,underNN),0) colorred;
highest:=if(overNN<>0,HHV(C,overNN),0) colorgreen;

partline(underNN<>0,lowest) colorred;
partline(overNN<>0,highest) colorgreen;

請教如何將lowest末端值及 highest 末端值 用折線劃起來

如果能像在圖上一樣 折線劃在造成最高最低值的K棒收盤價

那就很棒了~~~



請定義何謂 "末端值"
最高最低不能用眼睛看,要有判斷的邏輯定義
否則電腦無法計算


由 JayJay 在 2016-03-04 12:41 發表:

謝謝版大的提醒


在均線以下超過5根 可以算是有效跌破 就可以有lowest值產生(收盤價創低 lowest值會移動) 直到收盤盤回到均線以上
此時會有lowest末端值 (就是最低lowest值)


同樣的

也會有highest末端值

就用連線把這兩個末端值連起來 就有折線出現

折線的端點位置如果是創低及創高K棒收盤處
那就更好了
(例如右上角的lowest 值 )


新增圖示說明

謝謝


由 cgjj 在 2016-03-04 16:36 發表:

引用:
最初由 JayJay 發表
謝謝版大的提醒


在均線以下超過5根 可以算是有效跌破 就可以有lowest值產生(收盤價創低 lowest值會移動) 直到收盤盤回到均線以上
此時會有lowest末端值 (就是最低lowest值)


同樣的

也會有highest末端值

就用連線把這兩個末端值連起來 就有折線出現

折線的端點位置如果是創低及創高K棒收盤處
那就更好了
(例如右上角的lowest 值 )


新增圖示說明

謝謝



看看是否為您要的結果
注意:本公式計算有引用未來(類似ZIG)

MA10:ma(C,10) COLORMAGENTA;
UD:=SGN(C-MA10); UD:=ref(UD,barslast(UD<>0));
CK:=UD<>ref(UD,1) or barpos=lbound(UD);
CKSP:=barslast(CK);
RCK:=(refx(CK,1) or barpos=datacount) and CKSP+1<5;
UD:=SETVAL(RCK,UD,-CKSP,0);
UD:=SETVAL(RCK,UD,0,0);
UD:=ref(UD,barslast(UD<>0));
CK:=UD<>ref(UD,1) or barpos=lbound(UD);
CKSP:=barslast(CK);
RCK:=(refx(CK,1) or barpos=datacount);
HLSP:=if(UD=1,HHVBARS(C,CKSP+1),LLVBARS(C,CKSP+1));
ZP:=SETVAL(RCK,0,-HLSP,barpos-HLSP)=barpos;
POLYLINE(ZP,if(UD,H,L));


由 JayJay 在 2016-03-04 21:47 發表:

這就是我要的折線

謝謝版大∼∼


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


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

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