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

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


由 linsjn 在 2016-02-13 11:01 發表:

轉折波高低點連線?

我想取轉折波的高低點.規則如下:
1.以5日均線ma(C,5)為準.
2.收盤價在5日均線上為正價群.
3.收盤價在5日均線下為負價群
4.從第1根K開始.當收盤價跌破5日均線.取之前正價群的最高點.當收盤價突破5日均線上.則取之前負價群的最低點.一直做到最後一根K.
5.畫高低點折線
請問版主程式該怎麼寫才好?


由 cgjj 在 2016-02-13 12:41 發表:

回覆: 轉折波高低點連線?

引用:
最初由 linsjn 發表
我想取轉折波的高低點.規則如下:
1.以5日均線ma(C,5)為準.
2.收盤價在5日均線上為正價群.
3.收盤價在5日均線下為負價群
4.從第1根K開始.當收盤價跌破5日均線.取之前正價群的最高點.當收盤價突破5日均線上.則取之前負價群的最低點.一直做到最後一根K.
5.畫高低點折線
請問版主程式該怎麼寫才好?



CC:C;
MA5:MA(C,5);
UD:=SGN(CC-MA5);
UD:=ref(UD,barslast(UD<>0));
CK:=UD<>Ref(UD,1) or barpos=lbound(UD);
CKSP:=barslast(CK);
MH:=HHVBARS(H,CKSP+1); ML:=LLVBARS(L,CKSP+1);
HLSP:=if(UD=1,MH,ML);
EndK:=refx(CK,1) or barpos=datacount;
PP:=SETVAL(EndK,0,-HLSP,barpos-HLSP)=barpos;
POLYLINE(PP,if(UD=1,H,L));


由 linsjn 在 2016-02-13 20:12 發表:

謝謝版主.完全吻合原意
不過第四行起可否稍微加一下註解.
否則看不懂用意.永遠學不會.謝謝.


由 cgjj 在 2016-02-13 23:24 發表:

引用:
最初由 linsjn 發表
謝謝版主.完全吻合原意
不過第四行起可否稍微加一下註解.
否則看不懂用意.永遠學不會.謝謝.



UD:=SGN(CC-MA5); //UD=1為正價群,UD=-1為負價群
UD:=ref(UD,barslast(UD<>0)); //若當根UD為零,則取前面最近非零之UD值遞補
CK:=UD<>Ref(UD,1) or barpos=lbound(UD); //若UD值有變換,或為目前為 "UD數列第一個有效元素"。CK為區間起點。
CKSP:=barslast(CK); //上一次CK成立到現在的距離
MH:=HHVBARS(H,CKSP+1); //求區間最高價之位置到現在的距離
ML:=LLVBARS(L,CKSP+1); //求區間最低價之位置到現在的距離
HLSP:=if(UD=1,MH,ML); //正價群取MH,負價群取ML
EndK:=refx(CK,1) or barpos=datacount; //EndK為區間終點
PP:=SETVAL(EndK,0,-HLSP,barpos-HLSP)=barpos; //若當前為區間終點,則向前標記該區間之高點或低點
POLYLINE(PP,if(UD=1,H,L)); //畫高低點折線


由 jery3308 在 2016-11-22 22:23 發表:

如何畫高低點折線時 順便從轉折點 標示k棒根數?

如何畫高低點折線時 順便從轉折點 標示k棒根數?如附圖


由 cgjj 在 2016-11-23 08:49 發表:

回覆: 如何畫高低點折線時 順便從轉折點 標示k棒根數?

引用:
最初由 jery3308 發表
如何畫高低點折線時 順便從轉折點 標示k棒根數?如附圖


PPSP:=barslast(PP);
DRAWNUMBER(UD=1 and PP,H,ref(PPSP,1)+1,0) pxup25 ALIGN0 coloryellow;
DRAWNUMBER(UD=-1 and PP,L,ref(PPSP,1)+1,0) pxdn5 ALIGN0 coloryellow;


由 a9681054 在 2022-05-25 16:04 發表:

版主你好

HH:H;
HH1:REF(H,1);
UD:=SGN(HH-HH1);
UD:=ref(UD,barslast(UD<>0));
CK:=UD<>Ref(UD,1) or barpos=lbound(UD);
CKSP:=barslast(CK);
MH:=HHVBARS(H,CKSP+1); ML:=LLVBARS(L,CKSP+1);
HLSP:=if(UD=1,MH,ML);
EndK:=refx(CK,1) or barpos=datacount;
PP:=SETVAL(EndK,0,-HLSP,barpos-HLSP)=barpos;
POLYLINE(PP,if(UD=1,H,L));

上述公式,開始正反轉時/當K棒遇高>前根K棒高及K棒低<前根K棒低時,負反轉折線需求想改畫至最低點 ,請教公式要如何修正?詳細問題點如附圖說明

__________________
chiu


由 cgjj 在 2022-05-25 16:27 發表:

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

HH:H;
HH1:REF(H,1);
UD:=SGN(HH-HH1);
UD:=ref(UD,barslast(UD<>0));
CK:=UD<>Ref(UD,1) or barpos=lbound(UD);
CKSP:=barslast(CK);
MH:=HHVBARS(H,CKSP+1); ML:=LLVBARS(L,CKSP+1);
HLSP:=if(UD=1,MH,ML);
EndK:=refx(CK,1) or barpos=datacount;
PP:=SETVAL(EndK,0,-HLSP,barpos-HLSP)=barpos;
POLYLINE(PP,if(UD=1,H,L));

上述公式,開始正反轉時/當K棒遇高>前根K棒高及K棒低<前根K棒低時,負反轉折線需求想改畫至最低點 ,請教公式要如何修正?詳細問題點如附圖說明



不是程式如何改的問題!!!
是您定義的轉向邏輯,其結果就是如此。
並不是程式錯誤,所以並沒有所謂的 "修正"

我無法協助您變更邏輯,邏輯請自行定義修改!
另外,麻煩一下,不同的問題另開新文章提問!


由 a9681054 在 2022-05-25 16:42 發表:

了解

__________________
chiu


由 cgjj 在 2022-05-25 16:51 發表:

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

HH:H;
HH1:REF(H,1);
UD:=SGN(HH-HH1);
UD:=ref(UD,barslast(UD<>0));
CK:=UD<>Ref(UD,1) or barpos=lbound(UD);
CKSP:=barslast(CK);
MH:=HHVBARS(H,CKSP+1); ML:=LLVBARS(L,CKSP+1);
HLSP:=if(UD=1,MH,ML);
EndK:=refx(CK,1) or barpos=datacount;
PP:=SETVAL(EndK,0,-HLSP,barpos-HLSP)=barpos;
POLYLINE(PP,if(UD=1,H,L));

上述公式,開始正反轉時/當K棒遇高>前根K棒高及K棒低<前根K棒低時,負反轉折線需求想改畫至最低點 ,請教公式要如何修正?詳細問題點如附圖說明



要提醒您~~~

算法沒有十全十美的。
小波有更小波,大波有更大波。
邏輯決定靈敏度,靈敏度決定抓到哪裡。
那樣修改,已經違背原先定義的邏輯了


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


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

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